來源|TalkRL
【資料圖】
OneFlow編譯 翻譯|楊婷、徐佳渝、賈川
除了OpenAI,外界可能很少有人知道ChatGPT模型成功的真正原因,實際上,OpenAI也會對ChatGPT擁有的巨大影響力感到不可思議。這種困惑和驚喜就像工程師們解bug時獲得的意外成功:We don"t know why, but it works.
一種普遍的看法是,ChatGPT沒有任何革命性技術(shù),正如Meta 首席AI科學(xué)家Yann LeCun所說,“只是一些巧妙的技術(shù)組合而已”。當(dāng)然,聽到這話的圍觀群眾不免調(diào)侃LeCun這種同行評議是“吃不到葡萄說葡萄酸”,不過,從ChatGPT的締造者們后續(xù)的表態(tài)來看,恐怕也不會否認(rèn)他的“酸話”。
早在2022年1月,OpenAI發(fā)布了另一款GPT-3.5微調(diào)版本InstructGPT,這是ChatGPT的“兄弟模型”,如果用標(biāo)準(zhǔn)基準(zhǔn)來評估它們的原始技術(shù)能力,兩個模型之間并沒有實質(zhì)性不同。根據(jù)OpenAI科學(xué)家們的說法,ChatGPT用的微調(diào)方法稍有不同,并且添加了一些對話數(shù)據(jù),這讓ChatGPT更易上手和易用,由此產(chǎn)生了很大的正面影響。
新增的對話數(shù)據(jù)固然重要,不過,讓ChatGPT更容易推斷出用戶的意圖,產(chǎn)生質(zhì)變的根本原因是已在InstructGPT使用的“人類反饋的強化學(xué)習(xí)(RLHF)”技術(shù),OpenAI聯(lián)合創(chuàng)始人、研究科學(xué)家John Schulman認(rèn)為,RLHF才是ChatGPT的秘密武器(secret sauce)。
簡單來說,強化學(xué)習(xí)是讓研究者像訓(xùn)練狗一樣訓(xùn)練AI智能體,并為其做出的正確響應(yīng)提供獎勵,而RLHF的基本思路是,教會大型語言模型學(xué)習(xí)人類用戶真正喜歡的回答偏好來進一步調(diào)整模型的響應(yīng)。
RLHF技術(shù)背后的其中一個作者正是John Schulman,很多人不知道的是,他也是ChatGPT項目的主要負責(zé)人。
作為強化學(xué)習(xí)大牛,John在這一領(lǐng)域作出過許多重大貢獻,例如發(fā)明了TRPO算法(信賴域策略優(yōu)化,Trust Region Policy Optimization)、GAE(廣義優(yōu)勢估計,Generalized Advantage Estimation)以及TRPO的后代近端策略優(yōu)化( Proximal Policy Optimization),也稱PPO算法。值得一提的是,其博士導(dǎo)師是強化學(xué)習(xí)領(lǐng)域的開拓者Pieter Abbeel,并且也在OpenAI創(chuàng)立初期工作過一段時間。
在ChatGPT發(fā)布前一個月,John Schulman在Robin Ranjit Singh Chauhan主持的TalkRL播客節(jié)目中,詳細介紹了RLHF想法的產(chǎn)生源頭,InstructGPT以WebGPT的主要思想,并闡述了AI對齊以及對AGI實現(xiàn)的看法。從中,我們也可以看到ChatGPT技術(shù)演進的脈絡(luò)和不曾在論文中被描述的細節(jié),以及OpenAI團隊的下一步研究方向。
(以下內(nèi)容經(jīng)授權(quán)后由OneFlow編譯發(fā)布,譯文轉(zhuǎn)載請聯(lián)系OneFlow獲得授權(quán)。來源:https://www.talkrl.com/episodes/john-schulman)
1
為什么要關(guān)注RLHF
Robin Chauhan:作為深度強化學(xué)習(xí)的早期開拓者之一,你為什么去關(guān)注“人類反饋的強化學(xué)習(xí)(RLHF)”?
John Schulman:GPT-3訓(xùn)練完成后,它的智能程度讓我十分吃驚。我意識到AI領(lǐng)域的下一個前沿在于真正發(fā)揮語言模型的作用。我仍然對RL非常感興趣,但解決RL基準(zhǔn)測試并不是我們的最終目的。
要使用RL算法,必須通過獎勵函數(shù),但是獎勵函數(shù)從何而來?在RL基準(zhǔn)測試中,我們可以自己編寫?yīng)剟詈瘮?shù),但這種方法必須要在模擬環(huán)境(simulator environment)中才行得通。所以在現(xiàn)實世界用例中,我們必須要人工監(jiān)督AI的行為,以分辨好壞。所以如何定義獎勵是一件極具挑戰(zhàn)性且至關(guān)重要的問題,尤其是在任務(wù)評估難度逐漸加深的情況下。
另一方面,雖然現(xiàn)在語言模型非常聰明,但卻難以將它們用在有價值的事情上。因為它們不會按照我們的意愿去工作,只是在單純地模仿訓(xùn)練語料庫,但這也說明只要給語言模型一個正確的目標(biāo),它們就很有可能改進上述問題,也就是說,我們可以在語言模型中應(yīng)用強化學(xué)習(xí),使用人類反饋去定義獎勵。
Robin Chauhan:相比合成獎勵(synthetic reward),人工反饋是否更難,或者說這兩者之間在一定程度上大有不同?
John Schulman:使用人工反饋會遇到很多新問題。現(xiàn)在,我們必須要動態(tài)收集數(shù)據(jù)集,所以要花很多時間去建立人類偏好的數(shù)據(jù)集,相比各種算法細節(jié),數(shù)據(jù)集的質(zhì)量更加重要。另外我們還要考慮如何將任務(wù)分配給人工訓(xùn)練師等問題,如果有程序化的獎勵函數(shù),這些問題我們本不用考慮。
Robin Chauhan:人工評分員之間的差異或獎勵信號的噪音是否會造成問題?
John Schulman:實際上,噪音并不是我最擔(dān)心的問題,比較而言,我更擔(dān)心人們的慣有偏見。例如,在問題回答或模型編寫文本等設(shè)置中,人們通常更偏向于較長的答案,這會導(dǎo)致模型給出的答案日漸冗長。所以我們要注意指導(dǎo)人工評分員,讓他們獎勵簡潔的答案,如果對這一問題不加注意,可能會激勵模型的錯誤行為。
2
用RLHF實現(xiàn)指令跟隨模型InstructGPT
Robin Chauhan:2022年3月,你與Long Ouyang、Jeff Wu等人發(fā)表了論文《Training language models to follow instructions with human feedback》,你能簡要介紹下InstructGPT的主要思想嗎?
John Schulman:InstructGPT是一種經(jīng)過微調(diào)以遵循指令的語言模型。OpenAI的官網(wǎng)上有一個大文本框,在文本框中輸入內(nèi)容后點擊提交就可以完成一個指令。語言模型非常有用,只需輸入提示詞就可以使其來完成自己想做的事情。
比如你可以先在文本框中輸入問答示例,然后你提出另外一個問題,InstructGPT就可以相同的方式予以回答,人們可以讓語言模型通過提示來做一些很棒的事情。但“提示”本身也是一門藝術(shù),很難做到準(zhǔn)確無誤,模型也不一定能完美識別提示的內(nèi)涵。如果你只是采用原始模型與之對話,那么你得到的答案可能就有點不盡如人意了。
通過InstructGPT,我們發(fā)現(xiàn)要對語言模型進行一些小的改動,就可以使它們更容易使用。具體來說,我們要對它們進行訓(xùn)練,以便當(dāng)你的一段文本包含指令時,模型可以盡力按照指令進行操作。幾乎任何東西都可以作為指令。例如,指令可以是繼續(xù)聊天,對這段文本進行總結(jié),或者是提供一份銷售某個小部件公司的名單。
這就是指令跟隨模型(instruction following model),可以執(zhí)行任何你給定的指令。不過我并不是這項工作的核心貢獻者,我主要參與了強化學(xué)習(xí)基礎(chǔ)設(shè)施和完成強化學(xué)習(xí)的訓(xùn)練細節(jié)。
在這個項目中我們所做的就是:在指令跟隨設(shè)置中運行了RLHF中的整套方法論。所以我們進行了有監(jiān)督微調(diào)(supervised fine tuning),收集偏好數(shù)據(jù),訓(xùn)練了一個獎勵模型(reward model),然后根據(jù)該獎勵模型進行了強化學(xué)習(xí)。
在訓(xùn)練之初,我們使用的數(shù)據(jù)是由外包商收集的。但后來我們有了API和官網(wǎng)上的Playground(一個大文本框,可以在其中使用模型),我們就使用在Playground中收集到的指令來進行訓(xùn)練(用戶在使用之時就會收到提示:你的指令可能會用于訓(xùn)練)。這樣既可以收集偏好數(shù)據(jù),又可以進行強化學(xué)習(xí)。同時需要注意:訓(xùn)練時不能存儲prompt中的任何信息。我們有一套相當(dāng)復(fù)雜的流程來確保沒有私人信息泄露到模型中。
結(jié)果表明,這種方法非常有效。原始的語言模型通常很難按照指令執(zhí)行。但是,通過強化學(xué)習(xí)訓(xùn)練后的指令跟隨模型要好得多。如果僅從改進程度來看,那么幾乎能媲美比這大100倍的模型。這是相當(dāng)大的一個進步。
Robin Chauhan:看來你想要得到可信任的模型,這是你的標(biāo)準(zhǔn)之一嗎?
John Schulman:對于一個大型語言模型來說,真實性是重要標(biāo)準(zhǔn)之一。但是,這個模型是如何通過示例學(xué)習(xí)真實性的?難道真實性在模型內(nèi)部被表示了嗎?因為模型沒有外部參考來確認(rèn)某些東西是真實的還是虛假的,那么它如何知道什么是真實的?
某種程度上,模型內(nèi)部是有真實性表示的。我們可以將語言模型看作是對整個互聯(lián)網(wǎng)的模仿,而互聯(lián)網(wǎng)是由許多不同的人編寫的,包含各種類型的內(nèi)容,從小說到非小說,到技術(shù)文獻、笑話以及論壇帖子等。因此,該模型實際上是由所有這些編寫內(nèi)容的人組成的“合奏團”。
當(dāng)我們輸入一個prompt時,模型在內(nèi)部必須要做的就是確定prompt是由誰編寫的,并試圖以該風(fēng)格繼續(xù)生成文本。比如,如果它認(rèn)為正在閱讀的內(nèi)容是華爾街交易論壇上的東西,那么就繼續(xù)以這種風(fēng)格生成文本。但是如果它認(rèn)為正在閱讀紐約時報的內(nèi)容,它又會以不同的方式寫作。
因此,模型必須在某個地方進行計算,例如計算當(dāng)前的風(fēng)格是什么,或者正在模仿哪種較為小眾的風(fēng)格集合。至少,在進行監(jiān)督微調(diào)或完全基于人類反饋的訓(xùn)練時,我們可以縮小模型生成的文本風(fēng)格范圍,嘗試模仿訓(xùn)練集中最好的人或最好的風(fēng)格。
當(dāng)然,“最好”會有很大的差異,最終得到的內(nèi)容將取決于我們的指令。如果我們要求模型生成內(nèi)容時不要太過于有爭議,又要“企業(yè)化(corporate)”一點,那么生成的內(nèi)容也就是這樣。因此,我們至少可以將模型限定到一個特定的風(fēng)格,而不是互聯(lián)網(wǎng)上所有的風(fēng)格。
但我認(rèn)為,這里面可能還有更多的內(nèi)容。模型不僅僅是在學(xué)習(xí)文本風(fēng)格,模型內(nèi)部可能還在試圖確定一些語句是否正確。當(dāng)然,我上面所說的是關(guān)于原始預(yù)訓(xùn)練模型。我認(rèn)為“預(yù)測下一個token”的目標(biāo)會為我們提供很多信息,這將迫使模型確定語句是否正確。
對于強化學(xué)習(xí)微調(diào)而言,我認(rèn)為還會賦予模型更多的潛力去生成可信任的東西,而不是僅僅模仿某種風(fēng)格,但現(xiàn)在還很難確定模型是否在這樣做?,F(xiàn)在還是prompt在引導(dǎo)著模型去獲取互聯(lián)網(wǎng)上那些我們想要的東西,模仿我們想模仿的內(nèi)容。而我們想使InstructGPT更多地關(guān)注互聯(lián)網(wǎng)上那些更可信任的東西。
3
語言模型的泛化能力
Robin Chauhan:無論如何,我們應(yīng)該模仿出互聯(lián)網(wǎng)上最真實的一面。你能否談一下泛化,以及這種模型在分布外(out of distribution)的表現(xiàn)如何?
John Schulman:總的來說,語言模型整體上具有驚人的泛化能力。我認(rèn)為,像這些在互聯(lián)網(wǎng)上受過多元化數(shù)據(jù)訓(xùn)練的預(yù)訓(xùn)練模型,它們通常泛化得相當(dāng)好。至少對于那些在機器學(xué)習(xí)早期就接觸過這些技術(shù)的人來說,這很令人驚訝。例如,即使是用其他語言,甚至是一種相對罕見的語言提供指令,模型通常也能夠很好地遵循,即使整個訓(xùn)練過程中沒有任何數(shù)據(jù)是用該語言編寫的指令。這就是從預(yù)訓(xùn)練中延續(xù)下來的能力。
這實際是一個關(guān)于獎勵模型的問題,舉個例子:如果問題有點不同于它所接受的訓(xùn)練,比如在獎勵模型的訓(xùn)練數(shù)據(jù)中稍微偏離一點,那么會發(fā)生什么呢?
我認(rèn)為,RLHF的一個棘手問題是:對獎勵模型進行訓(xùn)練時,也就是在訓(xùn)練policy以獲得高獎勵,意味著這會利用獎勵模型中的錯誤。它最終會找到針對獎勵模型的對抗示例,但這比正常的分布外行為(out of distribution behavior)更糟糕。因此,在將獎勵模型盡可能地泛化到訓(xùn)練集之外確實存在一些挑戰(zhàn)。
當(dāng)這些類型的Agent遇到某些難題時會提醒它不知道嗎?我認(rèn)為,如果你問一個模型知識核心的問題,它會知道答案,而且它也知道自己知道答案(這里指的是Instruct類的模型)。但如果你問它關(guān)于其知識邊緣的問題,那可能回答起來會有困難,必然會出現(xiàn)不準(zhǔn)確的情況。有幾篇論文還討論過這個問題,比如Anthropic發(fā)表的Language Models, mostly know what they know,OpenAI發(fā)表的Teaching Models to Express Their Uncertainty in Words。這些語言模型以及機器學(xué)習(xí)中許多其他模型都是為了最大化可能性而進行訓(xùn)練的。
鑒于已經(jīng)訓(xùn)練過Agent始終預(yù)測輸出的分布(distribution of outputs),因此,對于語言模型,只要給定前綴,它就會預(yù)測下一個token的分布,而且通常預(yù)測的相當(dāng)準(zhǔn)確。如果它在預(yù)測某項任務(wù)有80%的概率,而且每次都是80%,那么它的正確率就為80%。
這只是訓(xùn)練目標(biāo)的結(jié)果。訓(xùn)練目標(biāo)鼓勵對模型進行校準(zhǔn),這是因為模型校準(zhǔn)可以提高不確定性估計的準(zhǔn)確性。
因此,對于單個token級別,模型肯定經(jīng)過校準(zhǔn)。問題是,模型校準(zhǔn)是否準(zhǔn)確?校準(zhǔn)后的模型是否能應(yīng)用于多個token輸出的情境中?又或是它們是否可以判斷多個token語句的正確性?
因為模型通過單個token級別進行校準(zhǔn),所以我認(rèn)為它們在不同環(huán)境中需要校準(zhǔn)的信息確實不同。這就是我認(rèn)為模型不難準(zhǔn)確表達出校準(zhǔn)信息的原因,或者至少讓模型像人一樣很好地表達不確定信息,這個問題也并非無法解決,但在實踐中,需要解決一些實際的困難。
4
AI對齊工作進入第二階段
Robin Chauhan:人們對于“AI對齊( AI alignment)”有不同的理解方式,你如何看待RLHF方面的對齊工作?
John Schulman:在我看來,AI對齊的主要目標(biāo)是讓模型通過訓(xùn)練知道人類的意圖,并在執(zhí)行任務(wù)時做出符合人類期望的行為。因此,我們需要分辨模型的能力。例如,當(dāng)我們給一個原始語言模型提出一個問題時,它可能并不知道我們希望它給出一個完美的答案。相反,它可能會假設(shè)我們只是希望得到一個符合語法和語義規(guī)則的回答。
Robin Chauhan:OpenAI的一篇博客討論了對齊序列(sequence in alignment),一共包括三個階段:第一階段是使用人類反饋訓(xùn)練AI系統(tǒng),第二階段是訓(xùn)練AI系統(tǒng)協(xié)助人類反饋,第三階段是訓(xùn)練AI系統(tǒng)進行對齊研究。所以你目前的工作主要是使用人類反饋訓(xùn)練AI系統(tǒng),那何時以及如何才能進入其他階段?
John Schulman:我現(xiàn)在正在做第二階段的工作,即訓(xùn)練AI系統(tǒng)以協(xié)助人類反饋。當(dāng)我們開始嘗試讓系統(tǒng)解決更具挑戰(zhàn)性的問題時,第二階段的工作就變得越來越重要。當(dāng)模型的性能遠低于人類水平或在某些任務(wù)上達到人類水平時,監(jiān)督它們非常容易。但是,當(dāng)模型處理的任務(wù)非常困難,需要大量不同的技術(shù)知識時,就很難提供有效的監(jiān)督信號。
為了解決這個問題,我們可以采取一些措施,比如利用兩個模型:針對某個問題,一個模型給出相應(yīng)的答案,然后另一個模型對該答案提出批評意見,指出不足之處。這樣,人們在看完批評意見后,就只需要判斷答案是否正確,批評有助于人類更準(zhǔn)確地評估答案。這一想法十分重要,我和同事們正在探索。此外,OpenAI也正在做一些工作來協(xié)助對齊研究,不過完成這項工作任重而道遠。
Robin Chauhan:Stuart Russell是OpenAI博士委員會的成員之一,我非常喜歡他的《人類兼容性(Human Compatible)》一書。他指出,標(biāo)準(zhǔn)強化學(xué)習(xí)框架通常是基于固定獎勵信號的,而這種框架存在一定的問題。針對該問題,我們需要培養(yǎng)強大的Agent,使其嘗試做我們想做的事情,同時對我們的意圖保持一種懷疑態(tài)度,因為確定的Agent會存在一定問題。你如何看待這一觀點?
John Schulman:我完全贊同Stuart Russell的觀點。首先,編寫一個簡單的獎勵函數(shù)來捕捉我們的意圖是非常困難的。我們希望Agent能夠理解我們的意圖,并以最好的方式來實現(xiàn)這些意圖,而不是盲目地追求某些極端的結(jié)果。
在構(gòu)建Agent時,我們應(yīng)該確保它們保持一種懷疑態(tài)度,以便更好地理解我們的意圖和目標(biāo)。這也可以幫助Agent更加謹(jǐn)慎地采取行動,以確保它們在實現(xiàn)目標(biāo)的同時也考慮到其他重要的因素。
Stuart Russell提出了一個很好的問題定義,即讓AI與人類共同玩一個游戲,該游戲的目標(biāo)是讓AI嘗試?yán)斫馊祟惖囊鈭D,并采取行動嘗試滿足這一意圖,同時保持一定的懷疑態(tài)度。
我認(rèn)為,如果我們開始思考如何將Russell所描述的目標(biāo)應(yīng)用到實踐中,就會發(fā)現(xiàn)實際上這與OpenAI以及其他組織正在進行的RLHF研究非常相似。我們正在努力實現(xiàn)這一目標(biāo)。
5
WebGPT的想法從何而來
Robin Chauhan:2021年,你和Nakano等人共同發(fā)表論文《WebGPT:基于人類反饋的瀏覽器輔助問答》,能解釋下WebGPT主要想解決的問題嗎?
John Schulman:在WebGPT中,我們將語言模型與網(wǎng)絡(luò)瀏覽器相連,以便從網(wǎng)絡(luò)中檢索信息。這些語言模型可以通過總結(jié)網(wǎng)絡(luò)上的相關(guān)信息來寫答案,這樣一來,如果你對時事熱點提問,或者詢問一些需要詳細科學(xué)或技術(shù)知識的問題,AI就可以在網(wǎng)絡(luò)上查找答案,并詳細引用其來源。
在文中,我們主要探討了兩個問題。首先,我們曾試圖將語言模型變成一種Agent,人們在網(wǎng)絡(luò)上編寫了很多不同類型的文本數(shù)據(jù),但關(guān)于如何實際執(zhí)行多步驟過程的數(shù)據(jù)卻很少,因此,我們不確定語言模型是否可以實際執(zhí)行某些迭代過程,我們有很多數(shù)據(jù),但這些數(shù)據(jù)基本上都和寫論文、聊天等相關(guān),這是我們在論文中探討的第一個問題。
對于這個問題,我認(rèn)為答案是肯定的。在這種情況下,我們可以讓Agent使用我們提供的工具,比如說搜索、滾動、單擊鏈接等瀏覽命令。
其次,我們還探討了信息的真實性問題,這是語言模型面臨的一大難題。雖然語言模型掌握著海量知識,但如果我們向模型中輸入錯誤的提示,它們可能會輸出很多似是而非的廢話。在語言模型領(lǐng)域,如何解決這一問題很值得研究,問題的解決與否也關(guān)系著語言模型的發(fā)展。
這個問題很有挑戰(zhàn)性,最重要的是,我們要讓模型檢索、編寫帶有引用的答案,同時要確保引用來源的可信度。這樣人們就不必再花時間去尋找模型答案的來源,他們可以直接點擊引用鏈接,查看模型答案是否可信。
在WebGPT中,我們試圖弄清楚如果我們確實給語言模型提供了靈活的Web界面,它能否在引用的幫助下如實回答問題,搞清楚這一點非常重要。人們搜索的問題五花八門,這些問題可能與科學(xué)、歷史、時事等相關(guān),人工評分員不一定具備這些問題的相關(guān)知識,但他們需要判斷細節(jié)信息,如果沒有引用,這就會成為一件難事。所以,在一定程度上,我們證明了在引用的幫助下可以在艱深領(lǐng)域內(nèi)獲得良好反饋。
Robin Chauhan:WebGPT的想法從何而來?是深思熟慮之后的結(jié)果,還是在論文發(fā)表前突然冒出來的?結(jié)果怎么樣?
John Schulman:這個想法其實由來已久。很久以前,我們在OpenAI有一個叫作World of Bits的項目(譯者注:OpenAI Universe項目的前身)。在那時,我們想要控制Web瀏覽器來執(zhí)行涉及互聯(lián)網(wǎng)的任務(wù),不過當(dāng)時還為時過早,所以這個想法擱置了幾年。
我們嘗試過完整的視覺輸入,那時的想法是給Agent輸入類似“找出大樓地址”等指示,然后Agent會通過Web、谷歌地圖等方法尋找答案,當(dāng)時我們試圖以像素的方式來完成這一切,但顯然這種方式并不好,現(xiàn)在我們可以用大型語言模型來處理這些文本信息。
我們可以從網(wǎng)頁中提取文本以獲取大部分信息,但暫時還不能與動態(tài)網(wǎng)站進行真正地交互,因為這些網(wǎng)站中有大量JavaScript和圖片等內(nèi)容,除了這些內(nèi)容之外,我們可以很順暢地瀏覽和閱讀文本。因為我們的模型足夠好,所以重新考慮將互聯(lián)網(wǎng)作為環(huán)境來使用。
另一個動機是,在開始使用GPT-3進行嘗試之后,我們注意到它在事實準(zhǔn)確性和提供的信息可靠性方面存在問題。因此,我們又開始研究如何使語言模型更具真實性。我們先進行了頭腦風(fēng)暴,最終決定嘗試使用網(wǎng)絡(luò)進行問答,查找網(wǎng)絡(luò)上的知識來協(xié)助回答問題。
該項目的原始版本實際上使用了一些常見的問答數(shù)據(jù)集,例如Trivia QA(其中包含一些基本的常識問題)。我們在該數(shù)據(jù)集上進行了一些嘗試,試圖通過給模型提供網(wǎng)絡(luò)搜索來提高模型的準(zhǔn)確性。工作開展得很順利,所以我們又轉(zhuǎn)向了長篇問答,使該項目的工作更進一步。
Robin Ranjit:看起來WebGPT想讓語言模型能訪問外部知識。問題是,你認(rèn)為哪些東西是語言模型可以知道或者允許搜索到的?哪些東西又不能讓語言模型訪問?這之間有明確的界限嗎?
John Schulman:有人提倡使用只包含語言的小型模型,我認(rèn)為這種立場有點極端;還有人建議允許使語言模型知道一切東西,但不能授權(quán)其獲得外部知識的途徑。我認(rèn)為,很難將知識、事實性知識與理解區(qū)分開來。人類記不住所有東西,但在需要用到某項知識時,我們可以去查詢。
對于特定領(lǐng)域的工作者來說,進行事實內(nèi)化是很有用的,這樣可以在需要用時快速調(diào)用,并在腦海中將其進行組合。
所以這兩種說法我都不贊同,我認(rèn)為,檢索至少對當(dāng)前事務(wù)很有用,而且我們也沒想過要使神經(jīng)網(wǎng)絡(luò)涵蓋人類所有的知識。
另一方面,人類很幸運,已經(jīng)擴大了模型。隨著吸收的事實知識越來越多,模型在推理和其他事情上也會做得越來越好。截止目前,我還沒有看到任何微型模型可以做大量檢索并保存所有權(quán)重以進行推理。
6
行為克隆、獎勵模型、強化學(xué)習(xí)和拒絕采樣
Robin Chauhan:在這個項目中,你好像使用了多個不同的數(shù)據(jù)集和不同的訓(xùn)練方法,包括行為克隆(behavior cloning)、獎勵模型(reward modeling)、強化學(xué)習(xí)(reinforcement learning)和拒絕采樣(rejection sampling)。
John Schulman:我們使用的是一種相當(dāng)標(biāo)準(zhǔn)的方法,該方法實際上是從以前的RLHF工作中改編而來的。具體流程是,首先使用監(jiān)督學(xué)習(xí)來訓(xùn)練一個模型,在這個過程中,人類演示者展示如何完成任務(wù),例如如何從觀察映射到動作。這個過程就是所謂的監(jiān)督學(xué)習(xí)或者行為克隆。
接下來,我們就會訓(xùn)練一個獎勵模型或偏好模型。它會比較兩個動作或兩條軌跡,然后決定哪一個更好。在問答的情境下,我們會比較兩個答案并判斷哪一個更好。我們使用這個模型來訓(xùn)練一個獎勵模型,該模型會給回答打分,回答的好,分就高,反之則低。
然后我們根據(jù)這個獎勵函數(shù)進行強化學(xué)習(xí)。當(dāng)然,在進行少量的強化學(xué)習(xí)之后,你可以迭代執(zhí)行最后兩個步驟。如此一來,就可以利用獎勵模型中的一些缺陷或噪聲。如果新數(shù)據(jù)分布不準(zhǔn)確,就需要重新收集更多的樣本對,并重新擬合這個偏好模型。然后再進行一輪強化學(xué)習(xí)。這就是完整的RLHF的流水線。
另外還有一個叫做拒絕采樣或者最優(yōu)端采樣(best of end sampling)的想法。一般來說,你也可以進行其他類型的搜索。當(dāng)有了獎勵模型后,你可以對一堆樣本進行重新排序,并選擇最好的做法。
Robin Chauhan:這有點像MPC(Model Predictive Control,模型預(yù)測控制)?
John Schulman:是的。這取決于我們所處的環(huán)境以及所做的事情。如果處于交互式環(huán)境中,就必須模擬環(huán)境動態(tài),這一點和MPC很像。在我們的案例中,唯一需要學(xué)習(xí)的模型是人類偏好。比如在問答環(huán)境中,我們可以輕易地對一堆操作(actions)進行采樣,其中每個操作都是一個完整的答案,并且可以將它們重新排名或搜索答案。
Robin Chauhan:就動作空間(action space)而言,它是否只是命令列表?還是說它仍然像常規(guī)生成模型一樣生成tokens?
John Schulman:我們正在生成tokens。在我們的RL任務(wù)中,每一回合都有兩個階段。首先是瀏覽階段,模型會搜索、點擊并引用相關(guān)信息。比如模型在網(wǎng)頁上看到了有用的信息,就會使用quote命令對信息進行引用。
瀏覽完成后,模型會發(fā)出結(jié)束瀏覽的命令,這都會用token來表示。但是,我們將這個過程整合到了大的RL任務(wù)中,一個大的回合(episode)包含了瀏覽網(wǎng)頁和給出答案兩個階段。
Robin Chauhan:這種方法的效果如何?
John Schulman:最開始我們不知道它是否會成功。在我們用Trivia QA做了最初的實驗后,很快就開始運行了,很明顯瀏覽部分起了作用,另外如果給模型一些可以引用的文本片段,它們就可以生成優(yōu)質(zhì)的長文本。
7
為什么不能使用外部反饋
Robin Chauhan:人工評分員的任務(wù)非常復(fù)雜,有很長的評分指南和多種類型的反饋。但是論文最后表示只有最終評級才有用。我想知道為什么模型不能使用外部反饋,是因為外部反饋太多了還是因為樣本不夠?
John Schulman:是的,這一發(fā)現(xiàn)確實讓人沮喪。在對比一組答案時,評分員的每次對比都要經(jīng)歷一個很長的過程,但是我們只會用到整個過程中的小部分信息,而這一小部分信息的對比時間可能長達半小時左右。
如果我們能提取出更多信息,了解更多他們得出答案的過程,那么可能會更好一點。所以我們收集了各種其他信息,比如不同維度給出的評分、連貫性和事實準(zhǔn)確性等。
因此,我覺得應(yīng)該還能做得更好。但不幸的是,這種看似有點愚蠢的方法其實很難超越。人們已經(jīng)嘗試了各種辦法,比如以人類反饋來代替偏好分?jǐn)?shù)。此外還有其他的事情可以做,比如可以讓模型進行批判性寫作或編輯回答。
Robin Ranjit:是的,我認(rèn)為其中一些事情也有可能實現(xiàn),而且這種收集偏好數(shù)據(jù)的方法很有效。
John Schulman:是的,我認(rèn)為這仍然是一個開放的研究領(lǐng)域。
Robin Ranjit:再談?wù)勀切┤唛L的指令吧。
John Schulman:在完成任何任務(wù)時,都需要遵循許多微妙的規(guī)則和細節(jié)。因此,在編寫指南時,我們不斷添加了更多細節(jié),比如你在這種情況下會做什么?在另一種情況下又會怎么做?然而,隨著細節(jié)的不斷增加,這些指令變得非常冗長。
不過,這個問題還是有辦法解決。DeepMind發(fā)表了相關(guān)文章,使用Sparrow將任務(wù)分解成更小的部分并進行訓(xùn)練,人們一次只關(guān)注一個部分,以便更好地理解和掌握每個部分的細節(jié)和規(guī)則。此外,研究者還訓(xùn)練了多個規(guī)則,特定的獎勵模型,以更好地捕捉任務(wù)的不同方面和細節(jié),并在最后進行合并。
8
強化學(xué)習(xí)與AGI的未來
Robin Chauhan:自從你發(fā)布TRPO和PPO算法以來,強化學(xué)習(xí)領(lǐng)域取得了哪些重要的進展?
John Schulman:在PPO算法之后,出現(xiàn)了基于價值的TD3和SAC算法,這些算法都表現(xiàn)出了相當(dāng)高的可靠性。MuZero和Efficient Zero是有效的強化學(xué)習(xí)算法,Efficient Zero的樣本效率表現(xiàn)令人印象深刻,它能夠在使用更少樣本的情況下達到很好的效果。這些算法可能在一些簡單的任務(wù)(toy task)或基準(zhǔn)測試中表現(xiàn)較好,也開始被應(yīng)用到一些實際問題中,這是非常有意思的。
近來,離線強化學(xué)習(xí)(offline RL)備受關(guān)注。我認(rèn)為,RLHF就是一種離線強化學(xué)習(xí)。因為在訓(xùn)練過程中,它使用的是預(yù)先收集的數(shù)據(jù)集和獎勵模型數(shù)據(jù)集,而無需實時與環(huán)境進行交互。
Robin Chauhan:RLHF和傳統(tǒng)的離線強化學(xué)習(xí)算法確實有些相似,但是其方法和技術(shù)有所不同。傳統(tǒng)的離線強化學(xué)習(xí)算法通常使用Off-policy算法,而基于RLHF算法通常使用On-policy算法和一種獎勵模型。這些差異是否影響了正在執(zhí)行的任務(wù)?
John Schulman:我們正在做一項類似基于模型的強化學(xué)習(xí)(model-based RL)的任務(wù),而獎勵模型就是對系統(tǒng)的未知部分的建模。我們需要考慮到人類因素的影響,而不是僅僅關(guān)注機器的輸出結(jié)果。
這項任務(wù)也類似于使用環(huán)境的動力學(xué)模型(dynamics model of the environment),并運行一些策略評估算法(policy grading algorithm)來評估模型的效果。雖然對抗機器學(xué)習(xí)模型的在線算法已經(jīng)是一種成熟的想法,但之前的研究所處的情境與現(xiàn)在已經(jīng)大不同?,F(xiàn)在我們可以利用訓(xùn)練好的預(yù)訓(xùn)練模型,只需進行一些小幅度的策略更新即可實現(xiàn)目標(biāo),而不必進行大規(guī)模的模型更改。因此,我們采用了這些在線算法,這也與我們一直在研究上下文賭博機(contextual bandit)的問題有關(guān)。
由于只有一個時間步,例如,收到一個查詢并輸出一個響應(yīng),然后該響應(yīng)會獲得獎勵。因此,在多步驟(multi-step)過程中,不能立即獲得獎勵分配。對話就是一個例子,其中涉及到多個步驟,不能在每個步驟中對其進行獎勵分配。相反,必須在對話結(jié)束后才能分配獎勵。
另外,當(dāng)模型與一些難以模擬的真實世界系統(tǒng)進行交互時,不能完全使用相同的方法來解決問題。為了提高方法的采樣效率,可能需要采用一些略有不同的方法。例如,可以訓(xùn)練一個Q函數(shù)或類似的函數(shù)來解決問題。
我們即將開始探索上述問題。然而,到目前為止,在我所關(guān)注的領(lǐng)域中,尚未發(fā)現(xiàn)需要采用該方法的情況。但據(jù)我估計,這種方法在未來會變得十分重要。
Robin Chauhan:AGI、RL及大型語言模型之間的關(guān)系是什么?它們又是如何相互配合的?
John Schulman:強化學(xué)習(xí)(RL)是訓(xùn)練人工通用智能(AGI)關(guān)鍵方法之一,它可以用來優(yōu)化Agent的行為,以達到某種目標(biāo)。在強化學(xué)習(xí)中,任何目標(biāo)通常被視為Agent行為函數(shù)的一部分。與語言模型預(yù)訓(xùn)練類似,強化學(xué)習(xí)也需要選擇一個目標(biāo)并利用大量的訓(xùn)練數(shù)據(jù)(如互聯(lián)網(wǎng)文本)來優(yōu)化Agent的行為。
此外,我們會選擇最大似然目標(biāo)函數(shù)(maximum likelihood objective)來作為Agent的訓(xùn)練目標(biāo),雖然還有其他的目標(biāo)函數(shù)可供選擇,但最大似然目標(biāo)函數(shù)是明智之選。如果真的想通過優(yōu)化Agent行為以達到特定目標(biāo),那么強化學(xué)習(xí)是最適合的框架。
Robin Chauhan:AGI是一種抽象目標(biāo)嗎?還是說我們有望在某一天看到AGI模型問世?模型問世之時,人們會驚嘆,“這是首個AGI模型”。那么,人們對該模型的評價又會如何?
John Schulman:我認(rèn)為當(dāng)AGI真正問世的時候,經(jīng)過多次試用,人們會意識到它并非完全符合我們的預(yù)期。雖然我們可能會看到很多模型在某些領(lǐng)域或某類任務(wù)上超越人類,但它們?nèi)匀淮嬖谝恍┦J胶腿觞c。例如,可能會出現(xiàn)多個自稱AGI的模型,但只有在與其交互一段時間后,人們才會發(fā)現(xiàn)它們無法完全達到AGI的水平。
Robin Chauhan:據(jù)你估計,AGI還有多久問世?
John Schulman:距AGI的問世不會太遙遠,不過過程中肯定會出現(xiàn)許多誤判。預(yù)計在未來的五年時間里,AI能夠在大多數(shù)人類目前從事的工作上表現(xiàn)得比人類更好。當(dāng)然,并非所有工作都會被AI取代,人類仍然會在某些領(lǐng)域享有控制權(quán)。因此,在未來的10到15年中,我們會見證AI逐步推進的整個過程。
相關(guān)參考鏈接
1. https://www-technologyreview-com.cdn.ampproject.org/c/s/www.technologyreview.com/2023/03/03/1069311/inside-story-oral-history-how-chatgpt-built-openai/amp/
2. WebGPT: https://arxiv.org/abs/2112.09332
3. InstructGPT:https://arxiv.org/abs/2203.02155
4. Our approach to alignment research, OpenAI 2022
5.?Training Verifiers to Solve Math Word Problems, Cobbe et al 2021
6. UC Berkeley Deep RL Bootcamp Lecture 6: Nuts and Bolts of Deep RL Experimentation, John Schulman 2017
7. Proximal Policy Optimization Algorithms, Schulman 2017
8. Optimizing Expectations: From Deep Reinforcement Learning to Stochastic Computation Graphs, Schulman 2016
其他人都在看
GPT-3/ChatGPT復(fù)現(xiàn)的經(jīng)驗教訓(xùn)
超越ChatGPT:大模型的智能極限
Jasper狂飆:AIGC現(xiàn)象級應(yīng)用的增長秘笈
適配PyTorch FX,OneFlow讓量化感知更簡單
比快更快,開源Stable Diffusion刷新作圖速度
OneEmbedding:單卡訓(xùn)練TB級推薦模型不是夢
GLM訓(xùn)練加速:性能最高提升3倍,顯存節(jié)省1/3
歡迎Star、試用OneFlow新版本:GitHub - Oneflow-Inc/oneflow: OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient. - GitHub - Oneflow-Inc/oneflow: OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.https://github.com/Oneflow-Inc/oneflow/
關(guān)鍵詞: