🎯 什麼情境該想到我

當你的模型已經做完 SFT、會照指令回答了,但回答的語氣、有用程度、安全性還不到位,想用人類偏好把它調到位的時候。

⚙️ 怎麼用(步驟 / 公式)

  1. 確認位置:偏好對齊是後訓練的第二階段,前面必須先有 SFT 模型(見 工具-LLM微調實作路線)。它原本用來調語氣、降毒性、減幻覺,現在也被用來大幅提升推理任務表現

  2. 依算力與目標選演算法

    方法算力成本最適合需要獎勵模型
    DPO Direct Preference Optimization低—中聊天模型、一般對齊
    ORPO Odds Ratio Preference Optimization單階段對齊(SFT 與對齊合併)
    GRPO Group Relative Policy Optimization中—高推理型模型否(改用獎勵函式)
    PPO Proximal Policy Optimization複雜推理任務
  3. 算力有限就走直接最佳化路線(DPO / ORPO):訓練循環快、不必額外訓一個獎勵模型。

  4. 要衝推理品質才考慮 RL 路線(GRPO / PPO):彈性更大、天花板更高,但成本與不穩定性也高。

  5. 用拒絕採樣(Rejection Sampling)產生 on-policy 偏好資料:讓「正在訓練的那個模型」對每個 prompt 生成多個候選,再挑出好壞配對。好處是 chosen 與 rejected 都來自模型當前的分布:

    面向On-policy(拒絕採樣)Off-policy(現成資料集)
    分布吻合反映模型當前行為可能與現在的輸出對不上
    訓練穩定性較穩容易分布偏移

🧪 我實際套用的紀錄

  • 2026-08-01:從 LLM Course 收錄,尚未實際跑過。

⚠️ 注意 / 什麼時候不適用

  • 順序不能顛倒:沒做過 SFT 就直接對齊,等於在還不會聽指令的模型上調語氣。
  • PPO 需要另外訓練並維護獎勵模型,工程複雜度是 DPO 的數倍,沒有明確理由不要一開始就選它。
  • 偏好資料的品質決定上限,配對標得含糊,演算法再高級也救不回來。

🔗 相關工具