DPOとは
DPO(Direct Preference Optimization)とは、2023年にスタンフォード大学の研究者らが提案した、人間の好みデータから直接LLMを最適化する手法です。RLHFの報酬モデル訓練とRL最適化の2段階を1段階に統合し、実装と計算コストを大幅に簡素化しました。
| ひとことで言うと | 報酬モデルを作らず、好みのデータから直接モデルを調整する手法。 |
|---|---|
| 何がうれしいか | RLHFより手順が少なく、学習が安定して計算コストも低い。 |
| 注意点 | 好みデータの質と偏りがそのまま結果に出る。 |
RLHFとの関係
DPOはRLHFの数学的等価変換に基づいています。RLHFでは報酬モデルを訓練し、それをPPOで最適化しますが、DPOはこの2つのステップを統合した損失関数を導出し、好みデータから直接方策を最適化します。これにより報酬モデルの訓練もPPOの不安定な学習も不要になります。
1好みデータを用意AとBどちらが良いか
▶
2RLHF:報酬モデルいったん点数化する
▶
3DPO:直接調整モデルを直に更新
▶
4手順が短い安定して学習できる
DPOの損失関数
DPOの損失関数は、選好データ(y_w: 好ましい出力、y_l: 好ましくない出力)に対して、好ましい出力の対数確率と好ましくない出力の対数確率の差を最大化する形になっています。参照方策(通常はSFTモデル)からの乖離もKLダイバージェンスとして暗黙的に制御されます。
DPOの発展と影響
DPOの登場以降、IPO、KTO、ORPO、SimPOなど多くの変種が提案され、RLHF代替手法の活発な研究分野が形成されています。DPOは実装の容易さと安定した学習から広く採用されていますが、RLHFほどの最適化能力がないという指摘もあり、両者の使い分けが研究されています。