精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
LLM成功不可或缺的基石:RLHF及其替代技術
userphoto

2023.10.07 上海

關注


MLNLP社區(qū)是國內外知名的機器學習與自然語言處理社區(qū),受眾覆蓋國內外NLP碩博生、高校老師以及企業(yè)研究人員。
社區(qū)的愿景是促進國內外自然語言處理,機器學習學術界、產業(yè)界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
轉載自 | 機器之心
編輯 | Panda
關于訓練大模型常用的 RLHF 技術,這篇文章幫你逐步解讀了其工作過程,還總結了一些其他替代方法。
在討論 LLM 時,我們總是會涉及一個名為「使用人類反饋的強化學習(RLHF)」的過程。RLHF 是現(xiàn)代 LLM 訓練流程中不可或缺的一部分,因為它可以將人類偏好整合到優(yōu)化圖景中,從而提升模型的有用性和安全性。
在這篇文章中,機器學習和 AI 研究者 Sebastian Raschka 將逐步解讀 RLHF 的工作過程,以幫助讀者理解其核心思想和重要性。這篇文章也會比較 ChatGPT 和 Llama 2 執(zhí)行 RLHF 的方式。
文章最后還將簡單介紹一些最近出現(xiàn)的可替代 RLHF 的技術。
本文的目錄如下:
  • 使用人類反饋的強化學習(RLHF)
  • Llama 2 中的 RLHF
  • RLHF 的替代技術

典型的 LLM 訓練流程

ChatGPT 或 Llama 2 等基于 transformer 的現(xiàn)代 LLM 的訓練流程一般分為三大步驟:
  • 預訓練;
  • 監(jiān)督式微調;
  • 對齊。
在最初的預訓練階段,模型會從海量的無標簽文本數(shù)據(jù)集中吸收知識。后續(xù)的監(jiān)督式微調階段會對這些模型進行微調,使之能更好地遵守特定指令。最后的對齊階段則是對 LLM 進行打磨,使之在響應用戶 prompt 時能給出更有用且更安全的結果。
請注意,這個訓練流程基于 OpenAI 的 InstructGPT 論文《Training language models to follow instructions with human feedback》,該論文詳述了 GPT-3 的訓練過程。人們普遍認為 ChatGPT 的訓練也使用了此種方法。后面我們還會比較一下該方法與 Meta 最新的 Llama 2 所采用的方法。
首先從最初的預訓練步驟開始吧,如下圖所示。
LLM 的預訓練步驟
預訓練通常需要使用一個超大型的文本語料庫,其中包含數(shù)十億乃至數(shù)萬億 token。預訓練階段的訓練任務很簡單直接,就是根據(jù)前文預測下一個詞。
值得強調的一點是,這種類型的預訓練讓我們可以利用大型的無標注數(shù)據(jù)集。只要我們能夠在不侵犯版權或無視創(chuàng)作者偏好的情況下使用數(shù)據(jù),我們就可以使用大型數(shù)據(jù)集,而無需人來手動標記。事實上,在這個預訓練步驟中,其「標簽」就是文本中的后一個詞,而這本身就已經是數(shù)據(jù)集的一部分了(因此,這種預訓練方法通常被稱為自監(jiān)督學習)。
接下來的步驟是監(jiān)督式微調,其過程如下圖所示。
根據(jù)指令數(shù)據(jù)對預訓練后的模型進行微調
監(jiān)督式微調階段涉及到另一輪對下一 token 的預測。但是,不同于之前的預訓練階段,模型現(xiàn)在處理的是成對的「指令 - 輸出」,如上圖所示。在這里,指令是指提供給模型的輸入(根據(jù)任務的不同,指令中有時候會帶有可選的輸入文本)。輸出則是模型給出的接近我們期望的響應。
這里給出一個具體示例,對于下面這一對「指令 - 輸出」:
指令:'Write a limerick about a pelican.'
輸出:'There once was a pelican so fine...'
模型將指令文本(Write a limerick about a pelican)作為輸入,執(zhí)行下一 token 預測獲得輸出文本(There once was a pelican so fine...)。
盡管預測下一 token 這個訓練目標是相似的,但監(jiān)督式微調使用的數(shù)據(jù)集通常比預訓練所用的小得多。這是因為它需要的是指令 - 輸出對,而不只是原始文本。為了構建這樣一個數(shù)據(jù)集,必需有一個人類(或另一個高質量 LLM)來根據(jù)給定指令寫出所需輸出 —— 創(chuàng)建這樣一個數(shù)據(jù)集非常費力。
在這個監(jiān)督式微調階段之后,還有另一個微調階段,該階段通常被稱為「對齊」步驟,其主要目標是將 LLM 與人類偏好對齊。這就是 RLHF 的用武之地。
對齊,右側圖表來自 InstructGPT 論文
下一節(jié)將深入介紹基于 RLHF 的對齊步驟。但是,如果你想對比一下其與預訓練的基礎模型和步驟 2 的監(jiān)督式微調,可以看看來自 InstructGPT 論文的上圖。
上圖比較了經過監(jiān)督式微調后的以及使用其它方法的 GPT-3 模型(1750 億參數(shù))。圖中最下方是基礎 GPT-3 模型。
可以看到,如果采用 prompt 工程設計方法,即多次查詢并選取其中的最佳響應(GPT-3 + prompting),則能獲得比基礎模型更好的表現(xiàn),這符合我們的預期。
而如果將監(jiān)督式微調用于 GPT-3 基礎模型,則還能取得甚至更優(yōu)的表現(xiàn)(GPT-3 + supervised finetuning)。
但是,這里表現(xiàn)最佳的還是使用了監(jiān)督式微調及 RLHF 的 GPT-3 模型(GPT-3 + supervised finetuning + RLHF)—— 即圖中最上面的兩條線。(注意,這里之所以有兩條線,是因為研究者實驗了兩種不同的采樣方法。)
下面將更詳細地介紹 RLHF 步驟。

