0%

DPO 极简笔记

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 正则有关。