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% 的训练显存。