使用人類反饋的強化學習(RLHF)

前一節(jié)討論了 ChatGPT 和 Llama-2-chat 等現(xiàn)代 LLM 背后的三步式訓練流程。這一節(jié)將更為詳細地描述微調階段,并重點關注 RLHF 部分。
RLHF 工作流程是通過一種監(jiān)督式的方式來對預訓練模型進行微調(前一節(jié)的第 2 步),然后再通過近端策略優(yōu)化(PPO)來對齊它(前一節(jié)的第 3 步)。
為了簡單起見,我們可將 RLHF 工作流程再分為三步:
  • RLHF 第 1 步:對預訓練模型進行監(jiān)督式微調;
  • RLHF 第 2 步:創(chuàng)建一個獎勵模型;
  • RLHF 第 3 步:通過近端策略優(yōu)化進行微調。
如下所示,RLHF 第 1 步是監(jiān)督式微調步驟,目的是創(chuàng)建用于進一步 RLHF 微調的基礎模型。
RLHF 第 1 步,圖片來自 InstructGPT 論文
在 RLHF 第 1 步,我們創(chuàng)建或采樣 prompt(比如從一個數(shù)據(jù)庫中采樣),然后讓人類編寫質量優(yōu)良的響應。然后使用這個數(shù)據(jù)集通過一種監(jiān)督式方式來微調預訓練模型。
要注意,RLHF 第 1 步類似于前一節(jié)的第 2 步,即「典型的 LLM 訓練流程」。這里再次列出它,因為這是 RLHF 不可或缺的一部分。
然后在 RLHF 第 2 步,使用經過監(jiān)督式微調的模型創(chuàng)建一個獎勵模型,如下所示。
RLHF 第 2 步,圖片來自 InstructGPT 論文
如上圖所示,用上一步中創(chuàng)建的已微調 LLM 為每個 prompt 生成 4-9 個響應。然后再讓人基于自己的偏好對這些響應進行排名。盡管這個排名過程非常耗時,但相比于創(chuàng)建用于監(jiān)督式微調的數(shù)據(jù)集,其勞動力密集程度可能要低一些。這是因為對響應進行排名多半比編寫響應更簡單。
然后基于使用這些排名構建的數(shù)據(jù)集,我們可以設計一個獎勵模型,其輸出的是用于 RLHF 第 3 步后續(xù)優(yōu)化階段的獎勵分數(shù)。這個獎勵模型通常源自之前的監(jiān)督式微調步驟創(chuàng)建的 LLM。下面將獎勵模型簡稱為 RM,將經過監(jiān)督式微調后的 LLM 簡稱為 SFT。為了將 RLHF 第 1 步的模型變成獎勵模型,需要將其輸出層(下一 token 分類層)替換成一個回歸層,其具有單個輸出節(jié)點。
RLHF 工作流程的第 3 步是使用這個獎勵模型(RM)來微調之前監(jiān)督式微調的模型(SFT),如下圖所示。
RLHF 第 3 步,圖片來自 InstructGPT 論文
在 RLHF 第 3 步,這也是最后一步,需要根據(jù) RLHF 第 2 步創(chuàng)建的 RM 的獎勵分數(shù),使用近端策略優(yōu)化(PPO)來更新 SFT 模型。
有關 PPO 的更多細節(jié)超出了本文的范圍,但感興趣的讀者可以在 InstructGPT 論文之前的這四篇論文中找到相關數(shù)學細節(jié):
(1) 《Asynchronous Methods for Deep Reinforcement Learning》引入了策略梯度方法來替代基于深度學習的強化學習中的 Q 學習。
(2) 《Proximal Policy Optimization Algorithms》提出了一種基于修改版近端策略的強化學習流程,其數(shù)據(jù)效率和可擴展性均優(yōu)于上面的基礎版策略優(yōu)化算法。
(3) 《Fine-Tuning Language Models from Human Preferences》闡釋了 PPO 的概念以及對預訓練語言模型的獎勵學習,包括 KL 正則化,以防止策略偏離自然語言太遠。
(4) 《Learning to Summarize from Human Feedback》引入了現(xiàn)在常用的 RLHF 三步流程,后來的 InstructGPT 論文也使用了該流程。

