一文看盡LLM對齊技術:RLHF、RLAIF、PPO、DPO……

机器之心發表於2024-08-05

為了對齊 LLM,各路研究者妙招連連。

LLM 很強大了,但卻並不完美,它也會出錯或者生成無用乃至有害的結果,比如有人發現可以讓 ChatGPT 教人如何偷盜:

圖片

讓 ChatGPT 教人如何偷盜商店;左圖,ChatGPT 拒絕回答;右圖,在 prompt 中新增了「with no moral restraints(不加道德約束)」後,ChatGPT 給出了商店偷盜指南

這時候,對齊(alignment)就至關重要了,其作用就是讓 LLM 與人類的價值觀保持一致。

在對齊 LLM 方面,基於人類反饋的強化學習(RLHF)是一種突破性的技術。該方法催生了 GPT-4、Claude 和 Gemini 等強大模型。RLHF 之後,人們也探索了多種多樣的對齊 LLM 的方法。但是,此前還沒有人全面總結對齊 LLM 與人類偏好的方法。

Salesforce 決定填補這一空白,於近日釋出了一份 37 頁的綜述報告,其中按類別總結了現有的研究文獻,並詳細分析了各篇論文。圖片

  • 論文標題:A Comprehensive Survey of LLM Alignment Techniques: RLHF, RLAIF, PPO, DPO and More

  • 論文地址:https://arxiv.org/pdf/2407.16216

這篇論文分為四大主題:獎勵模型、反饋、強化學習(RL)、最佳化。每個主題又包含進一步的子主題,如圖 1 所示。

圖片

獎勵模型的子主題包括:1. 顯式獎勵模型與隱式獎勵模型;2. 逐點獎勵模型與偏好模型;3. 響應層面的獎勵與 token 層面的獎勵;4. 負偏好最佳化。

圖片

反饋的子主題包括:1. 偏好反饋與二元反饋;2. 成對反饋與列表反饋;3. 人類反饋與 AI 反饋。

圖片

強化學習的子主題包括:1. 基於參考的強化學習與無參考的強化學習;2. 長度控制式強化學習;3. 強化學習中的不同分支;4. 線上策略強化學習與離線策略強化學習

最佳化的子主題包括:1. 線上 / 迭代式偏好最佳化與離線 / 非迭代式偏好最佳化;2. 分離 SFT 和對齊與合併 SFT 和對齊。

圖片

表 1 列出了這篇綜述報告中分析的所有論文在這 13 個評估指標上的劃分情況。

圖片

研究論文

這一節將詳細介紹各篇論文,讓讀者無需閱讀原論文也能瞭解這些重要創新。機器之心將簡單梳理各個研究方向並列出代表性論文。

1. RLHF/PPO

LLM 的預訓練要用到大量來自不同來源的語料庫,而這本身就無法確保這些資料集的質量。此外,LLM 的主要目標是預測下一個 token,這個目標與「有用且安全地遵從使用者指令」的目標並不一致。因此,LLM 可能會輸出不真實、有害或對使用者無用的內容。本質上講,這些模型並未與使用者意圖對齊。RLHF/PPO 的主要目標是在各種任務上對齊語言模型與使用者意圖,其做法是使用人類反饋來微調模型。有關這個主題的研究有很多。

InstructGPT

InstructGPT 來自 OpenAI,這是訓練 ChatGPT 和 GPT-4 等模型的基礎,參閱《GPT-4 技術報告》以及機器之心的報導《GPT-4 震撼釋出:多模態大模型,直接升級 ChatGPT、必應,開放 API,遊戲終結了?》《跟李沐學 ChatGPT 背後技術:67 分鐘讀透 InstructGPT 論文》

透過納入人類偏好,評估 LLM 生成的響應的難題得到了解決。BLEU、ROUGE 和 BERTScore 等用於評估 LLM 的傳統評估指標無法保證與人類偏好的一致性。為了解決這個問題,研究者直接將人類偏好整合進了 LLM 以增強其效能。這個過程通常涉及兩個主要步驟:獎勵模型學習和強化學習策略訓練。

在獎勵模型學習階段,會使用 prompt 和配對的響應訓練一個顯式的逐點獎勵函式。

之後,開始強化學習策略訓練階段;在這個階段,LLM 和預訓練獎勵模型分別作為一個強化學習框架中的智慧體和環境。

