4 Direct Preference Optimization
大規模言語モデルのファインチューニングのような大規模な問題に強化学習アルゴリズムを適用する際の課題を踏まえ、我々の目標は選好を直接用いる方策最適化の単純な手法を導出することである。報酬を学習してから強化学習によって最適化する従来のRLHF手法とは異なり、我々の手法では、報酬モデルの特定のパラメータ化を利用することで、強化学習の学習ループを介さずに最適方策を閉形式で導出できる。次に詳しく述べるように、我々の重要な着想は、報酬関数から最適方策への解析的な写像を利用し、報酬関数上の損失関数を方策上の損失関数へと変換することである。この変数変換によるアプローチでは、Bradley-Terryモデルなど、既存の人間の選好モデルに基づく最適化を維持したまま、明示的な独立した報酬モデルの適合を避けられる。本質的には、方策ネットワークが言語モデルと(暗黙的な)報酬の両方を表す。
DPO目的関数の導出
一般的な報酬関数 r のもとで、先行研究と同じ強化学習目的関数である Eq. 3 から始める。先行研究 [31]、[30]、[19]、[15] に従うと、Eq. 3 の KL制約付き報酬最大化目的関数の最適解が次の形式をとることは容易に示せる。
πr(y∣x)=Z(x)1πref(y∣x)exp(β1r(x,y)),(4)
ここで、Z(x)=∑yπref(y∣x)exp(β1r(x,y)) は分配関数である。完全な導出については付録 A.1 を参照されたい。真の報酬関数 r∗ のMLE推定値 rϕ を用いる場合であっても、分配関数 Z(x) の推定には依然として大きなコストがかかり [19]、[15]、この表現は実際に利用しにくい。しかし、Eq. 4 を変形すれば、報酬関数を、それに対応する最適方策 πr、参照方策 πref、および未知の分配関数 Z(⋅) によって表せる。具体的には、まず Eq. 4 の両辺の対数を取り、いくつかの代数的操作を行うと、次を得る。
r(x,y)=βlogπref(y∣x)πr(y∣x)+βlogZ(x).(5)
この再パラメータ化を、真の報酬 r∗ と対応する最適モデル π∗ に適用できる。幸いなことに、Bradley-Terryモデルは2つの完了文の報酬の差のみに依存する。すなわち、p∗(y1≻y2∣x)=σ(r∗(x,y1)−r∗(x,y2)) である。r∗(x,y) に対する Eq. 5 の再パラメータ化を選好モデル Eq. 1 に代入すると、分配関数は相殺され、人間の選好確率を最適方策 π∗ と参照方策 πref のみを用いて表せる。したがって、Bradley-Terryモデルのもとでの最適なRLHF方策 π∗ は、次の選好モデルを満たす。
p∗(y1≻y2∣x)=1+exp(βlogπ∗(y2∣x)πref(y2∣x)−βlogπref(y1∣x)π∗(y1∣x))1.(6)
導出は付録 A.2 に示す。Eq. 6 ではBradley-Terryモデルを用いているが、付録 A.3 に示すように、より一般的なPlackett-Luceモデル [32]、[23] のもとでも同様に式を導出できる。報酬モデルではなく最適方策を用いて人間の選好データの確率を表せるようになったため、パラメータ化された方策 πθ に対する最尤目的関数を定式化できる。報酬モデル化のアプローチ(すなわち Eq. 2)と同様に、方策の目的関数は次のようになる。
LDPO(πθ;πref)=−E(x,yw,yl)∼D[logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))].(7)
この方法では、別のパラメータ化を用いて暗黙的な報酬を適合させ、その最適方策は単に πθ となる。さらに、我々の手順は再パラメータ化されたBradley-Terryモデルの適合と等価であるため、選好データ分布に関する適切な仮定のもとでの一致性 [4] など、一定の理論的性質を備えている。DPOの理論的性質と他の研究との関係については、Section 5 でさらに議論する。
DPOの更新は何を行うのか?
DPOの仕組みを理解するには、損失関数 LDPO の勾配を分析するとよい。パラメータ θ に関する勾配は、次のように表せる。
∇θLDPO(πθ;πref)=−βE(x,yw,yl)∼D[σ(r^θ(x,yl)−r^θ(x,yw))⋅(∇θlogπθ(yw∣x)−∇θlogπθ(yl∣x))],
ここで、r^θ(x,y)=βlogπref(y∣x)πθ(y∣x) は、言語モデル πθ と参照モデル πref によって暗黙的に定義される報酬である(詳細は Section 5)。直感的には、損失関数 LDPO の勾配は、選好される完了文 yw の尤度を上げ、選好されない完了文 yl の尤度を下げる。重要なのは、例の重みが、暗黙的な報酬モデル r^θ が選好されない完了文をどれほど高く評価しているかに応じて定まり、β によってスケーリングされる点である。つまり、KL制約の強さを考慮しつつ、暗黙的な報酬モデルが完了文の順序をどれほど誤っているかに応じて重み付けされる。我々の実験は、この重み付けの重要性を示唆している。重み係数を用いない素朴な手法では、言語モデルが退化する可能性がある(付録 表 3)。
DPOの概要
DPOの一般的なパイプラインは次のとおりである。1) 各プロンプト x に対して πref(⋅∣x) から完了文 y1,y2∼πref(⋅∣x) をサンプリングし、人間の選好によってラベル付けして、オフラインの選好データセット D={(x(i),yw(i),yl(i))}i=1N を構築する。2) 与えられた πref と D、および所望の β に対して、LDPO を最小化するよう言語モデル πθ を最適化する。実際には、サンプルを生成して人間の選好を収集するよりも、公開されている選好データセットを再利用することが望ましい。選好データセットは πSFT を用いてサンプリングされているため、利用可能な場合は πref=πSFT と初期化する。しかし、πSFT が利用できない場合は、選好される完了文 (x,yw) の尤度を最大化して πref を初期化する。すなわち、
πref=argπmaxEx,yw∼D[logπ(yw∣x)].
この手順により、利用できない真の参照分布と、DPOで用いる πref との間の分布シフトを軽減できる。実装とハイパーパラメータの詳細については、付録 B を参照されたい。