一、論文信息
論文名稱:Training a Helpful and Harmless Assistant withReinforcement Learning from Human Feedback?
Github:?GitHub - anthropics/hh-rlhf: Human preference data for "Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback"
作者團隊:
發(fā)表時間:2022年4月12日,比insturctgpt晚40天,比chatgpt發(fā)布早半年
模型比較:Instruct GPT、ChatGPT: 把東西很快的做出來,用戶使用,采集用戶數(shù)據(jù),再提升模型性能(快速發(fā)布、小步快跑、敏捷開發(fā));Anthropic LLM: 先考慮模型安全性,將模型做的盡可能完善以后再發(fā)布。(追求成熟且安全的模型)開發(fā)了自己的語言模型Claude,僅有內(nèi)測版本;在ChaptGPT發(fā)布5個月前就寫出了論文,技術(shù)和整個形態(tài)類似chatgpt,但沒有發(fā)布自己的模型。
名詞簡介:(本文較長,一些名詞簡介)
?二、摘要+引言
主要研究點:把對喜好的建模和RLHF用來做微調(diào)語言模型使得模型是有效且無害的。
模型功能:可以提升幾乎所有自然語言的評估性能,還可以實現(xiàn)一些額外的技能,如coding,摘要,寫作等,模型足夠大時可以學(xué)到很多種類技能。
模型更新:并且使用迭代的在線學(xué)習(xí)訓(xùn)練,每星期訓(xùn)練一個新的獎勵函數(shù)和RL策略,訓(xùn)練了新的模型以后重新進行人工標注,不斷更新。
數(shù)據(jù)標注(不完全流程):
?主要貢獻:
1)收集到一個對話的喜好數(shù)據(jù)集_多輪,(更像chatgpt,Instruct gpt為QA_單輪)
2)在多個任務(wù)上對齊了人的喜好,小模型可能會有“alignment taxes”;討論模型的有用和無害沖突(OOD拒絕回答)
3)模型更新:采用迭代式在線強化學(xué)習(xí)更新模型。
數(shù)據(jù)收集和模型訓(xùn)練流程:
?模型總體性能對比:
?X軸:可學(xué)習(xí)參數(shù)大小 ;Y軸:Elo分數(shù)(類似于比賽積分,越高越好)
藍色折線為上一代技術(shù)(上下文蒸餾),橙色為本文所用的技術(shù)RLHF,粉色為人類專家分數(shù)。520億可學(xué)習(xí)參數(shù)就可以達到人類的下限,如果在線學(xué)習(xí)可以與人類持平,不考慮有害性有可能會超越人類。
RLHF模型遷移到NLP模型的性能對比:
不同大小的模型在原始語言模型和做對齊訓(xùn)練的區(qū)別(更符合人的喜好)。 本圖探討當模型像人類喜好對齊以后其他技能(問答、選擇)有無下降。
左圖為zero-shot,模型參數(shù)小的時候(10億以內(nèi))有一定下降,但模型很大時對齊學(xué)習(xí)效果反而更好;
右圖為few-shot,每次做任務(wù)時在prompt中會給出少部分樣例學(xué)習(xí),小模型同樣要付出一些代價,但大模型不影響。?
三、數(shù)據(jù)準備
收集數(shù)據(jù)動機:簡單任務(wù)可能直接使用無監(jiān)督效果更好,復(fù)雜的任務(wù)引入人類的標注可能會有助益。
標注檢查:標注過程會隨機檢查標注者的寫作(問題提的好不好),標注過程沒有篩選一致性,專業(yè)人員與標注者判斷A好還是B好的一致性只有63%,標注如下:
?但同時在兩種數(shù)據(jù)訓(xùn)練時,模型容易分裂,目前正在逐步提升。
標注數(shù)據(jù)針對的模型有3類:
1)HHH Context-Distilled: Base模型,上下文蒸餾的語言模型,類似于chatgpt里邊的帶監(jiān)督的微調(diào),但更簡單一點,無微調(diào)。(4.4萬有效,4.2萬有害)
2)Rejection Sampling(RS): 在Base模型的基礎(chǔ)上訓(xùn)練了一個獎勵函數(shù),去判斷生成答案的質(zhì)量,每次取16個答案,用獎勵函數(shù)判斷誰最好。(5.2萬有效,2千有害)
3)RLHF-Finetuned Models: 在線學(xué)習(xí)模型,RLHF微調(diào)過的模型可以繼續(xù)微調(diào),主要使用上一星期微調(diào)的模型再微調(diào),或者把多個模型同時部署,選擇更有效的模型。(只有2.2萬的有效,考慮模型更新時間與有效性)
模型比較(Elo分數(shù)):
?贏率:A模型與B模型比較,A的贏率表示生成的結(jié)果有百分之多少的可能比B好。 假設(shè)有A、B兩個模型,都有對應(yīng)的Elo分數(shù),將A的Elo分數(shù)-B的Elo分數(shù)= deltaElo分數(shù),計算完上述公式以后得到贏率。上述公式形式類似sigmoid函數(shù),是PM分數(shù)與Elo分數(shù)的轉(zhuǎn)換。
四、模型訓(xùn)練
1、喜好模型:喜好模型(獎勵函數(shù))PM
對話里包含Prompt和Response回答,prompt = 前面的對話+用戶在當前輪問的問題,response=模型最后生成的答案,喜好模型的任務(wù)是給response打分。 從13M到52B不同模型大小都訓(xùn)練了一個PM模型。所有模型訓(xùn)練都有三階段 ? ? ?
1)預(yù)訓(xùn)練,用所有文本訓(xùn)練一個模型; ? ? ?
2)喜好模型預(yù)訓(xùn)練(PMP),在問答、百科網(wǎng)站(wikipedia)中構(gòu)造了很多對比的答案,比如“這個回答好或不好,點贊/不點贊”,不需人類標注訓(xùn)練; ? ? ?
3)使用人類反饋微調(diào)。
?喜好模型訓(xùn)練結(jié)果-參數(shù)大?。?/strong>
?左圖:X表示訓(xùn)練對,數(shù)據(jù)大小,Y表示在不同數(shù)據(jù)集上的混合精度,不同顏色線表示不同大小的模型。對同一個模型來說,隨著數(shù)據(jù)量的增長模型精度線性提升,同一數(shù)據(jù)大小,模型越大性能越好。(與instructgpt不同,它認為喜好模型訓(xùn)練比較耗時且不穩(wěn)定,應(yīng)該小一點)
右圖:當模型參數(shù)變大時,在完整數(shù)據(jù)集上的測試精度,不斷上升。
喜好模型訓(xùn)練結(jié)果-對話輪數(shù):
?左圖:X軸1-7輪,大多數(shù)對話是4輪
右圖:對話輪次與精度,對話輪次變多以后精度也會有一定的下降,下降可能是因為輪數(shù)變多,前邊的context上下文會變得更長,會造成干擾性。
喜好模型訓(xùn)練結(jié)果-是否校驗:
雖然訓(xùn)練模型時用二分類,但實際上我們更關(guān)心回歸問題,預(yù)測的分數(shù)與真實的質(zhì)量(贏率)是不是一致。
左圖:實際是算PM模型給兩個輸出的分數(shù)差,如果兩個回答分數(shù)相差1.0,就表示高的比低的70%可能好。
右圖:只算有效性(右圖)吻合的更好。
PM分數(shù)作為強化學(xué)習(xí)的獎勵信號,PM預(yù)測越準RL訓(xùn)練也會更加穩(wěn)健。?
2、RLHF(Reinforcement Learning from Human Feedback)基于人類反饋的強化學(xué)習(xí)
訓(xùn)練分兩步:
1)先訓(xùn)練喜好模型PM(獎勵函數(shù))這樣就能評估模型反饋的質(zhì)量。
2)再去訓(xùn)練RL的policy,使得它能夠生成PM模型認為分數(shù)比較高的結(jié)果。 用訓(xùn)練的喜好模型PM指導(dǎo)接下來的模型迭代,使得模型能夠輸出PM認為好的答案。
具體訓(xùn)練需要用到PPO(Proximal Policy Optimization近端策略優(yōu)化)算法:?
?目標函數(shù)有兩點:1)優(yōu)化模型輸出使得PM給的獎勵最高;2)避免模型跑太遠。 policy0是剛開始的點,上一輪模型;policy是上一輪模型往外迭代的一個模型,需要計算policy0與policy之間的KL散度(用來判斷兩個概率分布的區(qū)別),模型值越大表示兩個模型差別越大,我們希望差別不那么大。入是超參數(shù),一般DKL<100,乘超參以后值大概0.1,可能會比rPM小很多。
rPM就是喜好模型的輸出,如果有兩個答案A和B,B的分數(shù)-A的分數(shù)作為指數(shù)放進sigmoid,就表示A比B好的概率。
?3、魯棒性分析:
RLHF不那么穩(wěn)定,所以想要提升它的穩(wěn)定性。主要關(guān)注喜好模型(獎勵函數(shù))的穩(wěn)定性,一個好的喜好模型應(yīng)該與人對齊,人覺得好,喜好模型應(yīng)該給予更高的分數(shù)。如果兩個答案都比較好,PM模型區(qū)分會困難。
具體將標注數(shù)據(jù)分為兩類并分別訓(xùn)練PM模型,一類是訓(xùn)練PM模型,一類為測試PM,一塊為測試PM,在RLHF時用訓(xùn)練PM指導(dǎo)它學(xué)習(xí),RLHF學(xué)的模型使得我的模型輸出更符合你要的分數(shù),盡量優(yōu)化使得在你的模型上得到的分數(shù)更高,再去看在測試的PM上是不是新的模型得到的值也會更高,如果是這樣那表示模型在新的數(shù)據(jù)上是比較穩(wěn)健的,如果有差別則表示過度優(yōu)化。
模型更新程度與性能:
左圖:X軸是模型更新的程度,可以認為訓(xùn)練了多少數(shù)據(jù),為新模型和舊模型的KL散度。Y軸是測試PM上的分數(shù)。 當訓(xùn)練數(shù)據(jù)越來越多時,測試PM的分數(shù)也在提升,更大的模型提升也會更好。
右圖:訓(xùn)練PM的大小和模型大小一樣,對于小模型當訓(xùn)練數(shù)據(jù)越來越多時并沒有帶來PM上性能的提升。
RL調(diào)試后的模型與之前模型距離的平方跟之前的獎勵成線性關(guān)系:
π是剛開始的模型,通過RL更新的為δπ,如果將π看作向量,則可以將δ近似看作一個標量,當δ不大的時候,大概在一個比較小的δπ的區(qū)間里,可以期待整個獎勵是與δ成線性關(guān)系,δπ在比較小的區(qū)域里是跟根號DKL是成正比的關(guān)系。即在更新不遠時,根號DKL與效果是線性關(guān)系。有了這個關(guān)系之后,可以估計多好的效果需要多少的數(shù)據(jù)點。
4、有效性和無害性的沖突
過度優(yōu)化無害性:我不知道、尋求專業(yè)人員幫忙
有用和無害的數(shù)據(jù)集的PM分數(shù)不同,無害的分布更低,比較不滿意,隨著數(shù)據(jù)集增加有在慢慢提升,收斂之后也是低于有效性。
解決方法:在沒有更好的辦法以前,多采樣一些有用性數(shù)據(jù),少采樣無害性。?
5、模型更新:迭代式在線RLHF
當模型越來越好,生成的答案的評估值也會越來越好,PM在高分數(shù)的地方校驗性會變得很差,這時需要更新喜好模型:
1)每一次找到當前最好的RLHF Policy(訓(xùn)練模型),再收集一些數(shù)據(jù),重新訓(xùn)練一個新的PM,希望模型在高分數(shù)答案上分布更準。
2)新得到的數(shù)據(jù)(模型)與之前的數(shù)據(jù)(模型)混在一起重新訓(xùn)練一個模型出來。
有效性分布:藍色base模型的分數(shù),橙色通過Rejection Sampled生成的分數(shù)(有獎勵函數(shù)),灰色在線模型生成的分數(shù)。
在線學(xué)習(xí)的有效性:
?橙色基礎(chǔ)模型生成的數(shù)據(jù),藍色其中一部分來自在線更新產(chǎn)生的數(shù)據(jù),在兩個數(shù)據(jù)同時訓(xùn)練模型,結(jié)果表示在線學(xué)習(xí)生成的數(shù)據(jù)在模型更好的情況下,對比較好的答案的估計會更準一些。
如何避免特別糟糕的數(shù)據(jù)
1)限制提問范圍,白名單
2)不允許問某些問題,黑名單文章來源:http://www.zghlxwxcb.cn/news/detail-688615.html
3)OOD,收到新問題時去判斷是否在訓(xùn)練過的問題里,如果沒見過就不回答。文章來源地址http://www.zghlxwxcb.cn/news/detail-688615.html
到了這里,關(guān)于論文閱讀-Training a Helpful and Harmless Assistant withReinforcement Learning from Human Feedback的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!