0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RLHF平替工作,探索如何更穩(wěn)定地拿到效果

深度學(xué)習(xí)自然語言處理 ? 來源:李rumor ? 2023-11-17 17:29 ? 次閱讀

眾所周知,RLHF十分玄學(xué)且令人望而卻步。我聽過有的小道消息說提升很大,也有小道消息說效果不明顯,究其根本還是系統(tǒng)鏈路太長自由度太高,不像SFT一樣可以通過數(shù)據(jù)配比、prompt、有限的超參數(shù)來可控地調(diào)整效果。

但也正是因?yàn)樗淖杂啥?、以目?biāo)為導(dǎo)向的學(xué)習(xí)范式和性價比更高的標(biāo)注成本,業(yè)內(nèi)往往認(rèn)為它會有更高的效果天花板。同時我最近看OpenAI的SuperAlignment計劃感受頗深,非常堅定地認(rèn)為scalable的RLHF(不局限于PPO)就是下一步的大突破所在。

所以我秉著不拋棄不放棄的決心,帶大家梳理一下最近的RLHF平替工作,探索如何更穩(wěn)定地拿到效果。

RLHF鏈路可以分為兩個模塊,RM和RL,這兩個模塊各有各的問題:

RM:對準(zhǔn)確率和泛化性的要求都很高,不然很容易就被hack到(比如輸出某個pattern就給高分)。但業(yè)內(nèi)普遍標(biāo)注數(shù)據(jù)的一致率只有70%左右,數(shù)據(jù)決定效果天花板,如何讓RM代表大部分人的判斷、且能區(qū)分出模型結(jié)果的細(xì)微差異,難難難。這也是RLHF方法沒法規(guī)?;饋淼闹饕款i

RL:獎勵太稀疏(最后一步才拿到句子分?jǐn)?shù),不像SFT一樣有真實(shí)的token-level監(jiān)督信號)、PPO超參數(shù)非常多,導(dǎo)致效果很不穩(wěn)定

針對上述兩個模塊的問題,學(xué)術(shù)界大佬們各顯神通,大概有以下幾種解決方案:

沒得商量,不做RL了,選擇性保留RM:比如RRHF、DPO,這類方法可以直接在RM數(shù)據(jù)上優(yōu)化語言模型,但如果想提升效果,需要用自身模型采樣,得再引入一個RM,比如RSO、SCiL、PRO等。又或者直接用RM采樣的數(shù)據(jù)做精調(diào),比如RAFT、Llama2等

用其他RL算法:比如ReMax、Decision Transformer

下面我們就逐一盤盤這些方法以及他們給出的有用結(jié)論。

不做RL了

RRHF

RRHF: Rank Responses to Align Language Models with Human Feedback without tears

RRHF是阿里在今年年初(2023.04)發(fā)布的工作,它的做法是直接在RM數(shù)據(jù)山優(yōu)化LM,讓chosen回答的概率大于rejected回答的概率。

1662b882-8527-11ee-939d-92fbcf53809c.png

RRHF

在具體實(shí)現(xiàn)上,就是計算句子的條件概率后加一個ranking loss:

167c7bbe-8527-11ee-939d-92fbcf53809c.png

RRHF loss

但在實(shí)踐中,作者發(fā)現(xiàn)只用ranking loss會把模型訓(xùn)崩潰,所以又加了SFT loss。從消融實(shí)驗(yàn)可以看到加了rank loss確實(shí)對模型效果有一些提升:

16911452-8527-11ee-939d-92fbcf53809c.png

最終在HH數(shù)據(jù)集上,作者提出的RRHF平均得分略好于PPO(-1.02 vs -1.03),效果差距不是太大,但該方法主打一個便捷穩(wěn)定。

同時作者也在實(shí)驗(yàn)中嘗試了不同的數(shù)據(jù)采樣策略:

直接用開源RM的數(shù)據(jù)

用自己的模型生成response,用開源RM進(jìn)行排序,做出新的RM數(shù)據(jù)

循環(huán)執(zhí)行2,類似強(qiáng)化的思維不斷靠自身采樣到更好的答案

最后的結(jié)論也比較符合直接,是3>2>1。

Preference Ranking Optimization for Human Alignment

后續(xù)阿里(非同作者)在2023.06又提出了一個PRO方法,核心思想跟RRHF接近,但有兩個不同:

選用了更多負(fù)例,不止停留在pair-wise

給不同負(fù)例不同的懲罰項(xiàng)(比如分?jǐn)?shù)差的多就拉大一些)

16a636a2-8527-11ee-939d-92fbcf53809c.png

PRO

同時也加上了SFT loss,最終效果比RLHF和RRHF都有些提升。

