この記事は CyberAgent Developers Advent Calendar 2024 22日目の記事です。
はじめに
CyberAgent AI Lab の Reinforcement Learning チームのリサーチサイエンティストの森村です。 CyberAgent の Developer Experts として、Labの研究活動だけではなく強化学習の実応用にも取り組んでいます。
昨今、生成AIやLLM(Large Language Models)は飛躍的な進化を遂げ、その影響は私たちの生活や仕事にとどまらず、社会全体を大きく変えつつあります。中でも、GPT-3からChatGPTへの進化は、技術者の間で話題だったGPTが一般の方にも広く知られ、瞬く間に世界中で利用されるようになった大きな転換点でした。この進化を支えた技術のひとつが、RLHF(Reinforcement Learning from Human Feedback)です。
RLHFは、膨大な知識が詰め込まれている一方で、扱いが難しかったLLMを、より人間にとって使いやすい形にする技術のひとつです。このような技術全般は「LLMアライメント」と呼ばれ、人間の価値観や安全性、そして使いやすさをLLMに反映することを目指しています。
RLHFは強化学習(RL)を用いてLLMをファインチューニングしますが、RLではなく教師あり学習を基にした方法でも、同様のLLMアライメントが可能であることが示されています。その代表的な手法が、皆様もご存じのDPO(Direct Preference Optimization)です。
RLHFとDPOは、最終的に同じ目的を達成するための異なるアプローチであり、最適化の観点からは同じ目的関数を扱っているとみなすことができます。しかし、アプローチや手続きが大きく異なるため、「常に同じ結果になるのか」「どのような状況で違いが出るのか」といった疑問を抱く方も多いと思います。
そこで本記事では、この点をできるだけ簡単に数理的に整理し、年末にすっきりした気持ちで新年を迎えていただけるような内容を目指しました。数理的な背景をself-containedに説明することを意識しており、事前知識がほぼなくても読めるよう、「機械学習の復習」という節も用意しています。RLHFやDPOを聞いたことがない方でも、「LLMに人間の価値観をどう埋め込むのか?」というLLMアライメント(ファインチューニング)に興味があればお楽しみいただけたら幸いです。
一方で、具体的なアルゴリズムや実装は扱いません。また、アドカレの記事ということで、数学的な厳密性よりも、わかりやすさを重視しました。この分野の研究開発は非常に活発で、アルゴリズムの改良や問題設定の再定式化など多くの拡張が報告されていますが、それについてはまた別の機会に触れたいと思います。
機械学習の復習
機械学習を理解する上で最も重要な指標として、カルバック・ライブラーダイバージェンス(Kullback–Leibler divergence; 以下KLダイバージェンス)があります。これは2つの確率分布 P(x) と Q(x) の間の「差異」を測る指標として知られています。厳密には数学的な意味での「距離」ではありませんが、分布がどれだけ異なるかを表す尺度として広く用いられています。
定義は次の通りです:
$$D_{\textrm{KL}}[P \,|\!|\, Q]= \sum_x P(x) \log \frac{P(x)}{Q(x)}$$
KLダイバージェンスの重要な性質として、次の非負性が成り立ちます:
$$D_{\textrm{KL}}[P \,|\!|\, Q] \geq 0 $$
そして、\(D_{\textrm{KL}}[P |\!| Q] \) がゼロになるのは、2つの確率分布が一致 P(x) = Q(x) の場合のみです。これらのことは、Jensenの不等式(補足参照)を使って簡単に示すことができます。具体的には、\(\phi(y) =\, – \log y\) は凸関数ですから、ランダムな値(確率変数)\(Y\)について、Jensenの不等式(\(\phi(\mathbb{E}[Y]) \leq \mathbb{E}[\phi(Y)] \))より、
$$ -\log(\mathbb{E}[Y]) \leq \, – \mathbb{E}[\log Y]$$
が成立し、等号が成立するのは \(Y\) が定数の場合のみです。ここで、\(\mathbb{E}[Y]\) は \(Y\) の期待値、また \(\mathbb{E}[\phi(Y)]\) は \(Y\) に関数 \(\phi\) を適用した値の期待値です。\(P(X)/Q(X)\) を確率変数\(Y\)とみなせば、KLダイバージェンスを以下のように書き下せます。
\begin{align*}
D_{\textrm{KL}}[ P \,|\!|\, Q ] &=\, – \sum_x P(x) \log \frac{Q(x)}{P(x)}
\\&=\, – \mathbb{E}_{P} \left[ \log Y \right]
\\& \geq\, – \log (\mathbb{E}_{P} [ Y ]) \hspace{2cm} \rm(Jensen)
\\&=\, – \log \sum_{x} P(x) \frac{Q(x)}{P(x)}
\\&=\, – \log 1
\\&=\, 0
\end{align*}
つまり、KLダイバージェンスが非負であることがわかりました。そして、Jensenの不等式の等号が成立するのは\(Y = P(X)/Q(X)\)が定数の場合のみですから、それはすべてのxでP(x)とQ(x)が一致している場合に他なりません。なお、KLダイバージェンスは非対称であり、一般に\(D_{\textrm{KL}}[ P \,|\!|\, Q ]=D_{\textrm{KL}}[ Q \,|\!|\, P ]\)は成立しません。
次に、KLダイバージェンスが機械学習でどのように扱われているかをおさらいしましょう。生成モデルの学習では、データセット \(D = \{x_1,\dots,x_N \}\)から確率モデル \(\pi_\theta(x)\) のパラメータ\(\theta\)を推定します。その際、以下の対数尤度関数を最大化します:
$$ l(\theta) = \frac{1}{N}\sum_{n=1}^N \log \pi_\theta(x)$$
各サンプル \(x\) が目的分布\(P(x)\)から観測される場合、漸近的には(データ量 N が十分に大きい場合)、この手法は次の値を最大化していることに対応します:
$$ \sum_x P(x) \log \pi_\theta(x)$$
これは、KLダイバージェンス\(D_{\rm KL}[P |\!| \pi_\theta] = \sum P(x) \log P(x) \,-\, \sum P(x) \log \pi_\theta(x)\) の \(\pi_\theta\)に依存する部分(第二項)を最小化していることに対応します。KLダイバージェンスを完全に最小化してゼロにできれば、目的分布 \(P\) を完全に再現するモデル \(\pi_\theta\) を得られることを意味します。
このような背景から、機械学習では上述のようにモデル\(\pi_\theta\)を第二引数にする \(D_{\rm KL}[ P \,|\!|\, \pi_\theta ] \)を「順KL(Forward KL)」、逆に第一引数にする \(D_{\rm KL}[ \pi_\theta \,|\!|\, P ]\) を「逆KL(Reverse KL)」と呼んだりします。
LLMアライメントの問題設定
LLMアライメントは目的は人間の価値をLLMに反映することです。一般なアプローチは下図になります。
LLMアライメントのためのデータセットの作成では、まずLLMに対応してほしい入力 \(x\) を多数準備します。これは、指示文やプロンプトと呼ばれたりします。次に、各プロンプト\(x\) に対して人間(もしくはLLM)が2つの応答\(y_a, y_b\) を作成して、pairwiseデータセットを準備します。このpairwiseデータセットの各サンプル\((x, y_a, y_b)\)に対して、アノテーターが \(y_a\) と \(y_b\) のどちらの応答が好ましいかをラベル付けし、選好データセット(preference dataset)を作成します。以下、選好データセットを
$$\mathcal{D}= \{(x^{(n)}, y_w^{(n)}, y_l^{(n)})\}_{n=1}^N$$
と書くことにします。ここで、\(y_w\) と \( y_l\) はそれぞれ、プロンプト \(x\) に対して、好ましいとアノテーションされた応答(winner)とそうでない応答(loser)を表します。
RHLFもDPOも、選好データセット \(\mathcal{D}\) からLLMをファインチューニングします。その際、両手法とも人間によるアノテーションは、報酬と呼ばれるプロンプト応答ペア \((x, y)\) に対する評価値 \( r_{\rm human}(x,y) \)に従っていると仮定していて、\(\mathcal{D}\) から報酬 \( r_{\rm human}\) を紐解いて、以下の目的関数 \(L(\pi_\theta)\)の最大化するLLM \(\pi_{\theta^*}\) の獲得を目指します。
$$ L(\pi_\theta) \, = \, \sum_{x}\rho(x) \left\{ \sum_y \pi_{\theta}(y|x)\, r_{\rm human}(x, y) \,-\, \beta D_{\rm KL}[\pi_\theta(\cdot|x) \,|\!|\, \pi_{\rm ref}(\cdot|x)] \right\}$$
ここで、\(\rho(x)\) はプロンプト\(x\)の確率分布で、LLMがどの \(x\) に遭遇しやすいかを表します。\(\pi_{\rm ref}\) は基準LLM(reference LLM)と呼ばれるもので、多くの場合、LLMアライメントされる初期LLMが用いられ、本記事では紹介しませんが、初期LLMは事前学習済みのLLMを教師ありファインチューニングされたものであることが多いです。なお、以降では表記の簡便性を優先し、特に必要がない限り、プロンプト \(x\) を省略します。このとき、 \(L(\pi_\theta)\) は以下のようになります:
$$ L(\pi_\theta) \, = \, \sum_y \pi_{\theta}(y)\, r_{\rm human}(y) \,-\, \beta D_{\rm KL}[\pi_\theta \,|\!|\, \pi_{\rm ref}] \tag{1}$$
目的関数 \(L(\pi_\theta)\)を解説します。第一項は、LLM \(\pi_\theta\) による期待報酬を表していて、大きいほど、LLMが人間の価値観 \(r_{\rm human}\) に従っていることになります。第二項は、基準LLM \(\pi_{\rm ref}\)との逆KLで、LLM \(\pi_\theta\) が \(\pi_{\rm ref}\) から離れることへの罰則項になります。この項はKL正則化項と呼ばれ、LLMが報酬に過適応して、事前学習で獲得していた元来のLLMの能力がLLMアライメントにより失われないようにするための項です。なお、\(\beta\) は報酬最大化と基準LLMへの近接度合いを調整するハイパーパラメーターになり、大きいほど基準LLMとの差異を考慮することになります。
Bradley-Terryモデル
LLMアライメントのための選好データセット \( \mathcal{D}\) と目的関数 \(L(\pi_\theta)\)を導入しましたが、まだ報酬 \(r_{\rm human}\)とアノテーション結果の関係性についての議論が足りていません。この関係性を規定する代表的なモデルとしてBradley-Terryモデルがあり、RLHFもDPOもこのモデルのもと導出されます。
Bradley-Terryモデル \(p_{\rm BT}\) は選好モデルの一種であり、2つの応答 \(y_a, y_b\)のどちらが好ましいかの判断は確率的であり、その確率はそれぞれの報酬 \( r(y_a)\) と \(r(y_b)\) の差によって決まります:
$$p_{\rm BT}(y_a \succ y_b \,|\, r) = \sigma( r(y_a) – r(y_b) )$$
ここで、\(y_a \succ y_b\) は「\(y_a\) は \(y_b\) よりも好ましい」という事象を意味し、\(\sigma(z) = \frac{1}{1+\exp(-z)}\) はシグモイド関数です。つまり、人によるアノテーションは確率 \( p_{\rm BT}(y_a \succ y_b \,|\, r_{\rm human})\)で \(y_a\) が好ましいと判断され、確率 \( p_{\rm BT}(y_b \succ y_a \,|\, r_{\rm human}) = 1- p_{\rm BT}(y_a \succ y_b \,|\, r_{\rm human})\) で \(y_b\) が好ましいと判断された、という仮定を置いていることになります。
Bradley-Terryモデルの限界として、選好に循環があるものは扱えません。例えば、じゃんけんのように「グー」は「チョキ」に勝り、「チョキ」は「パー」に勝るけれど、「グー」は「パー」には負ける、という循環的な関係性を表現できません。
以上で、LLMアライメントの手法を説明する道具がそろったので、以降でRLHFとDPOの2つのアプローチを紹介していきます。どちらもLLM \(\pi_\theta\) のファインチューニングになりますが、記事のタイトルで予告しているように、どの世界線(文脈)で行うのかが異なります。RLHFはテキスト生成の世界線で、DPOは選好モデリングの世界線で、\(\pi_\theta\) を最適化します。そのため、適用する機械学習法も異なり、RLHFは \(\pi_\theta\) が生成する応答(テキスト)を用いて \(\pi_\theta\) を更新していくので強化学習に分類されます。一方で、DPOでは、どちらの応答が好ましいかを判別する分類問題の学習を扱うため、教師あり学習に基づくものになるわけです。
RLHF(強化学習に基づくLLMアライメント)
RLHFは2ステップからなります。報酬モデル \( r_{\rm human}\) の推定と、報酬モデルを用いたLLM \(\pi_\theta\)の学習です。
報酬モデル \( r_{\rm human}\) の推定は、選好データセット \(\mathcal{D}\) を用いて、適当にパラメータ化されたモデル \(r_\phi\) の対数尤度最大化によって行われます。もし、モデル \(r_\phi\) が \( r_{\rm human}\) を正確に表現できるほどの表現力を持ち、選好データが(あらゆるプロンプト \(x\) について)すべての応答 \(y\) を十分に含む場合、「機械学習の復習」で説明したように、対数尤度の最大化により、アノテーション結果の生成する確率分布 \(p_{\rm BT}(\cdot \,|\, r_{\rm human})\) と学習対象の確率分布 \(p_{\rm BT}(\cdot \,|\, r_\phi)\) のKLダイバージェンス \(D_{\rm KL}[p_{\rm BT}(\cdot \,|\, r_{\rm human}) \,|\!|\, p_{\rm BT}(\cdot \,|\, r_{\phi})] \) はゼロになり、両確率分布は厳密に一致します。このとき、あらゆる応答 \(y\) に対して、
$$r_{\rm human}(y) = r_\phi(y) + b$$
が成立します。ここで、\(b\) は適当な定数です。というのも、Bradley-Terryモデルは2つの応答の報酬の差のみを参照するため、報酬全体が \(b\) だけシフトしてもモデルの出力は変わらず、この項は残念ながら特定することができません。ただし、この \(b\) はLLMの目的関数 \( L(\pi_\theta)\) でも定数で、LLM \(\pi_\theta\) に依存しない定数になるので、\(b\) がいくつであっても最適化で求まる \(\pi_{\theta^*}\)も不変なので、実はなんの問題もありません。
定数項 \(b\) は良いとしても、本当に \(p_{\rm BT}(\cdot \,|\, r_{\rm human}) = p_{\rm BT}(\cdot \,|\, r_{\phi})\) なら \(r_{\rm human} = r_\phi + b\) なのでしょうか。これは背理法により確認できます。仮にある \(y\) で \(r_{\rm human}(y) = r_\phi(y) + b\) が成立していても、別の \(y’\) では成立していないとしましょう。このとき、\(r_{\rm human}(y) – r_{\rm human}(y’) \neq r_{\phi}(y) – r_{\phi}(y’) \) となり、結果として \(p_{\rm BT}(y\succ y’ \,|\, r_{\rm human}) \neq p_{\rm BT}(y\succ y’ \,|\, r_{\phi})\) となります。これは、最初の条件 \(p_{\rm BT}(\cdot \,|\, r_{\rm human}) = p_{\rm BT}(\cdot \,|\, r_{\phi})\) に反する結果であり、矛盾します。よって、\(p_{\rm BT}(\cdot \,|\, r_{\rm human}) = p_{\rm BT}(\cdot \,|\, r_{\phi})\) ならば、 \(r_{\rm human} = r_\phi + b\) は成立します。
ステップ1で報酬モデルを推定することで、式 (1) のLLMアライメントの目的関数 \(L(\theta)\) の評価も可能になり、
\begin{align*}
L(\pi_\theta) \ &=\ \sum_y \pi_{\theta}(y)\, r_{\rm human}(y) \,-\, \beta D_{\rm KL}[\pi_\theta \,|\!|\, \pi_{\rm ref}]
\\&\simeq\
\sum_y \pi_{\theta}(y)\, r_{\phi}(y) \,-\, \beta D_{\rm KL}[\pi_\theta \,|\!|\, \pi_{\rm ref}]
\\&=\
\sum_y \pi_{\theta}(y) \left\{ r_{\phi}(y) \,-\, \beta\log \frac{\pi_\theta(y)}{\pi_{\rm ref}(y)} \right\}
\\&=\
\sum_y \pi_{\theta}(y)\, r(y)
\end{align*}
となるので、報酬関数を
$$r(y) = r_{\phi}(y) \,-\, \beta\log \frac{\pi_\theta(y)}{\pi_{\rm ref}(y)}$$
と定義し、PPOやREINFORCEなどの方策勾配強化学習アルゴリズムでLLM \(\pi_\theta\) を最適化できます。少し余談ですが、この報酬関数 \(r(y)\) は \(\log \pi_\theta(y)\) を含み、\(\pi_\theta\) に依存するため、学習中に \(\pi_\theta\) が更新されると報酬関数も変化します。しかし、以下のように計算すると、
$$\sum_y \pi_\theta(y) \nabla \log \pi_\theta(y) = \sum_y \pi_\theta(y) \frac{1}{\pi_\theta(y)} \nabla \pi_\theta(y) = \nabla \sum_y \pi_\theta(y) = \nabla 1 = 0$$
となり、この部分の勾配はゼロであることがわかります。そのため、報酬関数 \(r(y)\) を \(\pi_\theta\) に依存しないものとして扱っても問題ありません。
以上より、適切な条件のもと、RLHFは真に目的関数 \(L(\theta)\) を最大化するLLM \(\pi_{\theta^*}\) の学習が可能であることがわかりました。
DPO(教師あり学習に基づくLLMアライメント)
RLHFはテキスト生成の世界線で、テキストを生成するLLMをLLMのまま最適化していたので、非常に直感的なアプローチだったと思います。一方で、DPOは選好モデリングの世界線で、LLMを最適化します。なぜこれが可能になるかというと、式 (1) のLLMアライメントの目的関数 \(L(\pi_\theta)\)が嬉しい形をしているからです。
LLM \(\pi_\theta\) が(あらゆるプロンプト \(x\) について)任意の \(y\) の確率分布を表現できるなら、逆KL正則化付きの期待報酬 \(L(\pi_\theta)\)を最大にするLLM \(\pi_{\theta^*} = \arg \max L(\pi_\theta)\) は、以下のように解析的に求めることが可能です:
\begin{align}
\pi_{\theta^*}(y) = \frac{1}{Z_\beta} \pi_{\rm ref}(y)\exp\bigg( \frac{1}{\beta} r_{\rm human}(y) \bigg)
\tag{2}
\end{align}
ここで、\(Z\)は \(\pi_{\theta^*}\) が確率分布として成立する条件(\(\sum_y \pi_{\theta^*}(y) = 1\) )を満たすための正規化項です。つまり、
$$Z_\beta = \sum_y \pi_{\rm ref}(y) \exp\bigg( \frac{1}{\beta} r_{\rm human}(y) \bigg)$$
であり、分配関数と呼ばれたりもします。KL正則化付き期待効用最大化問題の最適方策はDPOに限らずよく利用されるのと、本記事は数理的にself-containedであることを目指しているため、以下に導出を示します。目的関数 \(L(\pi_\theta)\) を
\begin{align*}
L(\pi_\theta) &= \sum_y \pi_\theta(y) \left\{ r_{\rm human}(y) \,-\, \beta \log \frac{\pi_\theta(y)}{\pi_{\rm ref}(y)} \right\}
\\&=
\beta \sum_y \pi_\theta(y) \left\{ \log\bigg(\exp\!\bigg( \frac{1}{\beta}r_{\rm human}(y) \bigg)\bigg) \,-\, \log \frac{\pi_\theta(y)}{\pi_{\rm ref}(y)} \right\}
\\&=
– \beta \sum_y \pi_\theta(y) \left\{ \log \frac{\pi_\theta(y)}{\pi_{\rm ref}(y) \exp\!\bigg( \frac{1}{\beta}r_{\rm human}(y) \bigg)} \right\}
\\&=
– \beta \sum_y \pi_\theta(y) \left\{ \log \frac{\pi_\theta(y)}{ \frac{1}{Z_\beta} \pi_{\rm ref}(y) \exp\!\bigg( \frac{1}{\beta}r_{\rm human}(y) \bigg)} \,-\, \log Z_\beta\right\}
\\&=
– \beta D_{\rm KL}[\pi_\theta \,|\!|\, \pi_{\theta^*}] + \beta \log Z_\beta
\end{align*}
と書き直せます。第二項は \(\pi_\theta\) に依存しないので、KLダイバージェンス \(D_{\rm KL}[\pi_\theta \,|\!|\, \pi_{\theta^*}]\) を最小(ゼロ)にすれば、\(L(\pi_\theta)\) は最大化されます。それは「機械学習の復習」で確認したように、\(\pi_\theta\) が \(\pi_{\theta^*}\) の場合のみです。
式(2) の最適LLM\(\pi_{\theta^*}\) を整理すると、人間の報酬モデル \(r_{\rm human}\) は \(\pi_{\theta^*}\) を用いて
\begin{align}
r_{\rm human}(y) = \beta \log \frac{\pi_{\theta^*}(y)}{\pi_{\rm ref}(y)} + \beta \log Z_\beta
\tag{3}
\end{align}
と表現できます。このことより、DPOでは、
$$r_{\theta}(y) = \beta \log \frac{\pi_{\theta}(y)}{\pi_{\rm ref}(y)}$$
という構造を持つ報酬モデル(パラメータは \(\theta\))を用いて、RLHFの場合と同様、選好モデルの対数尤度
$$\log p_{\rm BT}(y \succ y’ \,|\, r_{\theta}) = \sigma(r_{\theta}(y) \,-\, r_{\theta}(y’)) = \sigma\!\left( \beta \log \frac{\pi_{\theta}(y)}{\pi_{\rm ref}(y)} \,-\, \beta \log \frac{\pi_{\theta}(y’)}{\pi_{\rm ref}(y’)} \right) $$
を、選好データセット \(\mathcal{D}\) について最大化すれば、適当な条件下で \(r_{\theta}\) は漸近的に \(r_{\rm human}\) に一致します。つまり、このときに最適化されたパラメータを \(\theta^\star\) とすれば、あらゆる \(y\) で
$$r_{\rm human}(y) = r_{\theta^\star}(y) + b \tag{4}$$
が成立します。適当な条件下というのは、もちろんRLHFの場合と同様で、モデル \(r_\theta \) の表現力に加え、\(\mathcal{D}\) が(あらゆるプロンプト \(x\) について)すべての応答 \(y\) を十分に含む必要があります。
この選好モデリングに最適化されたパラメータ \(\theta^\star\) が、式(2)の最適LLMのパラメータ \(\theta^*\) と一致することはなんとなく予想がつくと思いますが、念の為確認しましょう。式 (4) に式 (3) を代入します。
$$\beta \log \frac{\pi_{\theta^*}(y)}{\pi_{\rm ref}(y)} + \beta \log Z_\beta = r_{\theta^\star}(y) + b $$
\(r_{\theta^\star} \)は \(\beta \log \frac{\pi_{\theta^\star}(y)}{\pi_{\rm ref}(y)}\) であるから、上式は
\begin{align}
&\ \ \beta \log \frac{\pi_{\theta^*}(y)}{\pi_{\rm ref}(y)} + \beta \log Z_\beta = \beta \log \frac{\pi_{\theta^\star}(y)}{\pi_{\rm ref}(y)} + b
\\ \Leftrightarrow \ \ &\ \
\pi_{\theta^*}(y) + Z_\beta = \pi_{\theta^\star}(y) + \tilde b
\end{align}
となります。ここで、\(\tilde b=\exp(b/\beta)\)です 。さらに、両辺で \(y\) について和を取れば、 \(\sum_y \pi_{\theta^*}(y) = \sum_y \pi_{\theta^\star}(y) =1\) なので、\( Z_\beta = \tilde b\) であることがわかります。よって、\(\pi_{\theta^*} = \pi_{\theta^\star}\) であることが示されました。
以上より、適切な条件のもと、RLHFと同様、DPOも \(\pi_{\theta^*}\) の学習が可能であることを確認できました。なお、DPOで注目すべき点は、選好モデリングの1ステップのみで、選好データセットから直接的にLLM \(\pi_\theta\) を最適化しているところです。このことは手法名の由来でもあります。
まとめ:RLHFとDPOの関係性
LLMアライメントには、RLHFのようにテキスト生成の設定でLLMを最適化する世界線と、DPOのように応答分類の問題の設定でLLMを最適化する世界線があることを数理的に確認しました。どちらも、
(条件i) モデルの自由度が十分にある
(条件ii) 選好データセット \(\mathcal{D}\) があらゆるプロンプト\(x\) について、すべての応答 \(y\) を十分に含む
という理想的な条件下では、真の最適LLMを求めることが可能でした。つまり、この条件であれば、RLHFもDPOも最終的に求まるLLMは同じと言えます。
小規模なタスクであれば、この条件を満たせるかもしれません。しかし、LLMは自然言語処理が対象であり、\(x\) の候補も \(y\) の候補も実質無数に存在して、それらを十分に揃えた選好データセットを準備することは困難です。さらに、任意の確率分布を表現できるモデルとなると、ビリオンやトリリオン単位のパラメータを持つモデルでも限界があります。つまり、実質的にはRLHFとDPOが一致する条件を満たすのは難しく、用いるアプローチによって結果が異なってくるのです。
RLHFは、報酬モデルを推定し、それを用いてLLMを最適化するため、選好データセットのデータ数と多様性が十分に確保され、報酬モデルが正しく汎化できていれば、2ステップ目の強化学習でLLMを適切にアライメントできることが期待されます。しかし、データの外挿部分などの予測には限界があるため、報酬モデルの過剰最適化や強化学習アルゴリズムの不安定性、ハイパーパラメーター依存性に悩まされることがあります。
一方でDPOは、強化学習と比べて挙動が安定しやすい教師あり学習に基づいているため、安定したLLMアライメントが期待できます。しかし、選好データセットのデータ点以外は考慮されないため、データに含まれない領域では基準LLMから大きく乖離する可能性があり、さらに選好データセットの応答の質に強く依存するため、適切にチューニングされたRLHFに比べて性能が劣る場合があります。
このように、現状どちらにも課題があるため、それぞれを改善する手法や、両者の特性を組み合わせたアプローチがすでに提案されています。今後もさらなる改良が加えられ、多様な手法が登場することが期待されます。
補足
Jensenの不等式の直感的な説明
知らないと「Jensenの不等式」は難しそうに思えるかもしれませんが、実は直感的に理解しやすい内容です。
- 「Jensenの不等式」は、凸関数という特別な形の関数についての不等式です。凸関数 \(\phi(x)\)とは、例えば \(x^2\) や \(\exp(x)\) のように、関数上の2つの点を結ぶ直線が常に関数の曲線よりも上に位置する性質を持つ関数を指します。このため、凸関数の形状は「下に膨らむ」よう見えます。(直線も凸関数に含まれますが、ここでは常にカーブのある厳密凸関数を扱います)
- この特徴から、平均を取ってから関数を適用した結果は、各点に関数を適用してから平均を取った値よりも小さくなります。これが「Jensenの不等式」です。
式で書くとこうなります:
$$\phi\left( \mathbb{E}[X] \right) \leq \mathbb{E}[\phi(X)]$$
重要なポイントとして、等号が成立するのは \(X\) が定数の場合に限られます。例えば、\(X = c\) なら \(\mathbb{E}[X] = c\) となり、\(\phi(\mathbb{E}[X]) = \phi(c) = \mathbb{E}[\phi(X)]\) が成り立ちます。
具体例で考えてみましょう
Jensenの不等式が具体的な例でどのように成り立つのかを確認しましょう。ここでは、凸関数 \(\phi(x) = x^2\) として、点 \(x_1 = 1, x_2 = 3\) に、それぞれの重みとして \(P(x_1) = 0.4, P(x_2) = 0.6\) を設定します。
- 平均を取ってから関数を適用: $$\phi(\mathbb{E}[X])=(0.4 \cdot 1 + 0.6 \cdot 3)^2 = 4.84$$
- 各点に関数を適用してから平均を取る:$$\mathbb{E}[\phi(X)]=0.4 \cdot 1^2 + 0.6 \cdot 3^2 = 5.6$$
というわけで、\(\phi(\mathbb{E}[X]) \leq \mathbb{E}[\phi(X)]\) が成り立つことが確認できました。