【ディーピーオー】

DPO(Direct Preference Optimization) とは?

💡 報酬モデルなんていらない!好みデータだけでAIを躾ける近道
📌 このページのポイント
DPO vs RLHF 学習フローの比較 RLHF(従来) 好みデータ 報酬モデル学習 PPO強化学習 調整済みLLM DPO(新手法) 好みデータ 直接ポリシー最適化 調整済みLLM DPOは報酬モデルが不要 → シンプル&高速
DPOとRLHFの学習フロー比較
ひよこ ひよこ

DPOってRLHFと何が違うの?

ペンギン先生 ペンギン先生

RLHFは「まず報酬モデルを作って、それを使ってAIを強化学習で鍛える」という2段階だったんだ。DPOはその報酬モデルの部分をスキップして、人間の好みデータから直接AIを調整できる方法だよ

ひよこ ひよこ

なんでそんなことができるの?

ペンギン先生 ペンギン先生

数学的なトリックがあってね。「この回答の方が良い」というペアデータがあれば、報酬モデルがやっていた役割を損失関数の中に組み込めることが証明されたんだ。結果的にやってることは似てるけど、手順がぐっとシンプルになったよ

ひよこ ひよこ

シンプルだと何が嬉しいの?

ペンギン先生 ペンギン先生

まず実装が楽になる。RLHFだと報酬モデルの学習、PPOの調整と複雑な工程があったけど、DPOはほぼ普通のファインチューニングと同じ感覚で回せるんだ。GPUメモリも節約できるしね

ひよこ ひよこ

じゃあもうRLHFは使われないの?

ペンギン先生 ペンギン先生

そうとも限らないよ。タスクによってはRLHFの方が安定する場合もあるし、DPOにも「データの質に敏感」という弱点がある。最近はIPO、KTO、ORPOなどDPOの改良版もたくさん出ていて、好みの学習は今一番ホットな研究分野の一つだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「DPO」って出てきたら「報酬モデルなしで人間の好みに合わせるLLM学習法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Direct Preference Optimization」 = 直接的な選好最適化
💬 Directは「直接」、Preferenceは「好み」、Optimizationは「最適化」。報酬モデルを介さず直接好みを学ぶから「ダイレクト」なんだよ
← 用語集にもどる