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
1k
論文紹介: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
440
Other Decks in Technology
See All in Technology
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
400
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
520
AI エージェントと考え直すデータ基盤
na0
20
7.9k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
110
CDK Vibe Coding Fes
tomoki10
1
630
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
3
460
Data Engineering Study#30 LT資料
tetsuroito
1
200
Digitization部 紹介資料
sansan33
PRO
1
4.5k
TLSから見るSREの未来
atpons
2
310
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Docker and Python
trallard
45
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Site-Speed That Sticks
csswizardry
10
700
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Language of Interfaces
destraynor
158
25k
Making Projects Easy
brettharned
116
6.3k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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