為了訓練 InstructGPT,要用到三個資料集:1.SFT 資料集:包含用於訓練 SFT 模型的標註者演示。2.RM(獎勵模型)資料集:由人類標註者對模型輸出的排名構成,用於訓練獎勵模型。3.PPO 資料集:由用作 RLHF 微調輸入的 prompt 構成。

訓練後的 InstructGPT 會在三個方面得到評估:有用性、可信度、有害性。

從結果上看,人類評估表明「相比於 175B 的 GPT-3,人們 更偏好 1.3B 引數版本的 InstructGPT 模型的輸出,儘管後者的引數量少 100 多倍。」值得注意的是,InstructGPT 在有用性和毒性任務上的表現均優於 GPT-3,這於對齊而言至關重要。

Anthropic 的 RLHF

Anthropic 也研究過同一主題,論文為《Training a helpful and harmless assistant with reinforcement learning from human feedback》。

OpenAI 發現 RLHF 有助於對齊,但也可能導致模型在某些 NLP 基準上的效能下降,這個現象被稱為「對齊稅(alignment tax)」。其開發的 InstructGPT 模型有 1.3B 引數。相反,Anthropic 的研究者評估了大小在 13M 到 52B 之間的 7 種不同模型,這些模型的大小按 4 倍的幾何級數增長。

他們得出結論說,對較小的模型來說,對齊會產生「稅」,但對較大模型來說,對齊只有好處,尤其是引數量在 13B 到 52B 之間的模型。

考慮到對齊的這種優勢,他們還實驗了用程式設計技術資料集來提升 LLM 的能力。OpenAI 的 RLHF 方法包含 PPO 和 PPO-ptx,其中 PPO-ptx 的設計目標就是為了降低在 NLP 基準上的對齊稅。而 Anthropic 的 RLHF 研究發現,只要模型夠大,PPO 本身就能在 NLP 下游任務上帶來對齊的好處。他們還確定了強化學習策略訓練中 KL 散度的最優引數為 β = 0.001。

線上 / 迭代式 RLHF

傳統上,對齊 LLM 的 RLHF 技術都是離線方法。但這類方法有些缺點,比如所得結果難以應對分佈外資料。

為此,需要對 LLM 進行持續的微調,進行迭代式 / 線上學習,即使用中間策略為 prompt 生成響應,再使用預言機(oracle)為這樣的成對資料給出偏好反饋,再將這些反饋饋送給策略。在實踐中,迭代式學習分為兩個部分:偏好預言機學習和迭代式策略最佳化。參閱論文《RLHF workflow: From reward modeling to online RLHF》。

2. RLAIF

獲取人類偏好資料集的成本不低,因此基於人工智慧反饋的強化學習(RLAIF)誕生了。此外,隨著 LLM 的能力不斷進步,所能收集到的 AI 偏好資料集的質量也不斷提高,由此可提升 LLM 的對齊效果。

Anthropic 的 RLAIF

Anthropic 基於 RLHF 的基礎研究工作,提出了一種名為 RLAIF 的全新方法。參閱論文《Constitutional ai: Harmlessness from ai feedback》。

該方法主要包含兩個階段:1. 透過 Critiques(批評)和 Revisions(修訂)進行監督學習,這由一個章程引導。2. RLAIF。

谷歌的 RLAIF

基於 Anthropic 的 RLAIF 研究成果,谷歌一個研究團隊認為之前的研究無法直接比較人類反饋與 AI 反饋的效果,值得進一步研究。在收集 AI 反饋的過程中,要建立一個結構化的 prompt,其構成包括:導言、少樣本示例(可選)、要標註的樣本、結尾。

為了生成 AI 反饋,需要執行一個兩步式評估:首先,使用指令中的 4 個元件加上 CoT,讓 LLM 生成響應。在下一步中,這個 LLM 響應再附帶上「preferred summary=」這樣的結尾被髮送回 LLM,從而生成「summary 1=0.6, summary 2=0.4」這樣的偏好機率。為了減少位置偏差,需要交替放置這兩個響應的序列,並計算其平均分數。

RLAIF 過程採用了兩個策略:1.「蒸餾 RLAIF」,其遵循傳統的 RLHF 方法,即使用偏好訓練一個獎勵模型,然後再將其用於訓練 LLM 策略;2. 「直接 RLAIF」,其直接將 LLM 反饋用作 prompt 來輸出評估分數,再將該分數用作強化學習策略訓練的訊號。