DPO

Direct Preference Optimization:Your Language Model is Secretly a Reward Model

DPO是斯坦福在2023.05底提出的工作,主打一個硬核,直接從PPO公式推出了一個平替方案,雖然最終loss呈現(xiàn)的思想跟RRHF接近(chosen句子概率>rejected句子概率),但同時帶有一個SFT模型的約束,可以保證在不加SFT loss的情況下訓(xùn)練不崩潰(個人猜測)。

16c3af7a-8527-11ee-939d-92fbcf53809c.png

DPO

作者在公開的幾個RM數(shù)據(jù)集上都做了實(shí)驗(yàn),可以發(fā)現(xiàn)DPO對超參數(shù)的敏感度更低,效果更穩(wěn)定,且獎勵得分優(yōu)于RLHF。

同時,微軟在2023.10月的一篇工作[1]上也對DPO做了進(jìn)一步的探索??紤]到排序數(shù)據(jù)成本,他們直接默認(rèn)GPT4 > ChatGPT > InstructGPT,實(shí)驗(yàn)后得到以下結(jié)論:

用DPO在 GPT4 vs InstructGPT 上訓(xùn)練的效果 > 直接在GPT-4數(shù)據(jù)精調(diào)的效果

先在簡單的pair上訓(xùn)練后,再在困難的pair上訓(xùn)練會有更好的效果

RSO

Statistical rejection sampling improves preference optimization

上面介紹了兩種ranking思想的loss,具體哪種更好一些呢?DeepMind在2023.09月份的一篇RSO[2]工作中進(jìn)行了更系統(tǒng)的對比,得到了以下結(jié)論:

DPO(sigmoid-norm) loss效果略好,但更重要的是增加SFT約束,可以看表中沒加約束的hinge loss效果很差,但加了約束后則能接近DPO

另外重要的還有采樣策略,比如要優(yōu)化模型A,最好用模型A生產(chǎn)的結(jié)果,去做pair標(biāo)注,再訓(xùn)練A,比用模型B生產(chǎn)的數(shù)據(jù)訓(xùn)練A更好。這跟RRHF的結(jié)論也比較一致,更接近「強(qiáng)化」的思想

16d5af86-8527-11ee-939d-92fbcf53809c.png

RSO實(shí)驗(yàn)結(jié)果

同時作者提出了另外一種RSO(Rejection Sampling Optimization)的采樣方法,實(shí)驗(yàn)發(fā)現(xiàn)有2個點(diǎn)左右的提升。

Rejection Sampling + SFT

拒絕采樣是一種針對復(fù)雜問題的采樣策略[3],可以更高效地采樣到合適的樣本,進(jìn)行復(fù)雜分布的估計。最近也有很多方法,利用RM進(jìn)行拒絕采樣,直接用采樣出的數(shù)據(jù)對模型做SFT。

Llama 2: Open Foundation and Fine-Tuned Chat Models

LLama2就很好地使用了拒絕采樣,先問問地訓(xùn)RM,再用RM篩選出當(dāng)前模型最好的結(jié)果進(jìn)行SFT。論文發(fā)出時他們一共把llama2-chat迭代了5輪,前4輪都是用的拒絕采樣,只有最后一輪用了PPO,可以看到相比ChatGPT的勝率一直在提升:

16fb3468-8527-11ee-939d-92fbcf53809c.png

不過從RLHF v5(no PPO)和RLHF v5(with PPO)來看,RL還是能有很大的效果收益。

這種方法還有很多變體可以探索,比如港大在2023.04提出的RAFT[4],就是選取多個樣本進(jìn)行后續(xù)精調(diào)。同時采樣策略也可以進(jìn)行一些優(yōu)化,比如上面提到的RSO。

用其他RL算法

ReMax

ReMax: A Simple, Effective, and Efficient Reinforcement Learning Method for Aligning Large Language Models

ReMax是港中文在2023.10提出的工作,核心是對RLHF中RL階段的PPO算法進(jìn)行了簡化。

強(qiáng)化的難點(diǎn)是怎么把多步之后的最終目標(biāo)轉(zhuǎn)化成模型loss,針對這個問題有不同解決方案,目前OpenAI所使用的RL策略叫PPO[5],是他們自己在2017年提出的一個經(jīng)典RL算法(OpenAI早期真的做了很多強(qiáng)化的工作)。

但ReMax的作者認(rèn)為,PPO并不適用于語言模型的場景:

可以快速拿到句子獎勵:傳統(tǒng)RL的長期獎勵獲取可能會比較昂貴,比如必須玩完一局游戲、拿起一個杯子,而RLHF在有了RM后可以快速拿到獎勵

