モデルのしくみ 上級
DPO
Direct Preference Optimization
「AとBのどちらの回答がよいか」という人の好みのデータから、報酬モデルを別に作らずにモデルを直接調整する手法です。RLHF より手順が簡単になるため、広く使われています。
例人が選んだ回答と選ばなかった回答のペアを集め、報酬モデルを作らずに DPO で調整した。
詳しく
DPO(Direct Preference Optimization、直接選好最適化)は、人が付けた「この回答のほうがよい」という比較データを使って、言語モデルを直接調整する学習方法です。2023年に提案され、RLHF の代わりとして広まりました。
背景:RLHF の手間
RLHF では、まず人間の好みを学ぶ報酬モデルを作り、次に強化学習でその報酬が高くなるよう言語モデルを更新します。報酬モデルの用意、強化学習の不安定さ、調整すべき設定の多さなど、実装と運用の負担が大きいことが課題でした。
しくみ
DPO は、報酬モデルを別に作らず、好みの比較データをそのまま使って言語モデルを学習します。データは次の形です。
- 指示(プロンプト)
- 選ばれた回答(人が好んだほう)
- 選ばれなかった回答(好まなかったほう)
学習では、基準となるモデル(SFT 後のモデルなど)からあまり離れすぎない範囲で、「選ばれた回答の確率を相対的に上げ、選ばれなかった回答の確率を下げる」ように更新します。数学的には、RLHF が目指していた目的を、強化学習を使わずに通常の教師あり学習に近い形の損失で書き直したものです。
具体例
料理教室で、先生が2つの試作品を並べ、「こちらのほうが良い」と評価するだけの指導を想像してください。レシピ(絶対的な正解)を示すのは手本をまねる SFT に近く、2品を比べて好みを伝えるのが DPO です。比べるほうが、人にとって判断しやすい場合が多くあります。
使うときの注意・よくある誤解
- 好みのデータの質が結果を決める:比較の基準があいまいだったり、評価者によってばらついたりすると、学習がうまくいきません。
- 長い回答に偏ることがある:評価者が長い回答を好む傾向があると、モデルも冗長になりやすくなります。
- 万能の勝者ではない:DPO と RLHF のどちらが良いかは、タスクやデータ、実装次第で、一律には決まりません。実際の学習では、複数の手法を組み合わせることもあります。
- 基準モデルが前提:多くの場合、まず SFT でおおよその振る舞いを整えてから DPO をかけます。
- 派生手法も多数提案されています。名称や違いは頻繁に更新されるので、使うときは最新の資料を確認してください。
関連する考え方
DPO は、人の価値観や意図に合わせるアラインメントの手法の1つです。「回答に原則を当てはめて自分で評価させる」Constitutional AI のような方法でできた比較データを、DPO で使うこともあります。軽量な LoRA と組み合わせれば、小さな計算資源でも試せます。
あわせて知りたい言葉
- RLHF(人間のフィードバックによる強化学習)人が「どちらの回答が良いか」を比べた評価データをもとに、モデルの出力を人の好みや方針に近づける学習方法です。チャット向け LLM を役に立ち、安全に振る舞うよう調整する工程で使われてきました。
- 教師ありファインチューニング人が用意した「入力と望ましい出力」の組を使って、モデルに手本どおりの答え方を学習させる方法です。事前学習した後のモデルを、指示に従うアシスタントに仕立てる基本の工程です。
- 報酬モデル回答の良し悪しを数値で評価するよう学習させたモデルです。人間の好みをAIに伝える手段として、RLHFなどでモデルを調整するときに使われます。人の好みを数値に置き換える役割を担います。
- アラインメントAI が人間の意図や価値観に沿って動くようにするための考え方と技術の総称です。指示に正しく従うことに加え、有害な出力を避け、誠実であること、人の判断を尊重することなども目指します。
- Constitutional AIAnthropic が提案した、人が1件ずつ有害性を判定する代わりに、あらかじめ決めた原則(憲法)に照らして AI 自身に回答を評価・修正させる学習方法です。人手の負担を減らせます。