最後,其評估過程會使用三個關鍵指標:1.AI - 標註者對齊度:AI 與人類標註者的一致程度。2. 勝率:人類標註者比較兩個候選項並選擇其中某一個的可能性。3. 無害率:人類評估者認為無害的響應的佔比。

更多詳情請參閱論文《RLAIF: Scaling reinforcement learning from human feedback with AI feedback》

直接人類偏好最佳化

傳統 RLHF 方法通常涉及到最佳化源自人類偏好的獎勵函式。該方法雖有效,但也可能帶來一些難題,比如增大計算複雜度以及在估計和最佳化獎勵時需要考慮偏置 - 方差權衡。參閱論文《High-dimensional continuous control using generalized advantage estimation》。

近期有研究探索了其它一些旨在根據人類偏好(無需依賴某個標量的獎勵訊號)來直接最佳化 LLM 策略的方法。

這些方法的目標是透過更直接地使用偏好資料來簡化對齊流程、降低計算開銷以及實現更穩健的最佳化。透過將該問題描述為一個偏好最佳化問題,而不是獎勵估計和最大化問題,這些方法能提供一種將語言模型與人類判斷對齊的不同視角:

  • SliC-HF,使用人類反饋進行序列似然校準,參閱論文《SliC-HF: Sequence likelihood calibration with human feedback》。

  • RSO,拒絕取樣最佳化,參閱論文《Statistical rejection sampling improves preference optimization》。

  • DPO,直接偏好最佳化,參閱論文《Direct preference optimization: Your language model is secretly a reward model》。

  • DPOP,DPO-positive,參閱論文《Smaug: Fixing failure modes of preference optimisation with DPO-positive》。

  • β-DPO,參閱論文《β-DPO: Direct preference optimization with dynamic β》。

  • IPO,身份偏好最佳化,參閱論文《A general theoretical paradigm to understand learning from human preferences》。

  • sDPO,逐步 DPO,參閱論文《sDPO: Don’t use your data all at once》。

  • GPO,廣義偏好最佳化,參閱論文《Generalized preference optimization: A unified approach to offline alignment》。

token 級 DPO

使用 DPO 時,獎勵會被一起分配給 prompt 和響應。相反,使用 MDP 時,獎勵會被分配給各個動作。後續的兩篇論文在 token 層面闡述了 DPO 並將其應用擴充套件到了 token 級的分析。

  • DPO 可以執行 token 級信用分配的研究,參閱論文《From r to Q∗: Your language model is secretly a Q-function》,報導《這就是 OpenAI 神秘的 Q*?史丹佛:語言模型就是 Q 函式》

  • TDPO,token 級 DPO,參閱論文《Token-level direct preference optimization》。

迭代式 / 線上 DPO

使用 DPO 時,會使用所有可用的偏好資料集來對齊 LLM。為了持續提升 LLM,應當實現迭代式 / 線上 DPO。這就引出了一個有趣的問題:如何高效地收集新的偏好資料集。下面兩篇論文深入探討了這一主題。

  • 自我獎勵式語言模型,參閱論文《Self-rewarding language models》。

  • CRINGE,參閱論文《The cringe loss: Learning what language not to model》。

二元反饋

事實證明,收集偏好反饋比收集二元反饋(比如點贊或點踩)的難度大,因此後者可促進對齊過程的擴充套件。KTO 和 DRO 這兩項研究關注的便是使用二元反饋來對齊 LLM。

  • KTO,Kahneman-Tversky 最佳化,參閱論文《KTO: Model alignment as prospect theoretic optimization》。

  • DRO,直接獎勵最佳化,參閱論文《Offline regularised reinforcement learning for large language models alignment》。

融合 SFT 和對齊

之前的研究主要還是按順序執行 SFT 和對齊,但事實證明這種方法很費力,並會導致災難性遺忘。後續的研究有兩個方向:一是將這兩個過程整合成單一步驟;二是並行地微調兩個模型,最終再進行融合。

  • ORPO,比值比偏好最佳化,參閱論文《ORPO: Monolithic preference optimization without reference model》。

  • PAFT,並行微調,參閱論文《PAFT: A parallel training paradigm for effective llm fine-tuning》。

長度控制式 DPO 和無參考 DPO