Llama 2 中的 RLHF

上一節(jié)介紹了 OpenAI 的 InstructGPT 論文中描述的 RLHF 流程。人們也普遍相信 ChatGPT 的開發(fā)中也使用了該流程。但它與 Meta AI 最新的 Llama 2 模型相比如何呢?
Meta AI 在創(chuàng)造 Llama-2-chat 模型時也使用了 RLHF。盡管如此,這兩種方法之間還是有些差異,如下圖所示。
兩種 RLHF 的差異,圖片改編自 Llama-2 論文
總結起來,Llama-2-chat 遵循與 InstructGPT 的 RLHF 第 1 步相同的基于指令數(shù)據(jù)的監(jiān)督式微調步驟。然而,在 RLHF 第 2 步,Llama-2-chat 是創(chuàng)建兩個獎勵模型,而不是一個。此外,Llama-2-chat 模型會經歷多個演進階段,獎勵模型也會根據(jù) Llama-2-chat 中涌現(xiàn)的錯誤而獲得更新。它還有一個額外的拒絕采樣步驟。
邊際損失
還有另一個區(qū)別未在上圖中給出,其涉及到生成獎勵模型時對模型響應排序的方式。在之前討論的 InstructGPT 所用的標準 RLHF PPO 中,研究者會根據(jù)自己創(chuàng)建的「k 選 2」比較方法來收集排名 4-9 的輸出響應。
舉個例子,如果一位人類標注者要對 4 個響應(A-D)進行排名,比如 A < C < D < B,這會有「4 選 2」=6 次比較。
  • A < C
  • A < D
  • A < B
  • C < D
  • C < B
  • D < B
類似地,Llama 2 的數(shù)據(jù)集基于對響應的二元比較,例如 A < B。然而,每位人類標記者在每輪標記時僅會比較 2 個響應(而不是 4-9 個響應)。
此外,Llama 2 方法的另一個不同之處是在每次二元排名時會收集一個「邊際」標簽(范圍從「優(yōu)勢顯著」到「優(yōu)勢可忽略」),這可以通過一個附加的邊際參數(shù)被用于二元排名損失(可選)以計算兩個響應之間的差距。
在訓練獎勵模型方面,InstructGPT 使用的是以下基于交叉熵的排名損失:
Llama 2 則添加了一個邊際量 m (r) 作為偏好評級的離散函數(shù),如下所示:
其中:
  • r_θ(x,y) 是對于 prompt x 和生成的響應 y 的標量分數(shù)輸出;
  • θ 是模型權重;
  • σ 是 logistic sigmoid 函數(shù),作用是把層輸出轉換為 0 到 1 之間的分數(shù);
  • y_c 是人類標注者選擇的偏好響應;
  • y_r 是人類標注者選擇的被拒響應。
