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