LLMs后訓練技術總結 原創
目前大部分算法的工作可能都屬于LLM的后訓練部分,本篇就結合個人實際工作經驗來總結一下 post-training language models (PoLMs)的內容。
在開始前再補充說明一下,與后訓練不同的另一個課題是預訓練pre-training language models (PLMs),PLMs提供通用知識和能力,而 PoLMs 專注于將這些模型適應特定任務和需求。
這篇文總結參考自《A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS》,可以輔助大家快速對LLM后訓練技術有一個全面關鍵的了解。
PoLMs 有一個比較清晰的發展歷史,下面結合個人經驗簡單陳述一下:
- 2018-2021:當時模型量級還不算大,encoder-decoder架構更主流,工作中BERT,GPT,T5還有transformer的各種架構都在用,大家的重點偏向SFT,Pre-trained,當然也會用到CLIP這種偏向多模態的預訓練模型。
- 2022-2023:這個時期ChatGPT引起了一波浪潮,大家開始把技術重點轉向強化學習(RLHF)、多模態,這塊的話因為對數據要求非常高,所以日常工作大多脫離不了洗數據。
- 2024: 這個時期LLM開始百花齊放了,DPO和Reasoning這塊流行起來,然后MoE由于非常實用因此也是火起來了,另外大模型落地也需要RAG來減輕幻覺。
- 2025:今年來說研究重點更多的放在多模態和推理這塊了。
下面的圖可以比較清晰地看出LLMs后訓練的發展歷史。

后訓練可以包括5個方面:

一、微調:提高任務準確性
二、對齊:確保與偏好對齊
三、推理:促進模型深度思考
四、效率:提高資源利用率
五、集成與適應:擴展到多模態,解決垂直領域問題
接下來針對這5個方面進行具體展開,雖然實際工作中有的算法工程師或者研究員的職業范圍可能非常垂直,但這篇還是盡量全面地歸納出這篇綜述中關鍵的內容,大家可以從中挑選需要查漏補缺的部分。

一、微調
微調可以分為三種:
- 有監督微調
- 自適應微調
- 強化學習微調
1. 有監督微調
有監督微調(Supervised Fine-Tuning, SFT)使用標注數據集來提高特定任務的準確性。

SFT的時候數據質量很關鍵,因此會做一些小型的消融實驗或者建立一些數據集的評估指標(響應長度、獎勵模型得分)等等來進行訓練數據的抽樣。
訓練過程就不多贅述,可以結合算力、數據量、需要達到的kpi來選擇全參數量微調或者部分參數微調,一般算法組內會有一些積累的trick可以互相學習。
2. 自適應微調
自適應微調(Adaptive Fine-tuning)可以通過構造指令數據集修改預訓練模型的行為,引入了特定任務的指導,可以更好地滿足特定需求并處理更廣泛的任務。

指令微調(Instruction Tuning),前綴微調(Prefix-Tuning ),提示微調(Prompt-Tuning)都屬于 Adaptive Fine-tuning。關于他們的區別之前也有介紹過,可以參考。
這里簡單介紹一下:
- 指令微調(Instruction Tuning):通過在專門構建的指令數據集上對基礎大語言模型(LLM)進行微調。
- 前綴微調(Prefix-Tuning ):需要在語言模型的每個 Transformer 層中添加一系列可訓練的前綴標記(連續向量),同時保持核心模型參數不變進行微調。
- 提示微調(Prompt-Tuning):通過優化輸入層的可訓練向量而非修改模型內部參數進行微調。
3. 強化學習微調
這塊屬于比較新的領域,強化微調(Reinforcement Fine-Tuning, ReFT)把強化學習(RL)與監督微調(SFT)相結合,增強模型解決復雜動態問題。
傳統的SFT是每個問題使用單個鏈式思維(CoT)注釋,但ReFT會提供多個有效的推理路徑,可以提高模型泛化能力和問題解決技能。
ReFT 過程分為了兩個階段。

- SFT 階段:模型在訓練數據上迭代,通過多個周期學習每個問題的正確 CoT 注釋。
- ReFT 階段:從 SFT 訓練的模型開始,模型根據當前策略生成替代的 CoT 注釋 (??′) ,并將其預測的答案 (??′) 與真實答案 (??) 進行比較。正確答案會獲得正向獎勵,錯誤答案則受到負向獎勵,這促使模型提高性能。
跟SFT相比,ReFT可以在不增加或增強訓練數據的情況下實現改進,還是很值得去做的。
二、對齊
對齊主要分為三類:
- 基于人類反饋的強化學習
- 基于AI反饋的強化學習
- 直接偏好優化
1. 基于人類反饋的強化學習
基于人類反饋的強化學習(Reinforcement Learning from Human Feedback, RLHF)使用人工標注的數據作為獎勵信號來學習。
跟SFT不同的是,SFT中標注數據的多樣性和質量可能參差不齊,且監督模型捕捉更細微或適應性更強的人類偏好的能力比較有限,因此RLHF可以彌補這一點。
RLHF首先收集以偏好標簽或獎勵信號形式的人類反饋,然后利用這些信息訓練獎勵模型。在獎勵模型的引導下,策略通過迭代調整以更好地匹配人類偏好。與SFT相比,RLHF融入了連續的、偏好驅動的更新,從而實現更強的對齊效果。

