DPO 与 GRPO 完整推导
分类: 预训练与微调 · 难度: 进阶 · 关联讲座: L08
DPO 与 GRPO 完整推导
本文推导 Direct Preference Optimization(DPO)如何从 RLHF 目标的闭式解出发,消去奖励模型和配分函数,得到直接用偏好数据优化策略的简洁损失函数。同时收录 GRPO(Group Relative Policy Optimization)的目标函数推导,展示如何用组内相对奖励替代价值网络。
1. DPO 从 RLHF 目标的完整推导
📐 DPO 从 RLHF 目标的完整推导
Step 1:RLHF 目标的最优解
RLHF 最大化(对每个输入 x,对所有可能输出 y 求最优):
maxπθEy∼πθ[r(x,y)]−β⋅KL[πθ(y∣x)∥πref(y∣x)]
对此目标关于 πθ 取变分,令导数为零,得闭式最优策略:
π∗(y∣x)=Z(x)1πref(y∣x)exp(βr(x,y))
其中 Z(x)=∑yπref(y∣x)exp(βr(x,y)) 是归一化常数(配分函数)。
Step 2:反解奖励函数
由上式取对数,用 π∗ 表示 r:
r(x,y)=βlogπref(y∣x)π∗(y∣x)+βlogZ(x)
Step 3:代入 Bradley-Terry 偏好模型
P(yw≻yl∣x)=σ(r(x,yw)−r(x,yl))
代入 r 的表达式,βlogZ(x) 在差值中完全抵消:
P(yw≻yl∣x)=σ(βlogπref(yw∣x)π∗(yw∣x)−βlogπref(yl∣x)π∗(yl∣x))
Step 4:DPO 损失(用 πθ 近似 π∗,最大化偏好对数似然):
JDPO(θ)=−E(x,yw,yl)[logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))]
结论:DPO 完全绕过了奖励模型的训练,直接用偏好数据优化策略,且数学上等价于 RLHF 的最优解。
2. GRPO 目标函数推导
📐 GRPO 目标函数推导
核心思想:PPO 需要一个单独的 Value Network(价值网络)来估计优势函数(Advantage)A(x,y)——这个网络和策略网络一样大,代价极高。GRPO 用组内相对奖励代替价值网络。
Step 1:组内采样
对同一输入 x,从当前策略采样 G 个输出 {y1,…,yG},计算各自奖励 {r1,…,rG}。
Step 2:优势估计(组内归一化)
Ai=σrri−μr,μr=G1∑j=1Grj,σr=G1∑j=1G(rj−μr)2
Ai>0 表示第 i 个输出优于组内平均,Ai<0 则相反。
Step 3:GRPO 目标(结合 PPO clip 技巧)
JGRPO(θ)=Ex,{yi}[G1∑i=1Gmin(πold(yi∣x)πθ(yi∣x)Ai,clip(πold(yi∣x)πθ(yi∣x),1−ϵ,1+ϵ)Ai)−βDKL(πθ∥πref)]
与 PPO 的对比:PPO 用 Ai=ri−Vϕ(x)(Vϕ 是价值网络),而 GRPO 用组内统计替代,消除了对价值网络的需求,节省了约 50% 的训练显存。
3. DPO 隐式奖励与梯度直觉
💡 DPO 的隐式奖励:策略自身即奖励模型
DPO 损失改写为:
JDPO(θ)=−Elogσr^θ(x,yw)βlogπref(yw∣x)πθ(yw∣x)−r^θ(x,yl)βlogπref(yl∣x)πθ(yl∣x)
隐式奖励 r^θ(x,y)=βlogπref(y∣x)πθ(y∣x):
- r^>0:策略比参考模型更倾向于生成 y
- r^<0:策略比参考模型更不倾向于生成 y
- DPO 的策略本身即奖励模型——无需单独训练 RM
梯度自适应权重:
∇JDPO∝−σ(r^l−r^w)⋅[∇logπθ(yw∣x)−∇logπθ(yl∣x)]
- 模型判断错误时(r^l>r^w):σ 大,更新猛
- 模型已学好时(r^w≫r^l):σ→0,更新自动减弱
- 内置自适应学习速率:正确样本自动获得小梯度权重
4. DPO 训练数值演示
🔢 单步训练完整数值示例
设定:β=0.5,一对偏好数据 (yw,yl)
初始状态(模型尚未对齐):
| 输出 | πref(y∥x) | πθ(y∥x) | 隐式奖励 r^=0.5logπrefπθ |
|---|
| yw(好回复) | 0.30 | 0.25 | 0.5×log(0.833)=−0.092 |
| yl(坏回复) | 0.20 | 0.30 | 0.5×log(1.500)=+0.203 |
当前 r^(yl)>r^(yw):模型错误地认为坏回复更好。
DPO 损失:J=−logσ(−0.092−0.203)=0.851
梯度权重:σ(0.295)=0.573(较大,惩罚力度强)
收敛后状态:
| 输出 | πθ(y∥x) | 隐式奖励 |
|---|
| yw | 0.42 | +0.167 |
| yl | 0.14 | −0.178 |
r^(yw)≫r^(yl),σ 接近 0,更新自动停止——收敛。
结论:DPO 同时拉高好回复的相对概率、压低坏回复的相对概率,两者共享同一 sigmoid 权重(自适应平衡)。