為什么ChatGPT非得用強(qiáng)化學(xué)習(xí),而不直接用監(jiān)督學(xué)習(xí)?原因不是那么顯而易見。在上周發(fā)布的《John Schulman:通往TruthGPT之路》一文中,OpenAI聯(lián)合創(chuàng)始人、ChatGPT主要負(fù)責(zé)人John Schulman分享了OpenAI在人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)方面的進(jìn)展,分析了監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)各自存在的挑戰(zhàn)。
(資料圖)
基于Schulman的演講內(nèi)容,以色列巴伊蘭大學(xué)教授Yoav Goldberg對(duì)強(qiáng)化學(xué)習(xí)在大型語言模型應(yīng)用必要性作了深度解讀,進(jìn)一步對(duì)比論證了監(jiān)督學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的特點(diǎn),并為未來改進(jìn)提供了思路。
Goldberg在2011年獲得本古里安大學(xué)博士學(xué)位,他也是艾倫人工智能研究所以色列分部的研究主管,他也曾在Google(紐約)研究院擔(dān)任研究科學(xué)家。他在NLP領(lǐng)域深耕十多年,在詞匯語義學(xué)、句法分析及對(duì)基于深度學(xué)習(xí)的語言處理等領(lǐng)域作出了突出貢獻(xiàn)。
(以下內(nèi)容由OneFlow編譯發(fā)布,轉(zhuǎn)載請(qǐng)聯(lián)系OneFlow獲得授權(quán)。來源:https://gist.github.com/yoavg/6bff0fecd65950898eba1bb321cfbd81)
作者|Yoav Goldberg
OneFlow編譯
翻譯|賈川、徐佳渝、楊婷
1為何使用強(qiáng)化學(xué)習(xí)?
隨著ChatGPT等大型語言模型的發(fā)布,人們對(duì)“RLHF訓(xùn)練(即基于人類反饋的強(qiáng)化學(xué)習(xí)訓(xùn)練)”的重要性進(jìn)行了諸多討論。在訓(xùn)練語言模型方面,我一度困惑于為什么強(qiáng)化學(xué)習(xí)比從演示中學(xué)習(xí)(也稱為監(jiān)督學(xué)習(xí))更好,難道從演示中學(xué)習(xí)(或根據(jù)語言模型術(shù)語中的“指令微調(diào)”,學(xué)習(xí)模仿人類寫的回答)還不夠?
我提出了一個(gè)有說服力的理論論據(jù)。不過我意識(shí)到還有另一個(gè)論點(diǎn),它不僅支持強(qiáng)化學(xué)習(xí)訓(xùn)練,而且尤其適用于ChatGPT等模型。OpenAI的John Schulman在其演講的前半部分進(jìn)行了詳細(xì)論述。本文的大部分內(nèi)容都引用了John的論點(diǎn),但增加了一些他沒有明確表述的內(nèi)容(不過我確信這些內(nèi)容都是John考慮過的)。
本文提供了大量背景知識(shí),以確保讀者可以更好地理解文章內(nèi)容。如果你想了解文章重點(diǎn),可以直接看“核心論證”部分。
2背景:監(jiān)督學(xué)習(xí)vs強(qiáng)化學(xué)習(xí)
簡(jiǎn)要地解釋一下這兩種學(xué)習(xí)場(chǎng)景,以便我們能夠達(dá)成共識(shí)。如果你已經(jīng)了解了這些內(nèi)容,可以跳過此部分。
預(yù)訓(xùn)練:在這兩種設(shè)置中,首先我們假設(shè)語言模型在大量的文本上進(jìn)行預(yù)訓(xùn)練,以預(yù)測(cè)下一個(gè)token。因此,對(duì)于每個(gè)詞序列,我們有一個(gè)模型可對(duì)潛在的下一個(gè)詞的選項(xiàng)分配概率。通過這種方式,模型會(huì)獲得語言的某種內(nèi)部表示。
經(jīng)過這一過程,模型的生成文本能力會(huì)變強(qiáng),且能夠根據(jù)給定文本前綴,生成符合自然習(xí)慣的后續(xù)文本,但它并不擅長(zhǎng)“交流”。例如,當(dāng)提示(prompted)一個(gè)問題時(shí),模型可能會(huì)回答該問題或者生成一系列附加問題,也可能會(huì)回答這是一個(gè)在......的上下文中提出的重要問題等等。
這些都是遵循自然語言文本問題的有效延續(xù)(continuation)。我們可以通過編寫輸入文本,來使模型執(zhí)行我們所希望的語言行為,該延續(xù)會(huì)解決我們的問題(也被稱之為“提示工程”),但是對(duì)于只想提出問題或指令就讓模型進(jìn)行回答的非專家用戶來說,這種交互模式并不非常方便。
如果我們希望模型能夠持續(xù)回答查詢而不是僅僅完成當(dāng)前指令,就需要對(duì)其進(jìn)行引導(dǎo),這個(gè)過程稱之為“微調(diào)”,即繼續(xù)訓(xùn)練預(yù)訓(xùn)練模型,進(jìn)而使其表現(xiàn)出我們想要的行為(有些人稱這是“對(duì)齊”模型與使用者期望行為)。
監(jiān)督訓(xùn)練:在監(jiān)督學(xué)習(xí)中(也稱為從演示中學(xué)習(xí)或“指令微調(diào)”),我們會(huì)收集一組人類編寫的文本,這些文本以問題或指令的形式出現(xiàn),并包含了期望的輸出。例如,這些文本可以是某一問題和答案,或者是像帶有人類編寫總結(jié)的summarize the following text {text}這樣的任務(wù)。
通過在相同的“給定前綴預(yù)測(cè)下一個(gè)token”的目標(biāo)上繼續(xù)訓(xùn)練模型,但這次是在指令-輸出對(duì)集合上,模型學(xué)會(huì)通過執(zhí)行指令來響應(yīng)。即模型接收到給定問題的正確輸出的演示,并學(xué)會(huì)復(fù)制輸出結(jié)果。我們希望通過這種方式將其泛化到訓(xùn)練中尚未出現(xiàn)的問題中去。
強(qiáng)化學(xué)習(xí)(RL):在強(qiáng)化學(xué)習(xí)中,我們?yōu)槟P吞峁┲噶睿⒉惶峁┤斯ぞ帉懙拇鸢?。模型需要自己生成答案。評(píng)分機(jī)制(例如人類)會(huì)讀取生成的答案,并告訴模型這些答案的質(zhì)量。模型的目標(biāo)是如何回答以獲得高分。
另一種機(jī)制是模型生成多個(gè)答案,評(píng)分機(jī)制告訴模型哪個(gè)答案最好。模型的目標(biāo)是學(xué)習(xí)生成高分的答案,而不是低分的答案。在這兩種情況下,模型通過生成答案并接收反饋來學(xué)習(xí)。(注意:許多研究人員將強(qiáng)化學(xué)習(xí)的范圍限定在基于credit分配機(jī)制的某些技術(shù)層面。于他們而言,“我們是否需要強(qiáng)化學(xué)習(xí)”的問題也許歸結(jié)為我們應(yīng)該使用該技術(shù)還是采取其他相關(guān)技術(shù)來替代。我與他們同樣好奇,但就本文目的而言,我認(rèn)為任何使用外部評(píng)分函數(shù)的方法均可視為強(qiáng)化學(xué)習(xí),無論其運(yùn)行機(jī)制如何。)
強(qiáng)化學(xué)習(xí)比監(jiān)督訓(xùn)練難得多,原因如下:首先是“credit分配”問題。語言模型生成一段token序列,且僅在序列末尾才能獲得一個(gè)分?jǐn)?shù)。由于信號(hào)很弱,我們不能確定答案哪些部分是良好的,哪些部分是糟糕的。許多有關(guān)強(qiáng)化學(xué)習(xí)的相關(guān)技術(shù)研究都在嘗試解決該問題,但在本文中我們先不談這個(gè)問題。
credit分配問題是一個(gè)活躍的研究領(lǐng)域,但已經(jīng)存在合理的解決方案。其次,我們需要一種評(píng)分機(jī)制來對(duì)答案進(jìn)行評(píng)分(或?yàn)榇鸢冈u(píng)分或比較兩個(gè)答案),而在基于語言的任務(wù)中,很難生成自動(dòng)評(píng)分機(jī)制(盡管這可能正在改變,下文會(huì)簡(jiǎn)單論述)。
因此,我們會(huì)在強(qiáng)化學(xué)習(xí)的每一步留下“人類反饋”,但這種方式成本高昂且效率低下,考慮到每個(gè)人類反饋只能給出一個(gè)相當(dāng)稀疏的信號(hào),問題會(huì)更加糟糕?;谝陨侠щy,我們?yōu)槭裁催€要使用強(qiáng)化學(xué)習(xí)呢?為什么不僅僅選擇監(jiān)督學(xué)習(xí)呢?
3多樣性論證
對(duì)于語言生成模型來說,監(jiān)督學(xué)習(xí)/指令調(diào)優(yōu)最大的問題是它們只能復(fù)制演示者給出的確切答案,但實(shí)際上,人類語言可以用多種方式傳遞相同的信息,它們都是切實(shí)可行的。如果因模型輕微偏離人類規(guī)定的文本而受到“懲罰”,可能會(huì)使模型產(chǎn)生困惑。
我們當(dāng)然可以繼續(xù)逼迫模型去學(xué)習(xí)更難學(xué)習(xí)的遣詞造句,盡管模型已經(jīng)學(xué)會(huì)了生成具有同樣意思、合法的替代性回答。因此,我們非常看好強(qiáng)化學(xué)習(xí)訓(xùn)練提供的多樣性表達(dá)??紤]到監(jiān)督學(xué)習(xí)在實(shí)踐中的良好應(yīng)用,以及訓(xùn)練強(qiáng)化學(xué)習(xí)模型所面臨的挑戰(zhàn),這是一個(gè)非常直觀的論點(diǎn),但不夠有說服力。一直以來,我并不認(rèn)為這是一個(gè)足夠核心的問題,現(xiàn)在我仍這樣想。
4理論論證
監(jiān)督學(xué)習(xí)只允許正反饋(我們向模型展示一系列問題及其正確答案),而RL允許負(fù)反饋(模型被允許生成答案并得到反饋說“這答案是不正確的”),這是我提出的第一個(gè)關(guān)于LLM領(lǐng)域的監(jiān)督學(xué)習(xí)vs強(qiáng)化學(xué)習(xí)的強(qiáng)有力論點(diǎn)。
從嚴(yán)格的學(xué)習(xí)理論的角度來看,兩者之間有很大的區(qū)別:相比正反饋,負(fù)反饋要強(qiáng)大得多。從理論論證的角度,當(dāng)模型只從演示中學(xué)習(xí)時(shí),對(duì)抗型(或粗心的)演示者(demonstrator)可以隱瞞重要例子,從而誤導(dǎo)學(xué)習(xí)者(learner)學(xué)習(xí)錯(cuò)誤的假設(shè)。
演示者控制著整個(gè)學(xué)習(xí)過程,但如果學(xué)習(xí)者能夠形成自己的假設(shè),并詢問老師(teacher)假設(shè)是否正確(例如強(qiáng)化學(xué)習(xí)設(shè)置),通過這種方式,即使是對(duì)抗性老師也無法再欺騙學(xué)習(xí)者學(xué)習(xí)錯(cuò)誤假設(shè),它必須如實(shí)告知這一假設(shè)是錯(cuò)誤的,這種方式賦予了學(xué)習(xí)者主動(dòng)性,讓學(xué)習(xí)者更加強(qiáng)大。(當(dāng)然,前提是對(duì)抗型或粗心的老師仍然遵守規(guī)則,始終提供真實(shí)答案。這是理論框架中的合理假設(shè),這一假設(shè)并不影響我們的主體觀點(diǎn):從互動(dòng)或提問中學(xué)習(xí)比從演示中學(xué)習(xí)更加強(qiáng)大)。
這是我們選擇強(qiáng)化學(xué)習(xí)的部分原因,但就通過提問訓(xùn)練大型語言模型交流方面,還有一個(gè)更加重要的額外論點(diǎn)。
5核心論證
以下是我們需要強(qiáng)化學(xué)習(xí)或類似技術(shù)的核心原因。前兩個(gè)論點(diǎn)依賴于假設(shè),例如"模型可能更難學(xué)習(xí)"或"粗心的演示者可能會(huì)混淆模型",這些假設(shè)在實(shí)踐中是否成立是未知的,
相反,下面的論點(diǎn)可以被證明是成立的。
語言模型(至少)有三種交互模式:(a)文本型(text-grounded):?為模型提供文本和說明(“總結(jié)此文本”,“基于此文本,以色列的人口是多少”,“本文中提到的化學(xué)名稱是什么”,“將此文本翻譯成西班牙語”等),讓模型基于我們提供的文本生成答案;(b)求知型(knowledge-seeking):?向模型提供問題或指導(dǎo),讓模型根據(jù)內(nèi)在知識(shí)(“流感的常見原因是什么”)提供(真實(shí))回答。(c)創(chuàng)造型(creative):?為模型提供問題或說明,然后讓模型進(jìn)行創(chuàng)造性輸出。(“寫一個(gè)關(guān)于...的故事”)
我們的論點(diǎn)是基于第二種交互模式(求知型查詢),希望在這種查詢中得到真實(shí)(自信)的答案,我們希望模型在對(duì)答案沒把握的情況下能夠如實(shí)回答“我不知道”或拒絕回答這一問題。
對(duì)于這類交互模式,由于監(jiān)督訓(xùn)練可能會(huì)讓模型撒謊,所以我們必須使用RL。核心問題是:我們希望模型根據(jù)內(nèi)部知識(shí)進(jìn)行回答,但我們并不知道模型內(nèi)部知識(shí)包含的內(nèi)容。?
在監(jiān)督訓(xùn)練中,我們給模型提供問題及正確答案,并訓(xùn)練模型復(fù)制提供的答案。這里有兩種情況:(1)模型“知道”答案。這種情況下,監(jiān)督學(xué)習(xí)能夠正確推動(dòng)模型將答案與問題相關(guān)連,并且有望讓模型執(zhí)行相似的步驟,回答將來遇到的類似問題。這是所期望的行為。(2)模型不知道答案。在這種情況下,監(jiān)督訓(xùn)練還是會(huì)促使模型給出答案。
現(xiàn)在,我們有兩種選擇。一種可能是,它會(huì)促使模型記住特定的問答對(duì)。這種做法本身并沒什么壞處,但不太高效,因?yàn)槲覀兊哪康氖亲屇P途哂蟹夯芰?,并且能回答任何問題,而不只是那些在訓(xùn)練數(shù)據(jù)中出現(xiàn)的問題。但如果我們使模型在這些情況下能做到泛化,那么實(shí)際上就是在教模型捏造答案,相當(dāng)于鼓勵(lì)模型“說謊”,這很不好。
由于我們無法確定模型知道哪些信息或不知道哪些信息,所以無法避免第二種情況,這對(duì)監(jiān)督訓(xùn)練來說是一個(gè)真實(shí)且嚴(yán)重的問題。
我們不能僅依靠監(jiān)督學(xué)習(xí)來訓(xùn)練模型生成可信任回答,還需要強(qiáng)化學(xué)習(xí)的加持。與監(jiān)督學(xué)習(xí)不同,強(qiáng)化學(xué)習(xí)不會(huì)鼓勵(lì)模型編造答案:即使模型最初確實(shí)猜對(duì)了一些答案并錯(cuò)誤地學(xué)習(xí)了“編造”行為,但長(zhǎng)遠(yuǎn)來看,模型會(huì)因編造答案的得分較低(很可能是不正確的)而學(xué)會(huì)依賴內(nèi)部知識(shí)或選擇放棄回答。
6教導(dǎo)模型放棄回答
當(dāng)模型不知道答案時(shí),我們希望它能夠放棄回答并給出“我不知道”或類似的答案。但由于我們不知道模型是否知道答案,所以這并不是一件容易的事,在監(jiān)督環(huán)境中很難做到。我們可以引導(dǎo)模型規(guī)避某些類型的問題(例如“從不回答涉及人類的問題”),并回答“我不知道”。但這不是在答案未知時(shí)放棄回答的預(yù)期行為,只是一個(gè)非常薄弱的替代方法(proxy)。
然而,這對(duì)于強(qiáng)化學(xué)習(xí)設(shè)置也具有挑戰(zhàn):模型可能從一開始就不會(huì)生成“我不知道”的答案,因此我們無法鼓勵(lì)它作出這種回答。解決這個(gè)問題的方法之一是,先進(jìn)行一些監(jiān)督訓(xùn)練,學(xué)習(xí)在某些情況下生成“我不知道”的答案,然后再進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練。
但這種方法也有弊端,即在監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)中,模型可能會(huì)過度回答“我不知道”。這是一個(gè)開放的研究問題,可以嘗試通過“定制獎(jiǎng)勵(lì)函數(shù)”來解決:將正確答案賦予非常高的分?jǐn)?shù),放棄回答的答案賦予中低分?jǐn)?shù),不正確的答案賦予強(qiáng)烈負(fù)分。當(dāng)然,想做到這一點(diǎn)也并非易事。
7模型竊取 / 蒸餾的影響
OpenAI在GPT模型的強(qiáng)化學(xué)習(xí)類型調(diào)優(yōu)(RL-type tuning)方面投入了大量精力。原因有很多,他們的部分動(dòng)機(jī)是希望通過鼓勵(lì)模型在不知道答案時(shí)放棄回答來確保準(zhǔn)確性和真實(shí)性。
最近有一種趨勢(shì),即采用其他公開可用的基礎(chǔ)語言模型,并對(duì)它們進(jìn)行訓(xùn)練,以期能夠復(fù)制GPT模型的出色行為。
這種做法類似于監(jiān)督式訓(xùn)練或指令調(diào)優(yōu):通過訓(xùn)練,模型可以準(zhǔn)確生成GPT模型的答案。這對(duì)于教模型執(zhí)行指令應(yīng)該很有效,但卻不適用于回答知識(shí)查詢類問題(案例b)。
公開可用的基礎(chǔ)模型和OpenAI模型可能具有不同的知識(shí)集,因此訓(xùn)練模型以復(fù)制GPT的答案可能會(huì)面臨與監(jiān)督學(xué)習(xí)同樣的問題,即鼓勵(lì)模型編造事實(shí),或在它知道正確答案但GPT模型不知道的情況下放棄回答。那么,解決方案是用強(qiáng)化學(xué)習(xí)對(duì)這些模型進(jìn)行訓(xùn)練,但這是否太過昂貴?
8無人類反饋的強(qiáng)化學(xué)習(xí)
長(zhǎng)期以來,使用強(qiáng)化學(xué)習(xí)訓(xùn)練生成語言任務(wù)對(duì)大多數(shù)玩家來說都不切實(shí)際:由于缺乏可靠的自動(dòng)評(píng)分指標(biāo),強(qiáng)化學(xué)習(xí)訓(xùn)練需要對(duì)每個(gè)訓(xùn)練樣本進(jìn)行人工反饋。這既耗時(shí)又昂貴,特別是對(duì)于需要查看數(shù)千到數(shù)萬甚至數(shù)十萬個(gè)示例才能學(xué)習(xí)的模型。
然而,強(qiáng)化學(xué)習(xí)訓(xùn)練現(xiàn)在變得實(shí)用了:首先,出現(xiàn)了可以從較少示例中學(xué)習(xí)的大型預(yù)訓(xùn)練語言模型。更重要的是,這些模型為強(qiáng)化學(xué)習(xí)循環(huán)(RL loop)中去掉人類參與鋪平了道路。
監(jiān)督訓(xùn)練對(duì)于文本相關(guān)的任務(wù)非常有效,而且大型模型可以很好地學(xué)習(xí)執(zhí)行一些任務(wù)。例如,讓模型確定兩個(gè)文本是否意思相同,或者一個(gè)文本是否包含另一個(gè)文本中沒有的事實(shí)(還可以將任務(wù)分解,讓模型“生成所有可從該文本回答的所有"問答對(duì)"”,然后針對(duì)每個(gè)問題詢問“在其他文本中是否有該問題的答案,答案是什么”)。
根據(jù)經(jīng)驗(yàn)來看,大型語言模型(甚至中型語言模型)可以使用監(jiān)督學(xué)習(xí)可靠地學(xué)習(xí)執(zhí)行這些任務(wù),這為我們提供了可用于強(qiáng)化學(xué)習(xí)設(shè)置的有效自動(dòng)評(píng)分機(jī)制。 我們可以使用人類提供的指令-響應(yīng)對(duì)進(jìn)行訓(xùn)練,不過,要讓模型生成自己的響應(yīng),而不是直接復(fù)制人類響應(yīng),然后用在監(jiān)督方式下進(jìn)行訓(xùn)練的專用文本對(duì)比模型(text comparison model)將模型生成的響應(yīng)與人類提供的響應(yīng)進(jìn)行比較,這樣就獲得了一種自動(dòng)打分的辦法。 ?
其他人都在看
ChatGPT成功的秘密武器
向量嵌入:AutoGPT的幻覺解法
谷歌科學(xué)家:RLHF的演進(jìn)與局限
John Schulman:通往TruthGPT之路
比快更快,開源Stable Diffusion刷新作圖速度
OneEmbedding:單卡訓(xùn)練TB級(jí)推薦模型不是夢(mèng)
GLM訓(xùn)練加速:性能最高提升3倍,顯存節(jié)省1/3
歡迎Star、試用OneFlow:github.com/Oneflow-Inc/oneflow/http://github.com/Oneflow-Inc/oneflow/
關(guān)鍵詞: