DPOとは

DPOとは、「どちらの回答が好ましいか」という人間の好みのデータから、別途の報酬モデル強化学習を使わずに、AIを直接調整して人間の好みへ合わせる手法です。RLHFという従来のやり方を大きく簡単にした方法で、2023年5月にスタンフォード大学の研究者らが発表しました。

英語表記:Direct Preference Optimization(DPO)

DPOの仕組み

従来のRLHFは、「人間の好みを点数化する報酬モデルを作る」「その点数を頼りに強化学習で調整する」という2段構えでした。DPOはこの流れを、1つの素直な学習問題に置き換えます。具体的には、人間が好んだ回答が出やすくなり、好まれなかった回答が出にくくなるよう、モデルを直接学習させます。間に報酬モデルを挟まず、試行錯誤させる強化学習のループも回しません。だから学習が安定し、扱いやすくなります。

RLHF・PPOとの違い

RLHFでは、人間の好みに合わせる強化学習の部分にPPOがよく使われます。報酬モデルとPPOを組み合わせるこの方式は柔軟ですが、部品が多く調整が難しく、不安定になりがちでした。DPOは報酬モデルも強化学習も省き、好みのデータから一気に最適化するため、実装がぐっと簡単になります。論文では、感情の傾きを制御する課題でPPOを用いたRLHFを上回ったとも報告されました。なお、DPOの後にもさまざまな派生手法が提案されており、選好を学ばせる工夫は今も進化を続けています。

活用の位置づけ

DPOは、その手軽さからオープンソースのモデル調整で広く使われるようになりました。まずSFTでお手本を真似る土台を作り、続いてDPOで人間の好みへ寄せる、という流れが定番の一つです。大がかりな強化学習の仕組みを用意しなくても好みに合わせられるため、限られた体制でも品質を底上げしやすい手法といえます。

Topic論文の副題「言語モデルは、実はこっそり報酬モデル」

DPOの論文には、印象的な副題が付いています。直訳すると「あなたの言語モデルは、実はこっそり報酬モデルでもある」。従来は人間の好みを測る報酬モデルをわざわざ別に用意していましたが、研究チームは「その役割は、実は言語モデル自身が内側に隠し持っている」と見抜きました。だから報酬モデルを別建てする必要も、強化学習を回す必要もなく、1つの学習で直接好みに合わせられる。発想の転換を、そのままタイトルで言い切った一文です。

DPOに関するよくある質問

DPOとRLHFは何が違いますか?
従来のRLHFは報酬モデルを作り、強化学習で調整する2段構えです。DPOは報酬モデルも強化学習も使わず、人間の好みのデータから直接最適化する点が違い、実装が簡単で学習も安定します。
DPOとPPOはどちらを使えばよいですか?
DPOは仕組みが単純で扱いやすく、まず試しやすい選択肢です。PPO(報酬モデルと強化学習の組み合わせ)は複雑ですが柔軟さがあります。論文ではDPOがPPOベースのRLHFを上回った例も示されており、用途と体制で選ぶことになります。
「Secretly a Reward Model」とはどういう意味ですか?
DPO論文の副題で「言語モデル自身が、実は報酬モデルの役割を内側に持っている」という主張です。だから報酬モデルを別に作らなくても、好みに合わせる調整ができる、という発想を表しています。

あわせて読みたい記事