AI・機械学習
上級

Direct Preference Optimization(DPO)(ダイレクトプリファレンスオプティマイゼーション)

DPO(Direct Preference Optimization)は、報酬モデルを明示的に学習せずに人間の選好データから直接LLMを最適化する手法で、RLHFの簡略化代替として2023年にStanford大学が提案した

0 回閲覧
0 いいね

DPO(Direct Preference Optimization)は、従来のRLHF(Reinforcement Learning from Human Feedback)パイプラインで必要だった報酬モデルの明示的な学習とPPO(Proximal Policy Optimization)による強化学習ステップを省略し、人間の選好データから直接言語モデルのポリシーを最適化する手法である。2023年5月にStanford大学のRafailov らが論文「Direct Preference Optimization: Your Language Model is Secretly a Reward Model」で発表した。

概要

DPOの核心的なアイデアは、Bradley-Terryモデルに基づく選好確率と最適ポリシーの間に閉形式の対応関係が存在することを利用する点にある。従来のRLHFでは(1)SFT(Supervised Fine-Tuning)→(2)報酬モデル学習 →(3)PPOによるRL最適化という3段階が必要だったが、DPOでは(1)SFT →(2)DPO損失による直接最適化の2段階に短縮される。DPO損失関数は以下の形式を取る:

L_DPO(π_θ; π_ref) = -E[(y_w, y_l) ~ D] [log σ(β · (log π_θ(y_w|x)/π_ref(y_w|x) - log π_θ(y_l|x)/π_ref(y_l|x)))]

ここで y_w は選好されたレスポンス、y_l は棄却されたレスポンス、π_ref はリファレンスポリシー(SFTモデル)、β は温度パラメータである。

主な特徴・仕組み

  • 報酬モデル不要: 選好データから直接ポリシーを最適化するため、報酬モデルの学習・推論コストが不要
  • PPO不要: 強化学習の不安定性(報酬ハッキング、KLダイバージェンス発散)を回避
  • メモリ効率: PPOでは4モデル(ポリシー・リファレンス・報酬・バリュー)が必要だが、DPOでは2モデル(ポリシー・リファレンス)のみ
  • 計算コスト: A100 80GB×8基で Llama-2-7B のDPO学習は約2-4時間(PPOの約1/3)
  • β パラメータ: 通常 0.1-0.5 の範囲。低いほど選好データへの適合が強く、高いほどリファレンスポリシーに近づく
  • データ要件: 選好ペア 10,000-100,000 件が標準。UltraFeedback(63,967ペア)やHH-RLHF(169,352ペア)が代表的データセット
  • 収束安定性: 教師あり学習と同等の安定した勾配降下で最適化可能
  • 理論保証: KL正則化付き報酬最大化問題の最適解と等価であることが証明されている

代表的な実装・採用事例

モデル/プロジェクトDPO適用対象データセット結果
Zephyr-7B-betaMistral-7B-v0.1UltraFeedback 63KMT-Bench 7.34(GPT-3.5級)
Intel Neural Chat 7BMistral-7B独自選好データOpen LLM Leaderboard上位
Nous Hermes 2Llama-2系複合選好データ汎用チャット性能向上
Starling-7BOpenChat-3.5Nectar 183KAlpacaEval 2.0で高スコア
Tulu 2 (AI2)Llama-2-70B複合RLHF比でほぼ同等性能

RLHFとの比較

観点RLHF (PPO)DPO
パイプラインSFT→報酬モデル→PPOSFT→DPO
必要モデル数4(ポリシー/参照/報酬/価値)2(ポリシー/参照)
GPU メモリ70B で A100×16+ 必要70B で A100×8 で可能
学習安定性報酬ハッキングリスク安定した収束
ハイパーパラメータPPO固有の複数パラメータβ のみ(実質1つ)
性能上限理論的に高いPPOにやや劣る場合あり
実装難易度高(RL基盤必要)低(教師あり学習と同等)

実装方法・ツール

DPOは TRL(Transformer Reinforcement Learning)ライブラリで簡単に実装できる。HuggingFace の DPOTrainer クラスを使用し、SFTモデルとトークナイザー、選好データセットを渡すだけで学習が開始できる。主要パラメータは β(デフォルト0.1)、学習率(1e-6〜5e-7推奨)、バッチサイズ(選好ペア単位)である。QLoRAと組み合わせることで、RTX 4090(24GB VRAM)1枚でも7Bモデルの DPO 学習が可能になる。

限界と発展

DPOの主な限界は(1)オフポリシー問題(学習中にポリシーが変化してもデータが固定)、(2)長さバイアス(長い応答を選好しやすい)、(3)選好データの品質依存性が高い点である。これらの課題を解決するために IPO、KTO、ORPO、SimPO などの後継手法が提案されている。2025-2026年の最新動向として、オンラインDPO(OAIF)やイテレーティブDPOが注目を集めている。

よくある質問(FAQ)

Q1: DPOとRLHFはどちらが性能が高いですか? A: 同等のデータ品質・量であればRLHF(PPO)がわずかに上回る場合が多いが、実装コストと安定性を考慮するとDPOの方が実用的である。Meta の Llama 2 論文でもPPOとDPOの性能差は僅差と報告されている。

Q2: DPOに必要な選好データはどのくらいですか? A: 7Bモデルの場合、10,000〜50,000ペアで有意な改善が見られる。UltraFeedback(約64,000ペア)が標準的なベンチマークデータセットとして広く使われている。

Q3: DPOはLoRA/QLoRAと組み合わせられますか? A: 可能。QLoRA + DPO の組み合わせにより、RTX 4090(24GB)1枚で7Bモデルの選好最適化が実行できる。TRL の DPOTrainer は PEFT と統合されている。

まとめ

  • DPOは報酬モデルとPPOを省略し、選好データから直接LLMを最適化する手法
  • Stanford大学が2023年に提案、RLHFの実用的代替として急速に普及
  • 実装が容易で安定した収束を実現し、HuggingFace TRL で数行のコードで利用可能
  • 後継手法(IPO, KTO, ORPO, SimPO)の基盤となる重要なマイルストーン