舉個例子,通過 m (r) 返回一個更高的邊際量會讓偏好響應和被拒響應的獎勵之差更小,這會讓損失更大,又進一步導致梯度更大,最終導致模型在策略梯度更新過程中發(fā)生變化。
兩個獎勵模型
如前所述,Llama 2 中有兩個獎勵模型,而不是一個。一個獎勵模型基于有用性,另一個則是基于安全性。而用于模型優(yōu)化的最終獎勵函數(shù)是這兩個分數(shù)的一種線性組合。
Llama 2 的排名方法和獎勵模型創(chuàng)建,改編自 InstructGPT 論文的圖片
拒絕采樣
此外,Llama 2 的作者還采用了一種可以迭代式產生多個 RLHF 模型(從 RLHF-V1 到 RLHF-V5)的訓練流程。他們沒有僅僅依賴于之前討論的使用 PPO 方法的 RLHF,而是使用了兩種用于 RLHF 微調的算法:PPO 和拒絕采樣(rejection sampling。
在拒絕采樣中,會先抽取 K 個輸出,然后在優(yōu)化步驟選取其中獎勵最高那個用于梯度更新,如下圖所示。
Llama 2 的拒絕采樣步驟,即創(chuàng)建多個響應然后選取其中獎勵最高的那個,改編自 InstructGPT 論文的圖片
拒絕采樣的作用是在每次迭代中選取獎勵分數(shù)高的樣本。由此造成的結果是,模型可以使用獎勵更高的樣本進行微調,相比之下,PPO 每次只能基于一個樣本進行更新。
在經過監(jiān)督式微調的最初階段后,再專門使用拒絕采樣訓練模型,之后再將拒絕采樣和 PPO 組合起來。
研究者繪出了隨 RLHF 各階段的模型性能變化情況,可以看到經過 RLHF 微調的模型在安全性和有用性方面都有提升。
RLHF 確實有效,改編自 Llama 2 論文的圖片
請注意,研究者在最后一步中使用了 PPO,之前則是用拒絕采樣更新過的模型。對比圖中 RLHF-v5 (with PPO) 和 RLHF-v5 (no PPO) 的位置可以看到,如果在拒絕采樣之后的最后階段使用 PPO,模型的表現(xiàn)會更好一些。

RLHF 的替代技術

現(xiàn)在我們已經討論并定義了 RLHF 過程,這個過程相當復雜,人們可能會問這么麻煩是否值得。前文中來自 InstructGPT 和 Llama 2 論文的圖表(下面再次給出)證明 RLHF 值得這樣麻煩。
但是,有很多研究關注的重點是開發(fā)更高效的替代技術。其中最有趣的方法總結如下。
論文 1:《Constitutional AI: Harmlessness from AI Feedback》
論文地址:https://arxiv.org/abs/2212.08073
在這篇 Constitutional AI 論文中,作者提出了一種自訓練機制,其基于人類提供的規(guī)則列表。類似于之前提到的 InstructGPT 論文,這里提出的方法也使用了一種強化學習。
來自 Constitutional AI 論文
上圖中的「red teaming(紅隊)」這一術語指的是一種源于冷戰(zhàn)軍事演習的測試方法,原本是指扮演蘇聯(lián)角色的演習隊伍,用于測試美國的戰(zhàn)略和防御能力。
在 AI 研究的網絡安全語境中,紅隊現(xiàn)在描述的是這樣一個過程:外部或內部的專家模仿潛在的對手,通過模仿真實世界攻擊者的戰(zhàn)術、技術和工作流程來挑戰(zhàn)、測試并最終提升給定的相關系統(tǒng)。
論文 2:《The Wisdom of Hindsight Makes Language Models Better Instruction Followers》
論文地址:https://arxiv.org/abs/2302.05206
這篇論文用于 LLM 微調的監(jiān)督式方法實際上可以發(fā)揮出很好的效果。這里,研究者提出了一種基于重新標注的監(jiān)督式微調方法,其在 12 個 BigBench 任務上的表現(xiàn)優(yōu)于 RLHF。
這種新提出的 HIR(Hindsight Instruction Labeling)是如何工作的?簡單來說,HIR 方法包含兩個步驟:采樣和訓練。在采樣步驟,prompt 和指令被輸入到 LLM 中以收集響應。然后基于對齊分數(shù),在訓練階段適當?shù)牡胤綄χ噶钸M行重新標注。然后,使用經過重新標注的指令和原始 prompt 對 LLM 進行微調。使用這種重新標注方法,研究者可以有效地將失敗案例(LLM 的輸出與原始指令不匹配的情況)轉變成對監(jiān)督學習有用的訓練數(shù)據(jù)。
來自上述論文的方法及實驗結果比較
注意這項研究不能直接與 InstructGPT 中的 RLHF 工作進行比較,因為它似乎使用啟發(fā)式方法(「但是,由于大多數(shù)人類反饋數(shù)據(jù)都難以收集,所以我們采用了一個腳本化的反饋函數(shù)……」)不過 HIR 的事后高見方法的結果依然非常引人注目。
論文 3:《Direct Preference Optimization:Your Language Model is Secretly a Reward Model》
論文地址:https://arxiv.org/abs/2305.18290
直接偏好優(yōu)化(DPO)是一種「使用 PPO 的 RLHF」的替代技術,作者在論文中表明在 RLHF 用于擬合獎勵模型的交叉熵損失也可用于直接微調 LLM。根據(jù)他們的基準測試,使用 DPO 的效率更高,而且在響應質量方面也通常優(yōu)于 RLHF/PPO。
來自對應論文的 DPO 及其效果展示
有關這項研究的更多介紹可參看機器之心報道《RLHF 中的「RL」是必需的嗎?有人用二進制交叉熵直接微調 LLM,效果更好》
論文 4:《Reinforced Self-Training (ReST) for Language Modeling》 
論文地址:https://arxiv.org/abs/2308.08998
ReST 也是 RLHF 的一種替代方法,其能用于對齊 LLM 與人類偏好。ReST 使用一種采樣方法來創(chuàng)建一個改進版數(shù)據(jù)集,然后在質量越來越高的子集上不斷迭代訓練,從而實現(xiàn)對獎勵函數(shù)的微調。據(jù)作者描述,ReST 的效率高于標準的在線 RLHF 方法(比如使用 PPO 的 RLHF),因為其能以離線方式生成訓練數(shù)據(jù)集,但他們并未全面地比較這種方法與 InstructGPT 和 Llama 2 等中使用的標準 RLHF PPO 方法。
ReST 方法圖示
有關這項研究的更多介紹可參看機器之心報道《DeepMind 新研究:ReST 讓大模型與人類偏好對齊,比在線 RLHF 更有效》
論文 5:《RLAIF:Scaling Reinforcement Learning from Human Feedback with AI Feedback》
論文地址:https://arxiv.org/abs/2309.00267
近期的根據(jù)人工智能反饋的強化學習(RLAIF)研究表明,在 RLHF 中用于訓練獎勵模型的評分并不一定非要由人類提供,也可以使用 LLM(這里是 PaLM 2)生成。在人類評估者看來,用傳統(tǒng) RLHF 方法和 RLAIF 方法訓練的模型得到的結果都差不多。
另一個有趣的發(fā)現(xiàn)是:RLHF 和 RLAIF 模型都顯著優(yōu)于單純使用監(jiān)督式指令微調訓練的模型。
RLHF 和 RLAIF 方法以及它們的勝率比較
這項研究的結果非常有用而且很有意思,因為這基本上意味著我們可以讓 RLHF 訓練更加高效并且成本更低。但是,在有關信息內容的安全性和可信性(人類偏好研究只能部分地體現(xiàn))的定性研究中,這些 RLAIF 模型究竟表現(xiàn)如何還有待觀察。
有關這項研究的更多介紹可參看機器之心報道《RLHF vs RL「AI」F,谷歌實證:大模型訓練中人類反饋可被 AI 替代》

