使用直接偏好優化方法調整 LLM 偏好 – DPO、IPO 與 KTO 的實證比較
TL;DR – Hugging Face 評估了兩個 7B 聊天模型上的 DPO、IPO 與 KTO 對齊方法,結果顯示只要適當調整 β 超參數,DPO 始終優於其他方法。
介紹
此部落格文章報告了三種近期 LLM 對齊演算法的實證比較,這些演算法避免了傳統的強化學習。研究對兩個高品質的 7B 模型(OpenHermes‑2.5‑Mistral‑7B 與 Zephyr‑7b‑beta‑sft)進行微調,使用三種損失函數(DPO、IPO、KTO)在 β 超參數的掃描範圍內進行,並以 MT‑Bench(基於 GPT‑4 的多回合基準)評估產生的模型,該基準涵蓋八個能力類別。
無需強化學習的對齊方法
- Direct Preference Optimization (DPO) – 將對齊重新表述為對成對偏好元組 ((x, y_w, y_l)) 的簡單損失,已用於訓練如 Zephyr 與 Intel 的 NeuralChat 等模型。
- Identity Preference Optimisation (IPO) – 在 DPO 基礎上加入正則化項,以提升穩健性,並允許訓練在不提前停止的情況下收斂。
- Kahneman‑Tversky Optimisation (KTO) – 僅使用二元「好」/「壞」標籤,而非成對偏好,從而能利用較廉價的回饋訊號(如讚/倒讚)進行對齊。
所有三種方法皆透過 🤗 TRL 函式庫的 DPOTrainer 實作,loss_type 參數分別設定為 sigmoid(DPO)、ipo(IPO)或 kto_pair(KTO)。
實驗設定
- Models: OpenHermes‑2.5‑Mistral‑7B(未對齊的 7B 聊天模型)與 Zephyr‑7b‑beta‑sft(已在監督資料上微調)。
- Datasets:
- orca_dpo_pairs(13 k 提示對,GPT‑4 選擇 vs. Llama‑Chat‑13B 拒絕)– 用於 OpenHermes。
- ultrafeedback‑binarized(66 k 提示對)– 用於 Zephyr。
- Training configuration: 單一 epoch、每個裝置 batch size 為 8、學習率 5e‑7、餘弦調度器、β 值從 0.01 到 0.9、梯度檢查點、啟用 bf16,並每 100 步評估一次。
- Evaluation: MT‑Bench,使用 GPT‑4 為模型回應在寫作、角色扮演、推理、數學、程式碼、資訊抽取、STEM 與人文等八個領域打分。
完整的設定檔與腳本可在 Hugging Face alignment‑handbook 倉庫取得。
超參數掃描
透過系統性掃描,對每種損失類型變更 beta 參數(0.01、0.1 … 0.9),其他設定保持不變。此掃描在 Hugging Face GPU 叢集上以 Bash 腳本執行,腳本會遍歷模型配置、損失類型與 β 值,將每次執行提交為獨立的 SLURM 工作。
configs=("zephyr" "openhermes")
loss_types=("sigmoid" "kto_pair" "ipo")
betas=("0.01" "0.1" "0.2" "0.3" "0.4" "0.5" "0.6" "0.7" "0.8" "0.9")
# ... loop omitted for brevity ...
結果
Zephyr‑7b‑beta‑SFT
- 最低的 β(0.01)在 所有三種演算法 中產生最高的 MT‑Bench 分數。
- DPO 獲得最佳的整體 MT‑Bench 分數,但 KTO(成對) 在除一個設定外的所有情況下都與 DPO 相當或更佳。
- IPO 在大多數配置下表現不如基礎 Zephyr 模型,儘管其理論上具備更高的穩健性。
- 按類別分析顯示推理、程式碼與數學方面存在顯著差距。
OpenHermes‑2.5‑Mistral‑7B
- 演算法的排名仍為 DPO > KTO > IPO。
- 最佳 β 值差異顯著:
- DPO: β = 0.6
- KTO: β = 0.3
- IPO: β = 0.01
- 偏好對齊僅提升約 0.3 分的 MT‑Bench 成績,顯示 OpenHermes 已是相當強大的基礎模型。
兩個模型系列皆顯示 β 是關鍵的超參數;微小的變化即可使績效在 MT‑Bench 上波動數點。
總結與洞見
- 仔細調整 β 對所有三種對齊方法皆至關重要。
- 在成對偏好設定下,DPO 持續優於 KTO 與 IPO,但在 β 設定得當時 KTO 亦具競爭力。
- IPO 雖提供收斂保證,但在本實驗中未能超越基線。
- 開源程式碼、設定檔與產生的模型檢查點已公開於 Hugging Face alignment‑handbook 以及相關的模型集合中。
接下來的工作?
未來的工作將持續將新興的偏好對齊演算法加入 🤗 TRL,並擴充評估套件。作者預期 DPO 仍將是目前最穩健的選擇,而 KTO 則提供了一條利用廉價二元回饋且不需成對資料的有前景路徑。
連結
- Hyperparameter‑scan code: https://github.com/huggingface/alignment-handbook/tree/main/recipes/pref_align_scan
- Datasets & model collection: https://huggingface.co/collections/alignment-handbook/dpo-vs-kto-vs-ipo-65a69c5f03548d61dbe29ef8
- Updated IPO implementation (loss averaging fix): https://github.com/huggingface/trl/pull/1265