Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
論文紹介:Direct Preference Optimization: Your Langu...
Search
Kazutoshi Shinoda
August 19, 2024
Technology
4
840
論文紹介:Direct Preference Optimization: Your Language Model is Secretly a Reward Model
第16回 最先端NLP勉強会(2024年8月25-26日)の発表スライドです
Kazutoshi Shinoda
August 19, 2024
Tweet
Share
More Decks by Kazutoshi Shinoda
See All by Kazutoshi Shinoda
論文紹介:Minding Language Models’ (Lack of) Theory of Mind: A Plug-and-Play Multi-Character Belief Tracker
kazutoshishinoda
0
400
Other Decks in Technology
See All in Technology
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
340
20250326_管理ツールの権限管理で改善したこと
sasata299
1
390
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
LINE Notify互換のボットを作った話
kenichirokimura
0
180
20250328_RubyKaigiで出会い鯛_____RubyKaigiから始まったはじめてのOSSコントリビュート.pdf
mterada1228
0
160
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
300
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
2
610
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
220
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
230
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
1
280
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
33
6.5k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
KATA
mclloyd
29
14k
Done Done
chrislema
183
16k
Scaling GitHub
holman
459
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building Applications with DynamoDB
mza
94
6.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Writing Fast Ruby
sferik
628
61k
A better future with KSS
kneath
238
17k
Transcript
Direct Preference Optimization: Your Language Model is Secretly a Reward
Model Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, Chelsea Finn (NeurIPS2023) 第16回 最先端NLP勉強会(2024年8月25-26日) 紹介者:篠田 一聡(NTT人間情報研究所)
はじめに ◼ DPO が arXiv に出たのは 2023年5月で,被引用数は1000以上 ◼ DPO は
RLHF と等価で扱いやすい ◼ DPO の派生手法が山のようにある(IPO, KTO, SimPO, …) ◼ 一方で,最近のLLMではまだDPOが使われている? ✓ Meta の Llama-3 ✓ PFN の PLaMo DPOの何がいいの? DPO にも課題はあるのか?? 2
この発表の目的 ◼ 目的 ✓ DPOの良さを理解する ◼ 目標 ✓ DPO の目的関数を理解する
✓ DPO と RLHF の違いを理解する ✓ DPO と派生手法の違いを理解する 3
背景:LLM のアラインメント ◼ アラインメントの目的 ✓ プロンプトに対して,LLMがより人が好むような出力をすること ➢ 有用性,安全性,事実性, etc. ◼
問題設定 ✓ 𝐷 = 𝑥, 𝑦𝑤 , 𝑦𝑙 𝑛, 𝑥: プロンプト, 𝑦𝑤 : 人が好む出力, 𝑦𝑙 : 人が好まない出力 ✓ LLM に 𝑥 が入力されたら 𝑦𝑙 よりも 𝑦𝑤 を生成するように学習したい 4 「𝑥」 「𝑦1 」 「𝑦2 」 SFT後のLLMが 候補を生成 ユーザーの プロンプト 人がどちらを好むか をアノテーション 𝑦𝑤 𝑦𝑙
背景:RLHF (1/2) ◼ 1. 報酬モデル 𝑟𝜙 𝑥, 𝑦 の学習 出力
𝑦1 が 𝑦2 よりも好まれる確率 を使って 𝐷 = 𝑥, 𝑦𝑤 , 𝑦𝑙 𝑛 で最尤推定 … 直感的には,𝑟𝜙 𝑥, 𝑦𝑤 > 𝑟𝜙 (𝑥, 𝑦𝑙 ) になるように学習 5 𝑝 𝑦1 ≻ 𝑦2 |𝑥 = exp(𝑟𝜙 (𝑥, 𝑦1 )) exp(𝑟𝜙 𝑥, 𝑦1 , +exp(𝑟(𝑥, 𝑦2 ))) 𝐿𝑅 = −𝔼𝐷 [log𝜎( 𝑟𝜙 𝑥, 𝑦𝑤 − 𝑟𝜙 (𝑥, 𝑦𝑙 ))] ← Bradley-Terry model ← 報酬モデルの目的関数
(導出)報酬モデルの目的関数 𝐿𝑅 6 𝐿𝑅 = −𝔼𝐷 log 𝑝 𝑦𝑤 ≻
𝑦𝑙 |𝑥 = −𝔼𝐷 log exp 𝑟𝜙 𝑥,𝑦𝑤 exp 𝑟𝜙 𝑥,𝑦𝑤 +exp 𝑟𝜙 𝑥,𝑦𝑙 = −𝔼𝐷 log 1 1+exp − 𝑟𝜙 𝑥,𝑦𝑤 −𝑟𝜙 𝑥,𝑦𝑙 = −𝔼𝐷 [log 𝜎(𝑟𝜙 𝑥, 𝑦𝑤 − 𝑟𝜙 𝑥, 𝑦𝑙 )]
背景:RLHF (2/2) ◼ 2. 強化学習 (PPO) 𝜋𝜃 (𝑦|𝑥) を学習中のLLM, 𝜋ref
(𝑦|𝑥) をSFT後のLLMとして, 𝜋ref から 𝜋𝜃 (𝑦|𝑥) が離れすぎないようにしながら報酬 𝑟𝜙 を最大化 𝜋𝜃 と 𝜋ref が離れすぎてしまうと,報酬モデルが正確でなくなる,出力の多 様性がなくなる,などの弊害がある 7 max 𝜋𝜃 𝔼𝑥~𝐷,𝑦~𝜋𝜃(𝑦|𝑥) 𝑟𝜙 𝑥, 𝑦 − 𝛽𝔻KL [𝜋𝜃 𝑦 𝑥 ||𝜋ref 𝑦 𝑥 ] ↑𝑦 は 𝜋𝜃 から生成
DPO ◼ 目的関数 8 𝜋𝜃 (𝑦|𝑥) :学習中のLLM 𝜋ref (𝑦|𝑥) :SFT後のLLM
𝐿DPO = −𝔼𝐷 log𝜎 𝛽 log 𝜋𝜃 𝑦𝑤 𝑥 𝜋ref 𝑦𝑤 𝑥 − 𝛽 log 𝜋𝜃 𝑦𝑙 𝑥 𝜋ref 𝑦𝑙 𝑥
(導出)RLHF の目的関数の最適解 9 ← RLHFの目的関数 ← KLの定義 ← -1/β倍 ←
log (確率/確率)の 形を作る 𝔻KL [𝜋(𝑦|𝑥)||𝜋∗(𝑦|𝑥)] は 𝜋 𝑦 𝑥 = 𝜋∗(𝑦|𝑥) の時に最小値を取る. よって最適解は = 𝜋∗(𝑦|𝑥) ※ 𝑍(𝑥) は分配関数
(導出)DPO の目的関数 10 ← RLHF の最適解 ← 式変形(Your Language Model
is Secretly a Reward Model) 𝐿DPO = −𝔼𝐷 log𝜎 𝛽 log 𝜋𝜃 𝑦𝑤 𝑥 𝜋ref 𝑦𝑤 𝑥 − 𝛽 log 𝜋𝜃 𝑦𝑙 𝑥 𝜋ref 𝑦𝑙 𝑥 ← 報酬モデルの目的関数に代入 分配関数 𝑍(𝑥) が消える
実験設定 タスク ◼ Controlled sentiment generation ✓ 入力:映画のレビューのプレフィックス ✓ 出力:ポジティブなレビュー
✓ データセット:IMDb ◼ Summarization ✓ 入力:Redditのポスト ✓ 出力:要約 ✓ データセット:Reddit TL;DR summarization dataset ◼ Single-turn dialogue ✓ 入力:ユーザーのクエリ ✓ 出力:応答 ✓ データセット:Anthropic Helpful and Harmless dialogue dataset 11 評価 ◼ 参照文と生成文をGPT-4 が比べて勝率を出す ✓ 高い方がいい ◼ (IMDbは)感情分類器 で報酬を計算 ✓ 高い方がいい ◼ 𝔻KL [𝜋||𝜋ref ](トークンご とに計算して合計) ✓ 低い方がいい
DPOは… 12 𝜋ref と離れずに高い報酬を達成 = 目的関数の最適化に成功 温度に対して頑健で,PPOよりも高い勝率 対話では,対等な評価では DPOのみが勝率5割ごえ 訓練の早い段階で勝率が収束
分布外に対して PPOより頑健
DPO と RLHF の違いまとめ ◼ 数学的に両者は等価だが,DPO は報酬モデルの学習と強化学習が不要 ◼ DPO は
RLHF よりハイパラが少ないので最適化が成功しやすく,性能も高 い 13
派生手法たち 14 Wang et al. 2024. A Comprehensive Survey of
LLM Alignment Techniques: RLHF, RLAIF, PPO, DPO and More (左から順に) RM1: 報酬モデルを明示的に作るか? RM2: 出力ごとに報酬スコアを返すか? RM3: 報酬は文 or トークンレベル? RM4: 人が書いた負例のみを使うか? F1: 選好(ペア)データが必要か? F2: 人 or AI がフィードバック F3: 3つ以上のランクリストを使うか? RL1: 参照方策(SFTモデル)が必要か? RL2: 出力長に対して制約があるか? RL3: KL以外のダイバージェンス RL4: 学習モデルでサンプリングするか? O1: 学習中に選好データを作り直すか? O2: SFTとアラインメントは別々に行う? DPO →
派生手法たち ◼ IPO ✓ RLHF/DPO の報酬モデルが過学習する問題を,報酬ではなく選好確率を 目的関数にすることで回避 ◼ KTO ✓
ペアデータがいらず,ある出力が良いか悪いか,だけで学習可能 ◼ SimPO ✓ 出力長に制約を設ける + 参照モデルをなくして計算量を軽減 ◼ NPO ✓ DPO の負例の項だけで訓練して,好ましくない出力を忘却 ◼ Iterative DPO ✓ DPOは分布シフトに弱かったが,最新のモデルでサンプリング・アノテ ーションを繰り返すことで分布シフトの問題を回避 ✓ 参考: https://tech.preferred.jp/ja/blog/plamo-100b-post-training/ 15
まとめ ◼ RLHF の最適解が定まるところから,DPOの目的関数が導出できる ◼ DPO は RLHF と等価だが,報酬モデルの訓練と強化学習が不要で, ハイパラが少なく最適化が上手くいって性能も高い
◼ DPO の課題としては,SFT後のモデルで確率を評価する必要がある, 人が好む出力と好まない出力のペアが必要,分布シフトに弱い,など があり,それらに対応するための派生手法が存在 16