一文定義
DPO(Direct Preference Optimization)とは、人間の好みデータから直接ポリシーを最適化するアライメント手法です。強化学習不要でRLHFより安定した学習が可能で、LLMのfine-tuningで広く採用されています。
詳細解説
DPO(Direct Preference Optimization:直接選好最適化)とは、Rafailovらが2023年に提案した、人間の好みデータ(どちらの回答が良いかの比較)から直接言語モデルのポリシーを最適化するアライメント手法です。RLHFで必要だった「報酬モデルの訓練」と「強化学習(PPO)」という複雑な2段階プロセスを、単一の分類タスクとして単純化しました。
DPOが重要な理由は、RLHFの複雑さと不安定さという実装上の課題を解消し、より少ないコンピューティングで高品質なアライメントを実現できるためです。reward-modelを明示的に学習する必要がなく、好まれる回答と好まれない回答のペアから直接モデルを最適化します。これにより、個人・中小企業でもアライメントの実施が容易になりました。
数学的には、RLHFの最適解が閉形式で書けることを利用して、強化学習を分類損失(Binary Cross-Entropy)に書き換えています。オープンソースコミュニティでの普及度が高く、Llama・Mistral・Phiなどのモデルのアライメントにも採用されています。DPOの変種として、SimPO・IPO・KTO・ORPOなどが提案されており、より安定した学習・少ないデータでの性能向上を目指しています。sftによる教師あり学習の後にDPOを適用する「SFT + DPO」パターンが現在の標準的なfine-tuningパイプラインです。
参考情報・出典
- ▸Direct Preference Optimization: Your Language Model is Secretly a Reward Model— arXiv / Rafailov et al. (2023)(参照日: 2026-02-26)
- ▸DPO - Hugging Face TRL Documentation— Hugging Face(参照日: 2026-02-26)