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
1.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
論文紹介:Safety Alignment Should be Made More Than Just a Few Tokens Deep
kazutoshishinoda
0
8
論文紹介:Minding Language Models’ (Lack of) Theory of Mind: A Plug-and-Play Multi-Character Belief Tracker
kazutoshishinoda
0
450
Other Decks in Technology
See All in Technology
広島発!スタートアップ開発の裏側
tsankyo
0
240
Browser
recruitengineers
PRO
4
330
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
630
トヨタ生産方式(TPS)入門
recruitengineers
PRO
3
240
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1.1k
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
1
310
制約理論(ToC)入門
recruitengineers
PRO
3
310
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
190
JOAI発表資料 @ 関東kaggler会
joai_committee
1
330
.NET開発者のためのAzureの概要
tomokusaba
0
230
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
4
760
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing for Performance
lara
610
69k
Documentation Writing (for coders)
carmenintech
73
5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Applications with DynamoDB
mza
96
6.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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