What is DPO(直接偏好優化)?
RLHF 的更簡單替代方案,直接在人類偏好資料上優化語言模型,無需單獨的獎勵模型或強化學習。
Definition
直接偏好優化(DPO)是一種訓練演算法,透過單一監督式學習步驟將語言模型與人類偏好對齊,消除了訓練單獨獎勵模型和運行強化學習的複雜性。由 Rafailov 等人於 2023 年提出,DPO 將 RLHF 目標重新表述為偏好對上的分類損失,在數學上證明最優策略可以直接從偏好資料中提取,而無需中間獎勵建模步驟。
在 DPO 中,訓練資料由三元組組成:提示、偏好回應(選中的)和不偏好回應(拒絕的)。損失函數相對於被拒絕的回應增加偏好回應的機率,由參考模型(起始 SFT 檢查點)已經多大程度同意偏好來縮放。DPO 已成為開源 LLM 訓練中的主流偏好優化方法。
Why It Matters
RLHF 雖然有效但實施和調優困難。 它需要訓練單獨的獎勵模型、管理 PPO 優化的不穩定性,以及仔細平衡獎勵最大化與 KL 懲罰。DPO 消除了所有這些複雜性同時達到可比的結果,使偏好訓練對更廣泛的受眾可用。DPO 的穩定性優勢對生產團隊至關重要——DPO 訓練與標準監督式微調一樣穩定。
How It Works
DPO 訓練以監督式微調(SFT)模型作為參考策略開始。偏好資料集包含帶有配對選中和拒絕回應的提示。訓練期間,當前模型和凍結的參考模型都計算選中和拒絕回應的對數機率。DPO 損失函數是對當前和參考模型在選中與拒絕回應的對數機率比差異上的二元交叉熵損失。溫度參數(beta)控制模型優化偏好與保持接近參考策略之間的權衡。
Example Use Case
一家 AI 新創公司收集 5,000 個程式碼生成模型的偏好對,開發人員為每個程式設計任務在兩個生成解決方案中選擇。使用 DPO 在 2 GPU 上進行 4 小時的單次訓練——無獎勵模型、無 RL 基礎設施。結果模型 73% 的時間優於 SFT 基準,匹配 RLHF 預期的改善但工程複雜度大幅降低。
Key Takeaways
- DPO 在偏好資料上優化語言模型,無需單獨的獎勵模型或 RL 訓練。
- 將 RLHF 目 標重新表述為偏好對上的簡單分類損失。
- 在實踐中與 RLHF 同樣有效但顯著更簡單和穩定。
- 訓練需要提示、偏好回應和拒絕回應的三元組。
- beta 參數控制偏好優化與保持接近參考模型的權衡。
How Ertas Helps
Ertas Studio 支援 DPO 訓練作為偏好優化方法,允許使用者上傳在 Ertas Data Suite 中準備的選中/拒絕回應對,並透過簡單穩定的訓練過程將模型與人類偏好對齊。
Related Resources
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.