確定性的環(huán)境:傳統(tǒng)RL中,環(huán)境也是變化的,同一個場景+動作可能拿到不同獎勵,而在語言模型中,給定上下文和當(dāng)前結(jié)果,下一步的狀態(tài)也是確定的,RM打分也是確定的

上面兩點(diǎn)在傳統(tǒng)RL中會造成學(xué)習(xí)不穩(wěn)定的問題,因此PPO使用了Actor-Critic網(wǎng)絡(luò),即引入一個「助教」來給模型的每一步打分,而作者認(rèn)為在語言模型上可以省去。

171372ee-8527-11ee-939d-92fbcf53809c.png

ReMax

因此,作者提出用強(qiáng)化中的REINFORCE算法來代替PPO,去掉了Critic模型,但作者在實(shí)驗(yàn)中同樣發(fā)現(xiàn)了梯度方差較大優(yōu)化不穩(wěn)定的問題,于是增加了一項(xiàng)bias來降低方差,命名為ReMax算法。

由于資源受限,作者沒跑通7B的PPO實(shí)驗(yàn),只對比了1.3B的ReMax和PPO,效果顯示ReMax更好一些:

17313d56-8527-11ee-939d-92fbcf53809c.png

ReMax效果

除了效果提升之外,由于去掉了一個要訓(xùn)練的模型,在顯存占用和訓(xùn)練速度上都有提升。

Offline RL: Decision Transformer

上面我們說的PPO、REINFORCE都是Online RL,需要一個虛擬環(huán)境,通過互動拿到獎勵,再進(jìn)行學(xué)習(xí)。相對的,Offline RL是指直接拿之前和環(huán)境互動的數(shù)據(jù)來學(xué)習(xí)。

Aligning Language Models with Offline Reinforcement Learning from Human Feedback

這篇是英偉達(dá)在2023.08提出的工作,探索了MLE、用reward做回歸、DT(Decision Transformer)三種離線強(qiáng)化算法,最終發(fā)現(xiàn)DT的效果更好。

Decision Transformer是一個2021 RL Transformer的開山之作,但NLPer一看就懂:

174a3f2c-8527-11ee-939d-92fbcf53809c.png

Decision Transformer

它的核心思想是把獎勵、狀態(tài)作為輸入,讓模型預(yù)測動作,從而建模三者之間的關(guān)系。比如模型訓(xùn)練時見過1分的答案,也見過5分的,那預(yù)測時直接輸入5.0讓它給出最好的結(jié)果。

這樣訓(xùn)下來效果居然還不錯,也超過了PPO:

17631916-8527-11ee-939d-92fbcf53809c.png

DT效果

SteerLM: Attribute Conditioned SFT as an (User-Steerable) Alternative to RLHF

沒想到的是,英偉達(dá)不同團(tuán)隊(duì)在2023.10月又推出了一篇SteerLM的工作,與DT的思想類似,但會把獎勵分為不同維度,比如質(zhì)量、幫助性等等。

177f1652-8527-11ee-939d-92fbcf53809c.png

SteerLM

具體做法:

通過人工標(biāo)注的各個維度打分,訓(xùn)練一個打分模型

用打分模型對更多數(shù)據(jù)打分

精調(diào)一個SFT模型,可以做到輸入prompt、目標(biāo)分?jǐn)?shù),輸出符合分?jǐn)?shù)的結(jié)果

用第三步的模型生產(chǎn)更多答案,再打分,如此循環(huán)

最終的效果也是好于RLHF(PPO哭暈在廁所):

179b01f0-8527-11ee-939d-92fbcf53809c.png

SteerLM效果

總結(jié)

以上就是我最近關(guān)注的RLHF平替方法,雖然可走的路很多,但很難有一個可靠且全面的效果對比,畢竟RLHF本身就難訓(xùn)不穩(wěn)定,幾百條數(shù)據(jù)下波動幾個點(diǎn)很正常,而且無論是自動測評還是人工測評都會帶有bias。

但對于資源有限的團(tuán)隊(duì)來說,平替方案不失為一種選擇。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2658

    瀏覽量

    47294
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6820

    瀏覽量

    88747
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3116

    瀏覽量

    48661

