DPO 极简笔记,方便回顾。
偏好数据(Preference Data)
DPO 的数据是三元组:
其中 $x$ 是 prompt,$y_w$ 是 preferred response,$y_l$ 是 rejected response。
在同一个 prompt $x$ 下,人类更喜欢 $y_w$,记作:
偏好模型(Bradley-Terry Model)
Bradley-Terry 描述偏好概率:
其中 $\sigma$ 是 sigmoid。
这里的 $r(x,y)$ 是潜在 reward。DPO 不训练 reward model。
潜在 reward 可能会导致 OOD。潜在 reward 是这样的,从 RLHF 的理论目标:
能得到闭式解:
上式可化为:
其中 $Z$ 是归一化常数,
RLHF 目标
RLHF 带 KL 正则的目标:
$\pi_{\rm ref}$ 通常是冻结的 SFT model。
比方说,PPO 是常用来近似优化这个目标的一种 RL 算法。
KL 目标的最优策略
把上面的 KL-regularized RLHF 目标解到最优,可以得到:
代入偏好模型
Bradley-Terry 关心 reward 差:
所以 $\beta \log Z(x)$ 会抵消。
于是:
其中 $\pi_\theta$ 是正在训练的 policy model。
DPO 损失函数
把上面的 reward 差代入 Bradley-Terry:
超参数 $\beta$ 控制 preference logit 的缩放。
从 RLHF 目标看,$\beta$ 和 KL 正则有关。