之前有研究表明,LLM 的輸出往往過於冗長。為了解決這個問題,R-DPO 和 SimPO 的關注重心是在不影響生成效能的前提下實現對響應長度的控制。

此外,DPO 必需參考策略來確保已對齊模型不會與參考模型有太大偏差。相較之下,SimPO 和 RLOO 提出了一些方法,可以在不影響 LLM 效果的情況下消除對參考模型的需求。

  • R-DPO,正則化 DPO,參閱論文《Disentangling length from quality in direct preference optimization》。

  • SimPO,簡單偏好最佳化,參閱論文《SimPO: Simple preference optimization with a reference-free reward》,報導《全面超越 DPO:陳丹琦團隊提出簡單偏好最佳化 SimPO,還煉出最強 8B 開源模型》

  • RLOO,REINFORCE Leave-One-Out,參閱論文《Back to basics: Revisiting reinforce style optimization for learning from human feedback in LLMs》。

逐列表的偏好最佳化

之前在 PPO 和 DPO 方面的研究關注的是成對偏好,而 RLHF 方面的研究則是收集逐列表的偏好來加速資料收集過程,之後再將它們轉換成成對偏好。儘管如此,為了提升 LLM 的效能,直接使用逐列表的資料集來執行偏好最佳化是可行的。以下三篇論文專門討論了這種方法。

  • LiPO,逐列表偏好最佳化,參閱論文《LIPO: Listwise preference optimization through learning-to-rank》。

  • RRHF,參閱論文《RRHF: Rank responses to align language models with human feedback without tears》。

  • PRO,偏好排名最佳化,參閱論文《Preference ranking optimization for human alignment》。

負偏好最佳化

這些研究有一個共同前提:當前這一代 LLM 已經在翻譯和總結等任務上超越了人類效能。因此,可以將 LLM 的輸出視為期望響應,而無需依靠將人類標註的資料視為偏好響應;這樣做是有好處的。反過來,不期望得到的響應依然也可被用於對齊 LLM,這個過程就是所謂的負偏好最佳化(NPO)。

  • NN,否定負例方法,參閱論文《Negating negatives: Alignment without human positive samples via distributional dispreference optimization》。

  • NPO,負例偏好最佳化,參閱論文《Negative preference optimization: From catastrophic collapse to effective unlearning》。

  • CPO,對比偏好最佳化,參閱論文《Contrastive preference optimization: Pushing the boundaries of llm performance in machine translation》。

納什學習

之前的研究通常是使用逐點獎勵和 BT 模型來得到成對偏好。但是,這種方法比不上直接成對偏好建模並且無法解決成對偏好中的不一致問題。為了克服這些侷限,一些研究提出了納什學習方法。

  • 根據人類反饋的納什學習,參閱論文《Nash learning from human feedback》。

  • SPPO,自博弈偏好最佳化,參閱論文《A minimaximalist approach to reinforcement learning from human feedback》。

  • DNO,直接納什最佳化,參閱論文《Direct nash optimization: Teaching language models to self-improve with general preferences》。

不同方法的比較

一些研究則是為了比較這些不同方法。這類研究可以闡釋每種方法各自的優缺點。

  • 評估 DPO 及其變體

論文《Insights into alignment: Evaluating dpo and its variants across multiple tasks》在推理、數學問題求解、可信度、問答和多工理解等多種任務上全面評估了隱式獎勵模型,即無強化學習演算法,包括 DPO、KTO、IPO 和 CPO。這些評估涉及三個不同場景:1) 微調監督式微調(SFT)模型、2) 微調預訓練模型、3) 微調指令模型。

該研究發現,在大多數基準上,KTO 比其它對齊方法更優。此外,研究表明,對齊並不會顯著提升模型的推理和問答效能,但確實能大幅提升模型的數學問題求解能力。該研究還注意到了資料量的重要性,對齊方法在較小的資料子集上的效能最佳。此外,研究發現 KTO 和 CPO 能有效繞過 SFT 階段,在不影響效能的前提下直接進入對齊階段。相比之下,當繞過 SFT 階段,直接進入對齊階段時,DPO 和 IPO 會表現出明顯的效能下降。

  • DPO 是比 PPO 更好的 LLM 對齊方法嗎?

論文《Is DPO superior to PPO for LLM alignment? A comprehensive study》表明,DPO 可能存在固有侷限,可能會產生有偏差的解答,並可能由於分佈變化而導致效能下降,

