DPO(Direct Preference Optimization/直接選好最適化)は、「どちらの回答が良いか」という好みペアから、LLMの出力方針を直接学習する手法です。RLHFが報酬モデル+強化学習(PPOなど)の多段パイプラインだったのに対し、DPOはその中間工程を飛ばす近道——本記事は損失関数の導出ではなく、「何を省略したか」という整理に焦点を当てます。
好みデータという共通入力
RLHFもDPOも、出発点は似ています。同じプロンプトに対し、モデルが複数の回答を生成し、人がより良い方を選ぶ——この「chosen(選ばれた)/rejected(却下された)」のペアが好みデータです。
G-370が示すように、RLHFは「人間のフィードバックを報酬モデルなどに反映してモデルを調整する」考え方です。DPOも人間の好みに近づける目的は同じですが、反映の経路が異なります。
RLHFが踏む3段階
試験でよく出るRLHFの流れをおさらいします(HQ-0311)。
- SFT — 良い応答例でファインチューニング
- 報酬モデル — 好みペアから「回答の質」を数値化するモデルを学習
- 強化学習 — 報酬が高くなるよう方策を更新(PPOなど、G-366)
この3段目が、実装・安定性の面でコストや難易度の源になりやすい——DPOはここに着目した後続手法の一つです。
DPOが省略するもの
DPOの設計思想はシンプルに言えば次のとおりです。
好みペアから、報酬モデルを明示的に学習せず、言語モデルの方策を直接最適化する。
| 工程 | RLHF | DPO |
|---|---|---|
| 好みデータ | 使う | 使う |
| 報酬モデル | 別途学習 | 明示的に省略 |
| 強化学習(PPO等) | 実施 | 直接最適化で代替 |
| 目的 | 望ましい出力へ調整 | 同左(アライメントの手段) |
試験では数式より「RLHFの簡略化・代替」として押さえるのが効率的です。製品がDPOかRLHFかは公開情報に依存するため、概念の層(目的・入力・工程の違い)で答える姿勢が重要です。
RLHF・CAI・FTとの違い
| 用語 | 入力・手段 | 位置づけ |
|---|---|---|
| DPO | 好みペア → 直接方策最適化 | アライメントの実装手法 |
| RLHF | 好み → 報酬モデル → RL | 代表的多段パイプライン |
| Constitutional AI | 原則に基づく自己批判・修正 | 人間FB依存を減らす別方向 |
| ファインチューニング | 正解ラベル付きデータで追加学習 | 好み最適化とは目的が異なることも |
| アライメント | — | 上位概念。DPOは手段の一つ |
DPO=ChatGPT、DPO=RLHFの定義(TF-0166のようなすり替え)——いずれも試験の定番の罠です。
試験で押さえるポイント
- 定義 — 好みデータから直接方策を最適化する手法
- 対比 — RLHFは報酬モデル+強化学習の多段構成(G-370、HQ-0311)
- 層 — アライメントの実装の一つ。定義そのものではない
- すり替え回避 — 対話サービス名・教師なし学習・データ拡張ではない
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| DPO=RLHF | 直接最適化 vs 報酬モデル+RL |
| DPO=アライメントの定義 | 手段 vs 上位の考え方 |
| DPO=Constitutional AI | 好みペア最適化 vs 原則ベース自己修正 |
| DPO=ChatGPT | 学習手法 vs 対話サービス(TF-0166) |
| DPO=事前学習 | 調整・安全化の事後工程 |
よくある質問
DPOは何をする手法ですか?
同じプロンプトに対し、人が選んだ回答(chosen)と選ばなかった回答(rejected)のペアから、言語モデルがより好ましい出力をするよう直接学習する手法です。RLHFのように報酬モデルを別途学習しPPOで方策更新する段階を簡略化したアプローチとして知られます。
DPOとRLHFは同じですか?
同じではありません。RLHFは人間の好みを報酬モデルに変換し、強化学習(PPOなど)で方策を更新する多段パイプラインです。DPOは好みペアから方策を直接最適化し、報酬モデル学習とRLの工程を省略する方向の手法です。いずれもアライメントの実装手段として語られます。
DPOはアライメントの定義ですか?
いいえ。アライメントは人間の意図や価値観に沿わせる上位の考え方です。DPOはその実現手法の一つであり、RLHFやConstitutional AIと並ぶ調整・安全化の手段として位置づけられます。