PPO 與 DPO:大模型偏好對齊的兩種核心算法解析 原創
在大模型訓練中,讓模型輸出符合人類偏好的內容是關鍵一步。目前主流的兩種方法 ——PPO(近端策略優化)和 DPO(直接偏好優化),分別代表了強化學習和直接優化的不同思路。本文將拆解兩者的核心思想、實現邏輯,以及 DPO 如何解決 PPO 的痛點。
一、PPO:用強化學習 "穩扎穩打"
PPO 是強化學習在大模型領域的經典應用,核心思想是在限制策略更新幅度的前提下,最大化模型獲得的獎勵。簡單來說,就是讓模型在學習過程中 "穩步提升",避免因更新幅度過大而 "學偏"。
1.1 核心邏輯:約束與優化的平衡
PPO 通過 "Actor-Critic" 框架實現:
- Actor(策略模型):負責生成回答(動作),目標是最大化獎勵;
- Critic(價值模型):評估當前回答的 "價值"(預期獎勵),輔助 Actor 判斷動作好壞;
- 獎勵模型:給 Actor 生成的回答打分(比如 "這個回答是否 helpful");
- 參考模型:記錄初始策略,防止 Actor 更新幅度過大偏離基礎能力。
為了避免策略突變,PPO 用兩種方式約束更新:
- 裁剪(Clip):將新策略與舊策略的概率比限制在 [1-ε, 1+ε](通常 ε=0.2),超過則 "裁剪";
- KL 懲罰:通過 KL 散度衡量新舊策略差異,差異過大則扣分。
1.2 實現關鍵步驟
以大模型對話訓練為例,PPO 的流程如下:
- 數據收集:用當前策略模型生成一批回答,由獎勵模型打分;
- 優勢計算:用 Critic 的價值估計和實際獎勵,計算每個回答的 "優勢"(比預期好多少);
- 多輪更新:用同一批數據重復更新 Actor(5-10 次),每次更新都用裁剪或 KL 懲罰約束幅度;
- 同步優化:同時更新 Critic,讓其更準確地評估價值。
形象理解:好比訓練學生答題,Actor 是學生,Critic 是老師預判分數,獎勵模型是實際閱卷評分,參考模型是學生的初始水平。老師會限制學生每次進步的幅度,避免為了高分而偏離基礎知識點。
二、DPO:跳過 "獎勵模型" 的直接優化
DPO 的核心思想是將強化學習轉化為偏好分類問題:直接用人類標注的 "好回答" 和 "差回答" 訓練模型,跳過 PPO 中復雜的獎勵模型和強化學習循環。
2.1 核心邏輯:用偏好數據直接 "對齊"
DPO 的關鍵觀察是:人類偏好數據(比如 "回答 A 比回答 B 好")本身就可以指導模型優化,無需先訓練一個獎勵模型。它通過對比 "好回答" 和 "差回答" 的概率,讓模型更傾向于生成 "好回答"。
具體來說,DPO 的損失函數會讓模型滿足:

2.2 實現關鍵步驟
DPO 的流程更簡單,無需強化學習循環:

形象理解:好比直接給學生展示 "滿分答案" 和 "錯誤答案",讓學生對比學習,跳過了 "先訓練老師打分" 的步驟,效率更高。
三、DPO 對 PPO 的四大改進
PPO 雖然有效,但在工程落地中存在不少痛點,DPO 針對性地解決了這些問題:
維度 | PPO(RLHF) | DPO |
模型數量 | 需要 4 個模型(Actor/Critic/ 獎勵 / 參考) | 僅需 2 個模型(策略 / 參考) |
訓練流程 | 迭代采樣→評分→更新(多階段循環) | 單階段有監督訓練(類似 SFT) |
數值穩定性 | 依賴獎勵尺度校準和 KL 系數調參,易爆炸 | 損失函數自動限制范圍,無需復雜調參 |
效率 | 同批次數據復用 20-50 次,耗時久 | 數據一次使用,訓練速度提升約 45 倍 |
比如在醫療大模型訓練中,PPO 可能需要反復調整獎勵模型對 "專業性" 和 "安全性" 的權重,而 DPO 直接用醫生標注的 "優質回答" 和 "風險回答" 訓練,大幅減少調試成本。
四、PPO 與 DPO 的適用場景
兩種算法各有優劣,實際應用中需根據場景選擇:
- PPO 更適合:需要復雜獎勵機制(如多維度評分)、對探索性要求高的場景(如創意寫作);
- DPO 更適合:偏好數據充足、追求訓練效率和穩定性的場景(如客服對話、法律問答)。
從工業實踐來看,ChatGPT 等早期模型用 PPO 保障了靈活性,而開源社區(如 Zephyr 模型)多用 DPO 實現高效對齊,兩者正逐步融合(如用 DPO 初始化,再用 PPO 微調)。
五、總結:從 "間接學習" 到 "直接對齊"
PPO 和 DPO 的演進,體現了大模型偏好對齊的效率追求:
- PPO 通過強化學習的 "試錯 - 獎勵" 機制,適合復雜場景但成本高;
- DPO 跳過中間環節,用偏好數據直接優化,實現了 "簡單即高效"。
參考文獻
- 南門子,《阿里淘天大模型終面:麻了,真的麻了!》,??https://mp.weixin.qq.com/s/x43pwfNw7doFB5pGMLpJfA??,2025-06-19,微信公眾號
- 偷星九月 333,《大模型時代必會強化學習算法之 PPO》,??https://mp.weixin.qq.com/s/iLQU9EXa7ullT4zUpPhxvA??,2025-03-11,微信公眾號
- 捏太陽,《近端策略優化 (PPO) 算法深度解析》,??https://mp.weixin.qq.com/s/gPEtblnP6Q7hGSa48HPHlg??,2025-04-24,微信公眾號
- LLMQuant,《一文教你看懂強化學習策略優化:PPO 與 GRPO 全面解析》,??https://mp.weixin.qq.com/s/oowsngGxY3qz1sFw_KiZKA??,2025-05-28,微信公眾號
- 算法狗,《人人都能看懂的 DPO 數學原理》,??https://mp.weixin.qq.com/s/aG-5xTwSzvHXN4B73mfKMA??,2024-09-09,微信公眾號
- 算法狗,《2 分鐘入門 DPO 算法》,??https://mp.weixin.qq.com/s/kMbOH11sla79Tv28uSH7UA??,2025-01-15,微信公眾號
- 大模型技術前沿,《強化學習入門,小學生都可以讀懂的 DPO,PPO》,??https://mp.weixin.qq.com/s/HBQNSMIhocWgrJ4R7W8qzQ??,2025-04-07,微信公眾號
- 紀牛牛,《DPO 算法,突然不香了...》,??https://mp.weixin.qq.com/s/IrrHCkQ3rPsXnZhMVN5NlQ??,2025-04-11,微信公眾號
本文轉載自??鴻煊的學習筆記??,作者:乘風破浪jxj

















