RLHF/DPO 小話（その２）
和地 瞭良 / Akifumi Wachi

April 22, 2024
RLHF 1 や DPO 2 に関して論文 [Wachi et al., 2024] を最近執筆した。やはり自分で研究すると理解がかなり深まるわけで、巷ではあまり議論されていないことが色々と分かった。なので、すでに公開済みの内容の中から話せる範囲で情報共有して、誰かの役に立てばいいな、と思っている次第である。やる気が持続すればその 4 くらいまでいく予定（多分力尽きる）。

RLHF = Reinforcement Learning from
Human Feedback [Ouyang et al., 2022]
1

DPO = Direct Preference Optimization[Rafailov et al., 2024]2

これまでのコラム（その１）• https://akifumi-wachi-4.github.io/website/jp.html

最適解の骨格・外形はどれも同じ
その１で、RLHF であれ DPO であれ（ΨPO/IPO/KTO も）、「解いているのはすべて同じ問題だ」と述べた。復習になるが、以下の (1)maxπθE x∼ρ,y∼πθ (·| x) [ r ( x, y) ] − βDKL [ πθ (y | x ) ∥ πref (y | x ) ],(1)を解いているのは共通である、というわけである。これまた前回の復習になるが、(1) の最適解は解析的に書くことができ 3
11πr⋆ (y | x ) =πref (y | x ) expr ( x, y) ,(2)Zr ( x; πref )β

骨格・外形自体を変えるという話も存在する。これについては次回解説する予定である（個人的にはこれがおもしろい）。
3なる関係を得る。
いま、(2) をより詳細に眺めてみよう。この式の「意味」を考えてみると、
以下のように解釈できる。

• 報酬関数 r に関して言語モデルをアライメントしたときの最適解
πr⋆ (y | x ) は、リファレンス方策 πref (y | x ) に対して exp β1 r ( x, y)を掛けたものである。

• ただし、すべての x ∈ X に対し、0 ≤ πr⋆ (y | x ) ≤ 1 かつ∑y πr⋆ (y | x ) = 1 となるように分配関数 Zr で正規化する。
そして、(2) は、(1) を解くと決めた段階で、一切の仮定を置くことなくすべて等号で導かれた式である。したがって、RLHF/DPO/ΨPO/IPO/KTO
は、すべて (1) を解いているわけで、目指している解の骨格・外形は同じである、ということを運命づけられていることになる。 4

どこで分岐が生じるのか？
RLHF とそれ以外については、その 1 で述べた通り (2) の関係性を用いるかどうか、という大きな分岐があった。では、(2) を用いる直接法の中で、なぜ様々なアルゴリズムが登場しているのだろうか？

RLHF については、(2) を用いずに (1) を強化学習で解くため、DPO/ΨPO/IPO/KTOと比較して一段と難しいことをしているともみなせる。しかし、目指している解は同じであり、強化学習アルゴリズムが完璧に動作すれば同じ解が理想的には得られる（そんなことは普通無理だが）。
4

2

正解は、

• 「報酬関数に関する仮定の違いに応じてアルゴリズムが派生している」である。逆に言うと、DPO/ΨPO/IPO/KTO といったアルゴリズムは、(2) という最適解の外形が分かっている、という前提のもとで、（人間が内在的に持つ）真の報酬関数r ⋆ に対し、いかに妥当な仮定をおいて πref
1の形を exp β r ( x, y) を掛けて変形させるか、というのを競い合っていることになる。

データセットと報酬構造

Table 1: アルゴリズムの分類

アルゴリズムデータセット報酬関数に関する仮定RLHF
DPO
ΨPOIPO
KTO

Preference データ
Preference データ
Preference データ
Preference データ
Unpaired な二値データ

Bradley-Terry モデル
Bradley-Terry モデル
Bradley-Terry モデルの一般化
ΨPO の特殊なケース（Ψ(q) = q）
Kahneman-Tversky モデル「報酬関数に関する仮定をなににするかでアルゴリズムが派生している」 と述べたが、これには「どのようなデータセットが得られると仮定するか」と密接な関わりをもつ。Table 1に主要なアルゴリズムについてまとめたので参照されたい。 5 6

Preference data と Bradley-Terry モデル
RLHF と DPO は Table 1 に示す通り、データセットに関しても報酬関数に関しても全く同じ仮定を取っている。まず、データセットに関しては、
(i )