那么這里再具體說一下RLHF的主要組成部分:反饋機制、獎勵模型及策略學習策略。
1)反饋機制
反饋機制指如何向獎勵模型傳達用戶偏好。包括下面三類:

- 主要反饋:這種反饋最直接塑造RLHF中獎勵模型。
包括批評(Critique)對輸出進行顯式人類評估,比較(Comparisons)評估多個輸出或軌跡,時間反饋(Inter-Temporal Feedback)在不同時間步長提供判斷來細化軌跡評估,代理獎勵(Proxy Rewards)比較像獎勵函數,引導模型朝向用戶定義的目標,社會行為(Social Behavior)利用隱含線索(如面部表情)來使代理目標與用戶情感對齊,改進(Improvements)強調實時人類干預以逐步完善策略。
- 補充反饋:這種反饋因上下文而異,作為補充輸入,加強獎勵模型的整體學習過程。
包括緊急停止(Emergency stops, e-stops)允許人類在代理行為中進行干預,通過停止其軌跡而不提供替代方案來防止不良行為;重要性標簽(Importance labels)指示特定觀察對于實現目標的重要性,提供不直接改變行為的顯式反饋。
- 表示特定反饋:這種反饋主要增強表示學習,不直接塑造獎勵函數;可以實現對新任務和上下文的更魯棒泛化。
包括特征軌跡(Feature Traces)提示人類操作員展示給定特征的單調變化,從而實現特征集的動態擴展。相似性查詢(Similarity Queries)比較軌跡的三元組,通過軌跡空間中的成對距離引導表示學習。
2)獎勵模型
真正的獎勵函數 ??(??,??) 通常是未知的,因此需要基于人類提供的偏好構建一個可學習的獎勵模型 ????(??,??) 。
該模型預測候選輸出 ?? 在給定輸入 ?? 下與人類期望的一致程度。為了獲得訓練數據來訓練 ????(??,??) ,人類評估者根據輸出對的相對適宜性進行比較或標注,模型通常使用這些比較上的交叉熵損失進行訓練。
為了防止策略 ?? 過度偏離初始模型 ?? ,引入了一個由超參數 ?? 控制的懲罰項到獎勵函數中:

其中 ??(??∣??) 是微調后的策略 ?? 在給定輸入 ?? 時生成輸出 ?? 的概率,而 ??(??∣??) 是在初始模型 ?? 下相應的概率。這一項確保了在 ?? 適應人類反饋的同時,仍受到 ?? 中捕獲的先驗知識的約束。
評估獎勵函數 ????(??,??) 非常重要,它直接影響學習效果和策略性能。
3)策略學習
包括在線學習、離線學習以及在線和離線融合的學習,這里就不多贅述了。
2. AI反饋的強化學習
人工智能反饋(Reinforcement Learning with AI Feedback, RLAIF)和RLHF的關鍵區別在于RLHF依賴于人工生成的偏好,而RLAIF使用人工智能生成的反饋來引導策略更新。RLAIF 的主要優勢在于其能夠在不需持續人類干預的情況下擴展反饋循環。
除了是AI收集反饋,其他基本和RLHF一樣。AI 系統根據預定義的標準生成反饋,這些標準可能包括特定任務的指標、響應的正確性或模型輸出的適當性。與需要解釋和手動標注的人類反饋不同,AI 反饋可以在廣泛的模型輸出中一致生成。
這一特性使得 AI 反饋可以持續提供,顯著擴展了反饋循環,但利用 AI 生成的標簽,可能會引入一致性問題和偏見。
3. 直接偏好優化
RLHF 可能會變得復雜且不穩定,特別是在擬合獎勵模型并用于微調大型語言模型的階段。其難點在于創建一個能夠準確反映人類偏好的獎勵模型,以及在優化這一估計獎勵的同時,使語言模型的通用效果保持接近原始模型的狀態。
直接偏好優化(Direct Preference Optimization, DPO)通過直接從偏好數據中學習策略,避免了顯式的獎勵建模??梢愿€定且計算效率更高,從而緩解上面的問題。
1)DPO的目標
給定一組偏好三元組 (??,????,????) ,其中 ???? 是首選輸出, ???? 是次選輸出,對于提示 ?? ,DPO最大化觀察到的偏好的似然。形式上,DPO采用以下目標函數:

其中 ??(?) 是sigmoid函數, ?? log?????(??|??) / ??ref(??|??) 表示 ???? 和參考策略 ??ref 之間的重參數化獎勵差異。
通過最大化 ??DPO,策略 ???? 在不需單獨獎勵模型的情況下與人類偏好對齊。
由于DPO目標繼承了來自RLHF的KL正則化公式,它保留了重要的理論保證——例如,在明確定義的偏好假設下的一致性,同時將訓練過程統一為一個階段。
因此,DPO為使語言模型與人類評估對齊提供了更直接的路徑,減少了系統復雜性并提高了訓練穩定性。
目標策略通過一系列旨在最小化損失 ??DPO 的梯度更新進行精煉。
具體步驟如下:
- step1-生成: ??ref 為每個提示 ?? 生成候選輸出。
- step2-標注:人類標注者比較生成的輸出,確定它們的相對偏好。
- step3-優化:利用這些成對偏好, ??tar 進行迭代更新,以更好地模仿人類偏好的輸出。
在整個過程中, ??ref 保持不變,提供一個穩定的基線,以便衡量改進。
2)DPO訓練細節
DPO框架建立在兩個核心模型之上:參考策略 ??ref 和目標策略 ??tar 。
參考策略??ref 通常是一個預先訓練并經過監督微調的語言模型,在整個訓練過程中保持不變;而目標策略??tar從 ??ref 初始化,并通過基于偏好的反饋進行迭代更新,從而提高與人類判斷的一致性。
下面是DPO的整體流程。

3)DPO的變體
目前DPO的變體已經出現很多了,范圍從詞元級生成優化到控制冗長性和處理列表或負面偏好都有覆蓋。

- DPO for Optimizing Generation
這一類型的變體可以更精細地或連續地與人類偏好對齊。包括,
詞元級DPO 采用了由 (??,??,??,??,??0) 定義的馬爾可夫決策過程(Markov Decision Process, MDP)。這種方法緩解了諸如對不受歡迎的詞元產生過高的KL散度等問題。
迭代DPO 采用多輪方法,通過重復的偏好評估不斷優化輸出,通常由模型本身執行。成對厭惡優化(Pairwise Cringe Optimization, PCO) 將二元反饋擴展到成對設置,使用軟邊界來平衡探索和利用。
逐步DPO (Step-wise DPO) 將偏好數據集劃分為多個部分,并應用迭代更新,每一輪更新后的策略作為下一輪的基線。
- Controllable and Flexible DPO
這一類型的DPO可以管理冗長性并減少對固定參考策略的需求。包括,
R-DPO 通過在目標函數中引入正則化項來懲罰輸出長度,解決了過于冗長或冗余的響應問題。
SimPO 通過規范化響應長度并簡化損失函數來處理期望和不期望的輸出,消除了對參考策略的需求。
RLOO 利用REINFORCE算法而無需訓練價值模型,大幅減少了計算開銷。它將整個響應視為單個動作,并從稀疏獎勵中學習,相比傳統的基于PPO的方法簡化了實現。
- Listwise DPO
這一類型直接在在一組輸出上進行優化。包括,
列表偏好優化(Listwise Preference Optimization, LiPO) 直接在候選響應的排名列表上應用排序學習技術,相對于重復的成對比較提高了效率。
RRHF 將偏好對齊整合到SFT中,消除了對單獨參考模型的需求。PRO 將列表偏好分解為更簡單的二元任務,簡化了SFT期間的對齊。
- Negative DPO
這一類型需要從不期望或有害的輸出中學習。 包括,
否定負例(Negating Negatives, NN) 丟棄積極響應并最大化與較少偏好的輸出之間的差異。
負面偏好優化(Negative Preference Optimization, NPO) 對負面偏好應用梯度上升,減少有害輸出并緩解災難性崩潰
本篇就先講微調和對齊這兩塊的內容,之所以放到一起講,其實是也是想說明和強調一下,這兩塊部分可以使LLM便于適配任何特定任務,但這些方法其實都是錦上添花的,這兩塊真正關鍵的還是在于數據。
相比于在日常工作中可能隨時迸發出靈感的“算法優化”,數據有更多需要關注的部分:數據配比,數據采樣策略,數據構造,數據多樣性生成等等,有機會的話數據這塊也可以單獨分享一些trick。
參考文獻
[1] A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS
[2] 六萬字長文一次性說清 LLM 的后訓練技術 - 知乎(https://zhuanlan.zhihu.com/p/49358536242?share_code=1rjaEElW0LSBf&utm_psn=1928046847659864872)
本文轉載自???瓦力算法學研所???,作者:喜歡瓦力的卷卷

