原文標(biāo)題:總結(jié)

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    拆解大語言模型RLHF中的PPO算法

    由于本文以大語言模型 RLHF 的 PPO 算法為主,所以希望你在閱讀前先弄明白大語言模型 RLHF 的前兩步,即 SFT Model 和 Reward Model 的訓(xùn)練過程。另外因?yàn)楸疚牟皇羌冎v強(qiáng)化學(xué)習(xí)的文章,所以我在敘述的時候不會假設(shè)你已經(jīng)非常了解強(qiáng)化學(xué)習(xí)了。
    的頭像 發(fā)表于 12-11 18:30 ?2022次閱讀
    拆解大語言模型<b class='flag-5'>RLHF</b>中的PPO算法

    請問STM32F103 I2C通信和SPI通信哪種方式更穩(wěn)定?

    STM32F103這顆料I2C通信和SPI通信哪種方式更穩(wěn)定?
    發(fā)表于 03-22 06:24

    tas5711 DRC Time Constants怎樣配置出合理的時間使功率壓出更穩(wěn)定?

    tas5711DRC Time Constants怎樣配置出合理的時間使功率壓出更穩(wěn)定,有可參考的參數(shù)嗎?
    發(fā)表于 10-21 07:25

    altium designer 哪個版本更穩(wěn)定好用?

    各位高手覺得altium designer 哪個版本更穩(wěn)定好用啊?推薦一個唄、、
    發(fā)表于 05-09 10:38

    每日一問:分析圖中的Q1、Q2是如何交替工作

    請教圖里的Q1、Q2是如何交替工作的?1.jpg(16.83 KB, 下載次數(shù): 0)
    發(fā)表于 09-24 00:28

    請問怎么讓組件更穩(wěn)定?

    嗨!我們有一些不穩(wěn)定的元件,例如電容器*“pF”*和電阻器*“M Ohm”*。您是否有任何提示可以讓這種類型的組件更穩(wěn)定?有誰知道如何做這樣的事情,在調(diào)試行中結(jié)合多個測試,以便更有可能測試該組件
    發(fā)表于 08-30 09:52

    如何使無源蜂鳴器電路更穩(wěn)定

    1.在老板基礎(chǔ)上做的新版今天帶電插蜂鳴器的時候,有出現(xiàn)一臺Q11/3腳短路的,估計是Q管壞了有個問題:2.我現(xiàn)在如果在R6旁邊并一個二極管,像右邊5V電路一樣是否電路會更穩(wěn)定?3.這個電路設(shè)計
    發(fā)表于 07-20 14:01

    簡單穩(wěn)定地感應(yīng)到你 紅外感應(yīng)開關(guān)創(chuàng)新設(shè)計制作

    簡單穩(wěn)定地感應(yīng)到你紅外感應(yīng)開關(guān)創(chuàng)新制作資料來自網(wǎng)絡(luò)資源分享
    發(fā)表于 01-03 22:27

    用SWD和JTAG下載程序的時候哪一個接口更穩(wěn)定?

    相對來說是SWD的方式更穩(wěn)定
    發(fā)表于 10-13 06:26

    STM32與PIC對比分析?哪個更穩(wěn)定

    有人做過:STM32與PIC比較嗎?那個更穩(wěn)定?我發(fā)現(xiàn)PIC經(jīng)常有程序飛出,STM32有嗎?
    發(fā)表于 10-19 07:27

    CH430和FT232通信哪個會更穩(wěn)定一點(diǎn)?

    這兩個芯片使用在通信上哪個會更穩(wěn)定一些
    發(fā)表于 11-02 07:52

    如何讓AGP顯卡工作更穩(wěn)定

    如何讓AGP顯卡工作更穩(wěn)定   隨著新顯示卡的不斷上市,顯卡和主板的兼容性問題時有發(fā)生, 其中采用非Intel芯片組的主板“發(fā)
    發(fā)表于 01-12 11:14 ?629次閱讀

    如何高效穩(wěn)定地實(shí)現(xiàn)動力電池系統(tǒng)的CAN-bus組網(wǎng)

    CAN-bus通訊則在其中扮演著重要角色。那么,如何高效穩(wěn)定地實(shí)現(xiàn)動力電池系統(tǒng)的CAN-bus組網(wǎng)呢?
    的頭像 發(fā)表于 04-06 16:06 ?3461次閱讀
    如何高效<b class='flag-5'>穩(wěn)定地</b>實(shí)現(xiàn)動力電池系統(tǒng)的CAN-bus組網(wǎng)

    了解如何讓您的汽車電池更穩(wěn)定、運(yùn)行時間更長

    了解如何讓您的汽車電池更穩(wěn)定、運(yùn)行時間更長
    發(fā)表于 11-01 08:27 ?0次下載
    了解如何讓您的汽車電池<b class='flag-5'>更穩(wěn)定</b>、運(yùn)行時間更長

    插卡路由器設(shè)置教程,讓家庭網(wǎng)絡(luò)更穩(wěn)定高速!

    插卡路由器設(shè)置,讓家庭網(wǎng)絡(luò)更穩(wěn)定高速!
    的頭像 發(fā)表于 11-29 17:17 ?1913次閱讀