他們發現,DPO 訓練出的策略傾向於未曾見過的響應,尤其是分佈外的樣本。而迭代式 / 線上 DPO 則能緩解這個問題,其做法是廣泛探索響應空間並不斷更新參考模型。相較之下,RLHF/PPO 則是透過優勢歸一化、大批次大小以及對參考模型使用指數移動平均來解決這些挑戰。最終,這些發現表明 PPO 優於迭代式 / 線上 DPO,而這又進一步優於標準 DPO。

更多詳情可參閱機器之心專欄文章《ICML 2024 Oral | DPO 是否比 PPO 更適合 LLM,清華吳翼團隊最新揭秘》

未來方向

透過分析過往論文,該團隊確定了一些有待進一步探索的研究問題。

用於對齊評估的一般任務

不同論文使用了不同的任務來評估這些方法的效能。但是,GSM8K 等一些任務更關注推理,可能並不適合用於評估對齊效能。相反,TruthfulQA 等任務或那些關注毒性的任務應當優先考慮,以評估已微調 LLM 的毒性。應當想辦法將這些任務組合起來,建立一個用於評估對齊的統一排行榜。

將隱式獎勵模型、逐列表偏好和納什學習用於更大規模的語言模型

目前,使用隱式獎勵模型的最大模型的引數量也不過 70B。如果能將這些方法擴充套件用於更大的模型,比如 GPT-4 和 Claude-3 大小的模型,那應該能幫助我們更好地理解它們與 RLHF/PPO 的相對效果。

類似地,逐列表偏好模型也值得進一步研究。使用 RLHF 時,要使用逐列表偏好收集偏好資料集,之後再將其轉換成多對成對偏好資料。大規模應用逐列表偏好模型的潛在問題依然有待解決。

最後,納什學習可以解決人類標註者之間的不一致問題。如果能將納什學習模型整合到更大規模的 LLM 中,就可以證明其捕獲人性複雜性的能力。

有關二元反饋的實驗

KTO 和 DRO 都採用了「點贊」和「點踩」這樣的二元反饋機制,而不是成對偏好。這些二元反饋來自偏好資料集,其中將期望響應標記成正例,將不期望響應標記成負例。我們還需要對現實的二後設資料集進行進一步研究。此外,相比於偏好資料,二後設資料集更容易收集,因此有望使用更大規模的二元反饋資料集來進行對齊。但是,二元反饋中的噪聲可能比偏好資料集中的噪聲更加明顯,因此如何有效濾除有噪聲資料也是一個非常有趣的研究方向。

實驗研究有用的 AI 反饋

目前的 AI 反饋主要包括 RLAIF 中的無害反饋和迭代式 DPO 中的反饋排名。但是,使用 RLAIF 時,有用反饋依然是由人類標註者提供。這種方法是合理的,因為生成有用響應的難度比識別有害反饋明顯大得多。一個有趣的未來研究方向是使用 LLM 來生成有用的反饋,由此讓 LLM 可以自我提升。

加速納什學習

納什學習方法可以有效建模成對偏好並解決人類標註之間的不一致問題。但是,它必需多次迭代才能收斂到最優策略。儘管其作者沒有明說對齊所需的時間,但可猜測其會比 DPO 等隱式獎勵模型慢得多。因此,提升納什學習過程的速度也是一個值得關注的研究方向。

迭代 / 線上學習的終止

在使用迭代 / 線上訓練時,確定終止迭代的時間很關鍵。之前有研究發現,迭代式學習有時會降低 LLM 在某些任務上的效能,這可能是過擬合的跡象。但是,目前還沒有研究者探索如何確定終止迭代的合理 epoch。

簡化 SFT + 對齊

當前的方法通常是以一種連續方式實現 SFT 和對齊。但是,這種方法往往會導致災難性遺忘,並讓整個訓練過程變得更加費力。PAFT 方法減輕災難性遺忘的方式是先分別微調 SFT 和對齊然後再將它們融合到一起,但這也會提升複雜性。相較之下,ORPO 技術是同時整合這兩個過程,但卻會導致效能下降。那麼,該如何有效地將 SFT 和對齊組合起來實現高效能同時又維持高效率呢?這還是一個有待解決的挑戰。

更多細節參見原論文。

相關文章