(i )

D := {( x (i) , yw , yl )}iN=1 ,(3)という preference data の存在を仮定する。ただし、あるプロンプト x に対し、yw と yl はそれぞれ、より好まれた回答（winner）とそうでない回答 (loser) である。
このとき、人間がラベル付けしたデータ D から、背後に潜む報酬関数 r ⋆を推定するわけだが、このとき Bradley-Terry モデル [Bradley and Terry,1952] に従うと仮定するのが一般的である。 7exp (r ⋆ ( x, yw ))⋆w )) + exp (r ( x, yl ))= σ r ⋆ ( x, yw ) − r ⋆ ( x, yl ) ,p⋆ (yw ≻ yl | x ) =exp (r ⋆ ( x, y(4)(5)

ただし、σ はシグモイド関数である。また、r ⋆ は人間の潜在的な報酬関数であり、 p⋆ (yw ≻ yl | x ) は、「プロンプト x に対して人間がどの程度yw を yl より好むか」を示す確率である。

最近雨後の筍のように色々なアルゴリズムがポコポコ誕生しているのだが、全部紹介していると本当に話したいその 3・4までたどり着かずに力尽きるし、そこまで重要なアルゴリズムが登場しているわ
けでもないと思っているので割愛。
6ORPO [Hong et al., 2024] は注目しておいたほうが良いかもしれない。大抵、SFT→ {RLHF, DPO, KTO} のように学習して、πref をリファレンス方策にするのだが、ORPO はリファレンス方策がそもそも必要ない構造になっている。
5Bradley-Terry モデルは、r ⋆ ( x, yw ) ≫r ⋆ ( x, yl ) のとき、 p⋆ (yw ≻ yl | x ) ≈ 1となり、r ⋆ ( x, yw ) ≪ r ⋆ ( x, yl ) のとき、p⋆ (yw ≻ yl | x ) ≈ 0 と滑らかに変化するようなモデルである。ボードゲームの勝ち負けなど、「比較」に基づくデータの解析に昔からよく用いられる。
7

3RLHF
ここまでくれば、RLHF の説明はもはや終わったも同然である。まず、最初のステップ（reward modeling フェーズと呼ぶ）では、Preferencedata D が Bradley Terry モデルに従うと仮定して、

E ( x,yw ,yl )∼D − log σ rψ ( x, yw ) − rψ ( x, yl )(6)という、negative loglikelihood を最小化することによって、報酬モデルrψ : X × Y → R を得る。その後、PPO や REINFORCE といったアルゴリズムを用いて

maxπθ



E x∼ρ,y∼πθ (·| x) rψ ( x, y) − βDKL [ πθ (y | x ) ∥ πref (y | x ) ],を解く. (1) と違い、r が rψ になっていることに注意されたい。8(1) の解釈についてはその 1 でじっくり解説しているのでそちらを参照されたい。
8DPO
DPO は、RLHF とは異なり、(2) と最適解が書けることを陽に用いた手法である。いま、(2) を変形するとr ( x, y) = β logπθ (y | x )+ β log Zr ( x; πref )πref (y | x )を得る。(2) および (7) の唯一不都合な点として、Zr が1
Zr ( x; πref ) := ∑ πref (y | x ) expr ( x, y)βy(7)(8)というように、∑y によって定義されている点にある。これは、あるプロンプト x に対し、πref が生成しうるあらゆる出力 y に対する和であり、計算するのは容易ではない。
しかし、美しいことに、Bradley Terry モデルの仮定の元、報酬関数を推定する際には、(6) 式のように、r ( x, yw ) − r ( x, yl )(9)という、より好まれた回答 yw と そうでなかった回答 yl との間の報酬の差だけ分かれば良い。いま、Zr ( x; πref ) は y に依存しない関数であることに注意すると、r ( x, yw ) − r ( x, yl )πθ (yw | x )πθ (yl | x )((((((+ β log− β log
Z(Z(r ( x; πref ) − β log
r ( x; πref )((((πref (yw | x ) (πref (yl | x ) (π (y | x )π (yw | x )− β log θ l= β log θπref (yw | x )πref (yl | x )= β logというふうに、Zr ( x; πref ) の項を削除することができる。この式を (6) に代入して得るのが、DPO が結果的に最小化する損失関数であり、以下の4

ように書くことができる。

LDPO (πθ , πref , β)
= −E ( x,yw ,yl )∼D

π (yw | x )π (y | x )log σ β log θ− β log θ lπref (yw | x )πref (yl | x ).

これは、与えられたデータ D のもとで、尤度を最大化しているだけである。「報酬モデルの学習」 → 「強化学習」を行う必要のある RLHF によりはるかにシンプルであるのが分かるだろう。 9

RLHF と DPO の等価性
いま一度、RLHF と DPO の関係性について議論しよう。まず、データセットと報酬関数に関する仮定は、完全に同じである。データセットはPreference data であり、報酬関数も Bradley-Terry Model に従うことを仮定している。解いている問題についても、(1) という完全に同じ問題を解いている。では、(2) や (7) を用いているという点についてはどうであろうか？これらは、(1) の厳密な最適解であり、導出の仮定で一切の仮定や近似なしに、すべて等式で導かれたものである 10 。したがって、
RLHF と DPO は、手順こそ違うものの、同じ問題設定のもと同じ最適解を目指した手法であると言える。これが、「RLHF と DPO は等価である」と言われる所以である。もちろん、両方の手法において最適解は基本的には得られないので、実際に得られる解は当然異なることに注意が必要である。

ΨPO
ΨPO [Azar et al., 2023] は、DPO を一般化したものとして提案されたアルゴリズムである。ΨPO も、RLHF や DPO と同じ Preference data(i )(i )D := {( x (i) , yw , yl )}iN=1 ,を用いて学習を行う。異なる点としては、Ψ : [0, 1] → R + なる非減少関数を導入して、真の報酬関数がr ⋆ ( x, y) = E y′ ∼πref Ψ( p⋆ (y ≻ y′ | x ))(10)という式に従うと仮定していることである。くどいようだが、RLHF やDPO と比較し、ΨPO は、データセットの形式は同じ、最適化すべき式はともに (1) で同じ、報酬関数に関する仮定だけが異なる、という点に注意されたい。
実はこの形は、ΨPO の (10) は、RLHF や DPO で用いられた Bradley
Terry モデル の一般化になっている。なかなか面白いので式を見ていこう。いま、関数 Ψ をq(11)Ψ(q) = log1−q実用上も、計算時間・安定性などの面でDPO が優れている。一方で、RLHF の方が結果的に得られる言語モデルの性能は高い、という報告 [Ahmadian et al., 2024]もあり、RLHF と DPO の優劣は依然として議論の余地がある。ここに関しては私も本当に分からない。
910導出についてはその１参照。

5と定義する。いま、Bradley-Terry モデルに従うp⋆ (y ≻ y′ | x ) = σ( R( x, y) − R( x, y′ ))(12)なる報酬関数 R : X × Y → R が存在するとする。このとき、(10) は、

E y′ ∼πref Ψ( p⋆ (y ≻ y′ | x )) = E y′ ∼πref Ψ( p⋆ (y ≻ y′ | x ))exp( R( x, y))= E y′ ∼πref Ψexp( R( x, y)) + exp( R( x, y′ ))exp( R( x, y))= E y′ ∼πref logexp( R( x, y′ ))= E y′ ∼πref [ R( x, y) − R( x, y′ )]= R( x, y) − E y′ ∼πref [ R( x, y′ )]となる。右辺第二項は定数なので、この報酬関数を (1) に代入したとしても、最適方策には影響を与えない。すると、実質的には報酬関数 R で方策を最適化していることになり、これはまさしく DPO が行っていることと等価である。
また、Azar et al. [2023] では、ΨPO の別の特殊ケースとして IPO を提案している。これは Ψ(q) = q という恒等関数（Identity function）を用いるものである。

KTO
今まで解説した RLHF/DPO/ΨPO/IPO はすべて、Preference data を用いたものであった。ここでいよいよデータセットの形式にメスが入ることになる。
Preference データというのは、同一のプロンプト x に対し、２つ（以上）の出力 y1 と y2 を用意して人間がその優劣をラベル付けするものであった。これはデータ収集のコストが多く、可能であれば• プロンプトと単一の出力 y のペア ( x, y) が良いかどうかのラベルを含んだデータセットのほうが容易に集めることができる。
KTO は、プロスペクト理論 Kahneman and Tversky [1979] 11 に着想を得た手法である。例えば以下のような状況を考えよう。

Kahneman と Tversky がノーベル賞を受賞した経済学の理論。なんかこういうの良いよね11• 当たりとハズレが 50%ずつのくじがあるとする。
• 当たりが出た場合は 200 万円もらえる• はずれが出た場合は 100 万円を支払わなければならない。
論理的に考えれば、このくじの期待値は 50（=200 × 0.5 - 100 × 0.5）万円なので、くじを引くべきである。しかし、「参加しない」という選択をする人が以外にも多い、というのがプロスペクト理論の概略である。
12 これは、人が利得よりも損失を大きく感じる傾向をもち、損失を 2.25

プロスペクト理論自体に関しては素人なので間違えているかも126倍強く感じると推定されている。 13
KTO においては、ある基準点となる報酬関数の値からの差分を、代理的な報酬とみなす。報酬関数の基準値は大抵の場合 πref を用いて計算され、
ν := β DKL [ πθ (y | x ) ∥ πref (y | x ) ]と定義される。 14
プロンプト x と単一の出力 y によって構成されたデータセットeD := {( x (i) , y(i) )}iN=1 に対し、KTO の損失関数は以下のように計算される。
LKTO (πθ , πref , β) = E x,y∼De [ vKTO ( x, y, β) ] ,(13)

ラベルがそこまで緊迫感を持って付けられているのかは結構謎。ユーザーフィー
ドバックを学習に使いやすくなる、みたいな文脈だとそんなに「損失」感じるか？
とか思ったりはする（勘違いしてたら誰か教えて）13

その１でも述べたが、DKL を Reverse
KL divergence の期待値（E x∼ρ ）として定義していることに注意
14

いま、vKTO は価値関数と呼ばれ、ν とひかくしたときの潜在的な報酬関π (y| x )数 rKTO ( x, y) := β log π θ (y| x) の値を用いて以下のように定義される。
ref
 w (1 − σ (r+KTO ( x, y ) − ν ))vKTO ( x, y, β) :=w− (1 − σ (ν − rKTO ( x, y)))ify ∼ y+ | xify ∼ y− | x.

なお、y+ と y− はそれぞれ望ましい回答とそうでない回答であり、w+と w− はそれぞれに対する重みである。 15

今後書くこと（予定）• 言語モデルのアライメントは確率分布を尖らせる？
• (1) で Reverse KL divergence を用いるのは善か悪か• (1) と強化学習の関係• なぜ SACPO は制約付きの方策最適化問題を stepwise に解くことが許されるのか？

References
Arash Ahmadian, Chris Cremer, Matthias Gallé, Marzieh Fadaee,
Julia Kreutzer, Ahmet Üstün, and Sara Hooker. Back to basics: Revisiting REINFORCE style optimization for learning from human
feedback in LLMs. arXiv preprint arXiv:2402.14740, 2024.
Mohammad Gheshlaghi Azar, Mark Rowland, Bilal Piot, DanielGuo, Daniele Calandriello, Michal Valko, and Rémi Munos. Ageneral theoretical paradigm to understand learning from humanpreferences. arXiv preprint arXiv:2310.12036, 2023.
Ralph Allan Bradley and Milton E Terry. Rank analysis of incomplete
block designs: I. the method of paired comparisons. Biometrika, 39(3/4):324–345, 1952.

15
KTO は Preference data を前提としていないので、それぞれの回答が「絶対的に」望ましいかどうか、であることに注意。

7

Jiwoo Hong, Noah Lee, and James Thorne. Reference-free monolithic preference optimization with odds ratio. arXiv preprint
arXiv:2403.07691, 2024.
Daniel Kahneman and Amos Tversky. Prospect theory: An analysisof decision under risk. Econometrica, 47(2):263–292, 1979.
Long Ouyang, Jeffrey Wu, Xu Jiang, Diogo Almeida, Carroll Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, et al. Training language models to follow
instructions with human feedback. Advances in Neural Information
Processing Systems, 35:27730–27744, 2022.
Rafael Rafailov, Archit Sharma, Eric Mitchell, Christopher D Manning, Stefano Ermon, and Chelsea Finn. Direct preference optimization: Your language model is secretly a reward model. Advances in Neural Information Processing Systems, 36, 2024.
Akifumi Wachi, Thien Q Tran, Rei Sato, Takumi Tanabe, and Yohei
Akimoto. Stepwise alignment for constrained language model
policy optimization. arXiv preprint arXiv:2404.11049, 2024.