結語

這些替代技術是否值得投入應用實踐?這個問題還有待解答,因為目前 Llama 2 和未使用 RLHF 訓練的 Code Llama 系列模型都還沒有真正的競爭者。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
RLHF何以成LLM訓練關鍵?AI大牛盤點五款平替方案,詳解Llama 2反饋機制升級
ChatGPT以及LLM(大語言模型)的思考 | 一起用AI
深度ChatGPT(三):InstructGPT&ChatGPT-用人的反饋引導大規(guī)模語言模型變得更...
ChatGPT為什么這么強
獨家 | ChatGPT工作原理:機器人背后的模型
10人倆月搞出大模型!一年16篇頂會論文加持:市面上做得好的都沒有開源
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 故城县| 楚雄市| 呼伦贝尔市| 卢龙县| 辽阳市| 盐津县| 博白县| 宁强县| 灵宝市| 民和| 库车县| 丹江口市| 新乐市| 长垣县| 西乌| 吉安县| 新竹县| 临沭县| 奇台县| 射阳县| 澄迈县| 台东县| 镇宁| 灌云县| 龙口市| 济源市| 芒康县| 峨边| 嘉义市| 罗甸县| 平凉市| 禄劝| 鄂伦春自治旗| 巴马| 朝阳市| 麦盖提县| 祁东县| 射阳县| 阿克苏市| 澄江县| 大渡口区|