传统的偏好优化主要基于 RLHF, 其过程为:SFT, reward modeling, RLHF. 其中 reward model 的训练至关重要,对最终模型的表现有非常大的影响。但是 RLHF 的问题在于其训练复杂且经常不稳定。
为了解决这个问题,(Rafailov et al., 2023 ) 提出了 Direct Preference Optimization (DPO), DPO 通过构建 reward function 和最优策略之间的关系,进而通过训练 policy model 来同时完成 reward model 的训练。这样,我们就避免了 reward model 的训练。结果发现,DPO 的表现超过了之前的偏好优化方法。
作者首先回顾了 RLHF, RLHF 的 pipeline 如下
其包含了三个步骤:
SFT
RLHF 首先基于 base model 通过 SFT 得到一个初始模型 π S F T \pi^{\mathrm{SFT}} π SFT .
Reward modeling
接下来,我们给定输入 x x x , 对 π S F T \pi^{\mathrm{SFT}} π SFT 采样得到 ( y 1 , y 2 ) ∼ π S F T ( y ∣ x ) (y_1,y_2)\sim \pi^{\mathrm{SFT}}(y\mid x) ( y 1 , y 2 ) ∼ π SFT ( y ∣ x ) . 输出 y 1 , y 2 y_1, y_2 y 1 , y 2 然后由人类进行打分得到偏好关系 y w < y l ∣ x y_w<y_l\mid x y w < y l ∣ x , 表示 y w y_w y w 比 y l y_l y l 更符合人类的 pian hao 偏好,一般来说我们假设真实的偏好是由一个 reward function r ∗ ( x , y ) r^*(x,y) r ∗ ( x , y ) 产生的,即 y w ≻ y l ⇔ r ∗ ( x , y w ) > r ∗ ( x , y l ) y_w\succ y_l \Leftrightarrow r^*(x, y_w)>r^*(x, y_l) y w ≻ y l ⇔ r ∗ ( x , y w ) > r ∗ ( x , y l ) . reward modeling 通常基于 Bradley-Terry (BT) 模型得到,BT model 定义人类真实偏好分布 p ∗ p^* p ∗ 如下:
p ∗ ( y 1 > y 2 ∣ x ) = exp ( r ∗ ( x , y 1 ) ) exp ( r ∗ ( x , y 1 ) ) + exp ( r ∗ ( x , y 2 ) ) p^*(y_1>y_2\mid x)= \frac{\exp(r^*(x, y_1))}{\exp(r^*(x, y_1))+\exp(r^*(x, y_2))} p ∗ ( y 1 > y 2 ∣ x ) = exp ( r ∗ ( x , y 1 )) + exp ( r ∗ ( x , y 2 )) exp ( r ∗ ( x , y 1 ))
假设我们从分布 p ∗ p^* p ∗ 中采集到一个数据集 D = { ( x ( i ) , y w ( i ) , y l ( i ) ) } i = 1 N \mathcal{D}=\{(x^{(i)},y_w^{(i)},y_l^{(i)})\}_{i=1}^N D = {( x ( i ) , y w ( i ) , y l ( i ) ) } i = 1 N , 我们可以通过 MLE 来估计得到一个 reward model r ϕ ( x , y ) r_{\phi}(x,y) r ϕ ( x , y ) , 通过将这个问题转换为一个二分类问题,我们得到对应的 negative log-likelihood loss 如下:
L R ( r ϕ , D ) = − E ( x , y w , y l ) ∼ D [ log σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) ] \mathcal{L}_R(r_\phi, D) = -\mathbb{E}_{(x,y_w,y_l)\sim \mathcal{D}}\left[\log \sigma\left(r_\phi(x,y_w)-r_\phi(x,y_l)\right)\right] L R ( r ϕ , D ) = − E ( x , y w , y l ) ∼ D [ log σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) ]
其中 σ \sigma σ 是 logistic function. 在 LLM 中,r ϕ ( x , y ) r_\phi(x,y) r ϕ ( x , y ) 通常由 π S F T \pi^{\mathrm{SFT}} π SFT 初始化得到,然后我们在 π S F T \pi^{\mathrm{SFT}} π SFT 最后一层加入一个 linear layer 来得到对应的 reward 的预测值。一般地,为了降低 reward function 的 variance, 之前的工作会进行 normalization, 即 E ( x , y ) ∼ D [ r ϕ ( x , y ) ] = 0 \mathbb{E}_{(x,y)}\sim\mathcal{D}[r_{\phi}(x,y)]=0 E ( x , y ) ∼ D [ r ϕ ( x , y )] = 0 for all x x x .
RL fine-tuning
这个阶段,我们基于学习到的 reward function r ϕ ( x , y ) r_\phi(x,y) r ϕ ( x , y ) 来为 LLM 的训练提供奖励,作者使用了和 RLHF 一样的目标函数:
max π θ E x ∼ D , y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) ] − β D K L [ π θ ( y ∣ x ) ∥ π r e f ( y ∣ x ) ] \max_{\pi_\theta}\quad \mathbb{E}_{x\sim \mathcal{D}, y\sim \pi_\theta(y\mid x)}\left[r_\phi(x,y)\right] - \beta\mathbb{D}_{\mathrm{KL}}\left[\pi_\theta(y\mid x)\Vert \pi_{\mathrm{ref}}(y\mid x)\right] π θ max E x ∼ D , y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) ] − β D KL [ π θ ( y ∣ x ) ∥ π ref ( y ∣ x ) ]
这里 β > 0 \beta>0 β > 0 是超参数,用于控制 π θ \pi_\theta π θ 相对于 π r e f \pi_{\mathrm{ref}} π ref 的偏离程度, π r e f \pi_{\mathrm{ref}} π ref 一般就是 π S F T \pi^{\mathrm{SFT}} π SFT . 实际上, π θ \pi_\theta π θ 也由 π S F T \pi^{\mathrm{SFT}} π SFT 初始化.
DPO 的主要目标是构建一个更简单的 policy optimization 方法。与 RLHF 不同,DPO 跳过了 reward modeling 这一阶段,而是直接使用偏好数据来优化大语言模型
为了实现这个目标,作者第一步就是构建 reward model 和 policy model 之间的关系。注意到
max π θ E x ∼ D , y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) ] − β D K L [ π θ ( y ∣ x ) ∥ π r e f ( y ∣ x ) ] = max π θ E x ∼ D E y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) − β log π θ ( y ∣ x ) π r e f ( y ∣ x ) ] = min π θ E x ∼ D E y ∼ π θ ( y ∣ x ) [ log π θ ( y ∣ x ) π r e f ( y ∣ x ) − 1 β r ϕ ( x , y ) ] = min π θ E x ∼ D E y ∼ π θ ( y ∣ x ) [ log π θ ( y ∣ x ) 1 Z ( x ) π r e f ( y ∣ x ) exp ( 1 β r ϕ ( x , y ) ) − log Z ( x ) ] \begin{aligned}
&\max_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}, y\sim \pi_\theta(y\mid x)}\left[r_\phi(x,y)\right] - \beta\mathbb{D}_{\mathrm{KL}}\left[\pi_\theta(y\mid x)\Vert \pi_{\mathrm{ref}}(y\mid x)\right]\\
&= \max_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi_\theta(y\mid x)}\left[r_\phi(x,y) - \beta\log\frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}\right]\\
&= \min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi_\theta(y\mid x)}\left[\log\frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}-\frac{1}{\beta}r_\phi(x,y)\right]\\
&= \min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi_\theta(y\mid x)}\left[\log\frac{\pi_\theta(y\mid x)}{\frac{1}{Z(x)}\pi_{\mathrm{ref}}(y\mid x)\exp\left(\frac1\beta r_\phi(x,y)\right)}-\log Z(x)\right]\\
\end{aligned} π θ max E x ∼ D , y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) ] − β D KL [ π θ ( y ∣ x ) ∥ π ref ( y ∣ x ) ] = π θ max E x ∼ D E y ∼ π θ ( y ∣ x ) [ r ϕ ( x , y ) − β log π ref ( y ∣ x ) π θ ( y ∣ x ) ] = π θ min E x ∼ D E y ∼ π θ ( y ∣ x ) [ log π ref ( y ∣ x ) π θ ( y ∣ x ) − β 1 r ϕ ( x , y ) ] = π θ min E x ∼ D E y ∼ π θ ( y ∣ x ) log Z ( x ) 1 π ref ( y ∣ x ) exp ( β 1 r ϕ ( x , y ) ) π θ ( y ∣ x ) − log Z ( x )
其中 Z ( x ) Z(x) Z ( x ) 是 partition function, 定义如下
Z ( x ) = ∑ y π r e f ( y ∣ x ) exp ( 1 β r ϕ ( x , y ) ) Z(x) = \sum_{y} \pi_{\mathrm{ref}}(y\mid x)\exp\left(\frac1\beta r_\phi(x,y)\right) Z ( x ) = y ∑ π ref ( y ∣ x ) exp ( β 1 r ϕ ( x , y ) )
注意到 partition function 只是 x x x 和 π r e f \pi_{\mathrm{ref}} π ref 的函数,而不依赖于 π θ \pi_\theta π θ , 因此我们定义
π ∗ ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ( 1 β r ϕ ( x , y ) ) \pi^*(y\mid x) = \frac{1}{Z(x)}\pi_{\mathrm{ref}}(y\mid x)\exp\left(\frac1\beta r_\phi(x,y)\right) π ∗ ( y ∣ x ) = Z ( x ) 1 π ref ( y ∣ x ) exp ( β 1 r ϕ ( x , y ) )
易知 π ∗ \pi^* π ∗ 满足 π ∗ ( y ∣ x ) ≥ 0 , ∀ y \pi^*(y\mid x)\geq0, \forall y π ∗ ( y ∣ x ) ≥ 0 , ∀ y , 以及 ∑ y π ∗ ( y ∣ x ) = 1 \sum_y \pi^*(y\mid x)=1 ∑ y π ∗ ( y ∣ x ) = 1 . 因为 Z ( x ) Z(x) Z ( x ) 不依赖于 y y y , 因此我们可以进一步简化上面的目标函数如下
min π θ E x ∼ D [ E y ∼ π θ ( y ∣ x ) [ log π θ ( y ∣ x ) π ∗ ( y ∣ x ) ] − log Z ( x ) ] = min π θ E x ∼ D [ D K L [ π θ ( y ∣ x ) ∥ π ∗ ( y ∣ x ) ] − log Z ( x ) ] = min π θ E x ∼ D [ D K L [ π θ ( y ∣ x ) ∥ π ∗ ( y ∣ x ) ] ] \begin{aligned}
&\min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\left[\mathbb{E}_{y\sim \pi_\theta(y\mid x)}\left[\log\frac{\pi_\theta(y\mid x)}{\pi^*(y\mid x)}\right]-\log Z(x)\right] \\
&= \min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\left[\mathbb{D}_{\mathrm{KL}}\left[\pi_\theta(y\mid x)\Vert \pi^*(y\mid x)\right]-\log Z(x)\right]\\
&= \boxed{\min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\left[\mathbb{D}_{\mathrm{KL}}\left[\pi_\theta(y\mid x)\Vert \pi^*(y\mid x)\right]\right]}
\end{aligned} π θ min E x ∼ D [ E y ∼ π θ ( y ∣ x ) [ log π ∗ ( y ∣ x ) π θ ( y ∣ x ) ] − log Z ( x ) ] = π θ min E x ∼ D [ D KL [ π θ ( y ∣ x ) ∥ π ∗ ( y ∣ x ) ] − log Z ( x ) ] = π θ min E x ∼ D [ D KL [ π θ ( y ∣ x ) ∥ π ∗ ( y ∣ x ) ] ]
而上述目标函数的最小值为 0,当且仅当 π θ = π ∗ \pi_\theta=\pi^* π θ = π ∗ , 此时我们的最优 policy 为
π θ ∗ ( y ∣ x ) = π ∗ ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ( 1 β r ϕ ( x , y ) ) , ∀ x ∈ D \pi_\theta^*(y\mid x) = \pi^*(y\mid x) = \frac{1}{Z(x)}\pi_{\mathrm{ref}}(y\mid x)\exp\left(\frac1\beta r_\phi(x,y)\right),\ \forall x\in\mathcal{D} π θ ∗ ( y ∣ x ) = π ∗ ( y ∣ x ) = Z ( x ) 1 π ref ( y ∣ x ) exp ( β 1 r ϕ ( x , y ) ) , ∀ x ∈ D
直接求解 π θ ∗ \pi_\theta^* π θ ∗ 非常困难,因为这涉及到 Z ( x ) Z(x) Z ( x ) 的计算,这个时候作者就提出了一个关键改变,即我们从上述的 π θ ∗ \pi_\theta^* π θ ∗ 反向推到出 r ( x , y ) r(x,y) r ( x , y ) :
r ( x , y ) = β log π θ ( y ∣ x ) π r e f ( y ∣ x ) + β log Z ( x ) r(x,y) = \beta\log\frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}+\beta\log Z(x) r ( x , y ) = β log π ref ( y ∣ x ) π θ ( y ∣ x ) + β log Z ( x )
我们可以基于这个公式来推到出最优的 reward function r ∗ r^* r ∗ 以及对应的最优策略 π ∗ \pi^* π ∗ .
此时,我们的表达式里仍然含有 Z ( x ) Z(x) Z ( x ) , 但是当我们使用 Bradley-Terry 模型之后,我们就可以得到真实的人类偏好分布,计算过程如下所示
p ∗ ( y w > y l ∣ x ) = σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) = σ ( β log π θ ( y w ∣ x ) π r e f ( y w ∣ x ) − β log π θ ( y l ∣ x ) π r e f ( y l ∣ x ) ) \begin{aligned}
p^*(y_w>y_l\mid x)&= \sigma\left(r_\phi(x,y_w)-r_\phi(x,y_l)\right)\\
&= \boxed{\sigma\left(\beta\log\frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)}-\beta\log\frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)}\right)}
\end{aligned} p ∗ ( y w > y l ∣ x ) = σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) = σ ( β log π ref ( y w ∣ x ) π θ ( y w ∣ x ) − β log π ref ( y l ∣ x ) π θ ( y l ∣ x ) )
这样,基于 MLE 的目标函数就是
L D P O ( π θ ; π r e f ) = − E ( x , y w , y l ) ∈ D [ σ ( β log π θ ( y w ∣ x ) π r e f ( y w ∣ x ) − β log π θ ( y l ∣ x ) π r e f ( y l ∣ x ) ) ] \mathcal{L}_{\mathrm{DPO}}(\pi_{\theta};\pi_{\mathrm{ref}})= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\sigma\left(\beta\log\frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)}-\beta\log\frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)}\right)\right] L DPO ( π θ ; π ref ) = − E ( x , y w , y l ) ∈ D [ σ ( β log π ref ( y w ∣ x ) π θ ( y w ∣ x ) − β log π ref ( y l ∣ x ) π θ ( y l ∣ x ) ) ]
通过这种方式,我们就避免了 reward model 的训练。
接下来,作者分析了一下 DPO 目标函数的梯度,
∇ θ L D P O ( π θ ; π r e f ) = − ∇ θ E ( x , y w , y l ) ∈ D [ log σ ( u ) ] = − E ( x , y w , y l ) ∈ D [ ∇ θ σ ( u ) σ ( u ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ σ ( u ) ( 1 − σ ( u ) ) σ ( u ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ ( 1 − σ ( u ) ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ σ ( − u ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ β σ [ β log π θ ( y l ∣ x ) π r e f ( y l ∣ x ) − β log π θ ( y w ∣ x ) π r e f ( y w ∣ x ) ] [ ∇ θ log π ( y w ∣ x ) − ∇ θ log π ( y l ∣ x ) ] ] \begin{aligned}
\nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_{\theta};\pi_{\mathrm{ref}})&=-\nabla_\theta \mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\log\sigma(u)\right]\\
&= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\frac{\nabla_\theta \sigma(u)}{\sigma(u)}\nabla_\theta u\right]\\
&= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\frac{\sigma(u)(1-\sigma(u))}{\sigma(u)}\nabla_\theta u\right]\\
&= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[(1-\sigma(u))\nabla_\theta u\right]\\
&= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\sigma(-u)\nabla_\theta u\right]\\
&= -\mathbb{E}_{(x,y_w,y_l)\in\mathcal{D}}\left[\beta\sigma\left[\beta\log\frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)}-\beta\log\frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)}\right]\left[\nabla_\theta\log\pi(y_w\mid x) - \nabla_\theta \log\pi(y_l\mid x)\right]\right]\\
\end{aligned} ∇ θ L DPO ( π θ ; π ref ) = − ∇ θ E ( x , y w , y l ) ∈ D [ log σ ( u ) ] = − E ( x , y w , y l ) ∈ D [ σ ( u ) ∇ θ σ ( u ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ σ ( u ) σ ( u ) ( 1 − σ ( u )) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ ( 1 − σ ( u )) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ σ ( − u ) ∇ θ u ] = − E ( x , y w , y l ) ∈ D [ β σ [ β log π ref ( y l ∣ x ) π θ ( y l ∣ x ) − β log π ref ( y w ∣ x ) π θ ( y w ∣ x ) ] [ ∇ θ log π ( y w ∣ x ) − ∇ θ log π ( y l ∣ x ) ] ]
从梯度来看,当我们的 reward 估计错误时,即 σ ( − u ) > 0 \sigma(-u)>0 σ ( − u ) > 0 时, DPO 会提高 y w y_w y w 的生成可能性以及降低 y l y_l y l 的生成可能性,从而提高模型对于偏好输出的可能性。
最终,DPO 的 pipeline 如下:
收集偏好数据 y 1 , y 2 ∼ π r e f ( ⋅ ∣ x ) y_1,y_2\sim\pi_{\mathrm{ref}}(\cdot\mid x) y 1 , y 2 ∼ π ref ( ⋅ ∣ x ) , 然后通过人类标注得到偏好数据集 D = { ( x ( i ) , y w ( i ) , y l ( i ) ) } i = 1 N \mathcal{D}=\{(x^{(i)},y_w^{(i)},y_l^{(i)})\}_{i=1}^N D = {( x ( i ) , y w ( i ) , y l ( i ) ) } i = 1 N
基于 L D P O ( π θ ; π r e f ) \mathcal{L}_{\mathrm{DPO}}(\pi_{\theta};\pi_{\mathrm{ref}}) L DPO ( π θ ; π ref ) 优化大语言模型参数
一般来说,我们将 π r e f \pi_{\mathrm{ref}} π ref 初始化为 π S F T \pi^{\mathrm{SFT}} π SFT , 但是如果我们没有 π S F T \pi^{\mathrm{SFT}} π SFT 时,我们可以通过最大似然估计来得到 π r e f \pi_{\mathrm{ref}} π ref , 即
π r e f = arg max π E ( x , y w , y l ) ∼ D log π ( y w ∣ x ) \pi_{\mathrm{ref}} = \arg\max_{\pi}\mathbb{E}_{(x,y_w,y_l)\sim\mathcal{D}}\log \pi(y_w\mid x) π ref = arg π max E ( x , y w , y l ) ∼ D log π ( y w ∣ x )
Definition
两个 reward function r ( x , y ) r(x,y) r ( x , y ) 和 r ′ ( x , y ) r'(x,y) r ′ ( x , y ) 等价当且仅当存在函数 f f f 满足 r ( x , y ) − r ′ ( x , y ) = f ( x ) r(x,y)-r'(x,y)=f(x) r ( x , y ) − r ′ ( x , y ) = f ( x ) 。
上述定义给出了一个等价关系,将 reward function 分割成了不同的等价类。接下来,作者给出了两个引理:
第一个引理说明同一个等价类里的 reward function 对应的偏好分布一致
Lemma 1
在 Plack-Luce 框架下,如 Bradley-Terry model, 同一个等价类里的 reward function 得到的偏好分布是一致的
第二个引理说明了最优策略对应的 reward function 都在一个等价类里
Lemma 2
在有限制的情况下,同一个等价类里的 reward function 得到的最优策略是一样的
Lemma 2 说明我们只要从最优的等价类里任意找到一个 reward function, 则最终的效果是一样的。
Theorem 1
假设我们有一个 reference model π r e f ( ⋅ ∣ x ) > 0 \pi_{\mathrm{ref}}(\cdot\mid x)>0 π ref ( ⋅ ∣ x ) > 0 for all prompt-answer pairs ( x , y ) (x,y) ( x , y ) , 则对于某个模型 π ( y ∣ x ) \pi(y\mid x) π ( y ∣ x ) , 则与 π r e f \pi_{\mathrm{ref}} π ref 对应的等价类里的 reward function 都可以表示为如下形式 r ( x , y ) = β π ( y ∣ x ) π r e f ( y ∣ x ) , β > 0 r(x,y) = \beta\frac{\pi(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)},\ \beta>0 r ( x , y ) = β π ref ( y ∣ x ) π ( y ∣ x ) , β > 0 .
我们也可以通过 Theorem 1 来显示推导出 DPO 选择的 reward function:
∑ y π r e f ( y ∣ x ) exp ( 1 β r ϕ ( x , y ) ) ⏟ π ( y ∣ x ) = 1 \sum_{y}\underbrace{\pi_{\mathrm{ref}}(y\mid x)\exp\left(\frac1\beta r_\phi(x,y)\right)}_{\pi(y\mid x)}=1 y ∑ π ( y ∣ x ) π ref ( y ∣ x ) exp ( β 1 r ϕ ( x , y ) ) = 1
回顾前面 π ∗ ( y ∣ x ) \pi^*(y\mid x) π ∗ ( y ∣ x ) 的定义,我们知道 π ( y ∣ x ) \pi(y\mid x) π ( y ∣ x ) 实际上是针对 r ( x , y ) r(x,y) r ( x , y ) 推导出来的最优策略的 partition function.
注意到我们的初始目标函数可以改写为如下形式
min π θ E x ∼ D [ r ϕ ( x , y ) − β log Z ( x ) ⏟ f ( r ϕ , π r e f , β ) − β π θ ( y ∣ x ) π r e f ( y ∣ x ) ⏟ KL ] \min_{\pi_\theta}\ \mathbb{E}_{x\sim \mathcal{D}}\left[\underbrace{r_{\phi}(x,y)-\beta\log Z(x)}_{f(r_\phi, \pi_{\mathrm{ref}},\beta)}-\beta\underbrace{ \frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}}_{\text{KL}}\right] π θ min E x ∼ D f ( r ϕ , π ref , β ) r ϕ ( x , y ) − β log Z ( x ) − β KL π ref ( y ∣ x ) π θ ( y ∣ x )
此时,我们可以将 f ( r ϕ , π r e f , β ) f(r_\phi, \pi_{\mathrm{ref}},\beta) f ( r ϕ , π ref , β ) 里的 normalization term 视作为 π r e f \pi_{\mathrm{ref}} π ref 的 soft value function, 这个 soft value function 不影响最终的结果,但是没有的话会导致训练时的 variance 很高。 DPO 通过 re-parameterization, 得到的奖励函数不需要 baseline, 因而解决了训练不稳定的问题。
作者首先对比了不同偏好优化算法的表现,如下图所示
从实验结果可以看到,DPO 对于不同的 KL Values 和不同的采样温度其表现都非常好,并且更加 robust
在本文中,作者提出了 DPO,一个针对 LLM 偏好优化的训练范式,DPO 构建了最优的 policy 与 reward function 之间的关系,从而避免了训练 reward model, 让模型可以直接从偏好数据集中进行学习和训练。
Rafailov, R., Sharma, A., Mitchell, E., Manning, C. D., Ermon, S., & Finn, C. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. Thirty-Seventh Conference on Neural Information Processing Systems . https://openreview.net/forum?id=HPuSIXJaa9