微调与对齐

PPO、DPO、GRPO 分别是什么?DPO 相比 PPO 做了哪些改进?

91学AI·2026/7/26·10 阅读

考察点

这题是当前对齐面试的高频题,面试官想确认你理解三种算法「优化目标相同、实现路径不同」的关系,而不是背三个名词。关键抓手:PPO 为什么贵(在线采样+四模型)、DPO 凭什么能省掉 RM(从 Bradley-Terry 出发的闭式解)、GRPO 砍掉了 PPO 里的哪个组件(value model)。追问常往「DPO 有什么缺点」「GRPO 为什么适合推理任务」走。

参考答案

PPO:在线强化学习的标准范式

PPO(Proximal Policy Optimization)是 InstructGPT 采用的 RL 算法。流程是:policy 模型对 prompt 在线采样回答 → RM 打分 → 结合 KL 惩罚得到奖励 → 用 critic(value 模型)估计基线、算优势函数 → 以 clip 机制限制策略更新幅度,防止一步迈太大训崩。

它的问题不在算法本身,而在系统复杂度:policy、reference、RM、value 四个模型同时在场,每次迭代都要真实采样(生成是推理级别的慢操作),超参极其敏感(学习率、KL 系数、clip 范围、采样温度相互耦合)。一次 PPO 实验的算力开销和调参成本,让很多团队望而却步。

DPO:把偏好学习变成监督学习

DPO(Direct Preference Optimization)的出发点是一个理论观察:在 Bradley-Terry 偏好模型加 KL 约束的框架下,「最优策略」和「奖励函数」之间存在闭式映射——奖励可以用最优策略与参考策略的对数概率比表示:

r(x, y) = β · log [ π(y|x) / π_ref(y|x) ] + const

把这个关系代回 RM 的 pairwise 损失,奖励模型就被消掉了,得到一个直接作用在策略上的损失:

L = -E[ log σ( β·( log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x) ) ) ]

直觉解读:让 policy 相对 reference 更偏向胜出回答、更远离落败回答,β 控制偏离 reference 的尺度(和 PPO 里的 KL 惩罚同源)。

相比 PPO 的改进是实打实的:不需要训 RM,不需要 value 模型,不需要在线采样——训练就是普通的前向+反向,两台机器的卡数需求砍半以上,超参敏感度和训练稳定性都好得多。实现上一个晚上就能跑起来,这是 DPO 迅速成为社区默认方案的原因。

代价也有:DPO 是离线算法,偏好数据一旦固定,模型就在这份静态数据上优化,数据分布和当前策略脱节后效果见顶;对偏好数据质量更敏感(没有 RM 做泛化缓冲);实践中还观察到容易让胜出回答和落败回答的概率一起降(只是在拉开差值),需要配合 SFT 损失或 IPO、KTO 等变体缓解。在线版本的迭代式 DPO(每轮用当前模型重新采样标注)部分缓解了离线问题。

GRPO:组内相对比较,砍掉 value 模型

GRPO(Group Relative Policy Optimization)因 DeepSeekMath 和 DeepSeek-R1 而广为人知。它对 PPO 的改动很直接:对同一个 prompt 采样一组 G 个回答,用组内奖励的均值和标准差做归一化,得到每个回答的相对优势(组内基线),替代 value 模型估计的优势函数。

A_i = (r_i - mean(r)) / std(r)

这样一来 PPO 里最难训、最占资源的 value 模型被整个移除,剩下的奖励可以来自 RM,也可以来自可验证的规则——比如数学题答案对不对、代码能不能通过测试。这正是它在推理类任务上大放异彩的原因:推理任务的奖励可以程序化判定,不需要 RM,组内比较又天然提供了低方差的训练信号。DeepSeek-R1-Zero 用纯 GRPO 加规则奖励,就训出了涌现的推理行为。

三者对比

维度PPODPOGRPO
类型在线 RL离线偏好优化在线 RL
需要 RM否(直接用偏好对)可来自 RM 或规则
value 模型需要不需要不需要(组内基线替代)
在线采样需要不需要需要(每组 G 个)
训练成本最高最低中等
典型场景通用对齐(早期标准)通用偏好对齐的默认选择数学/代码/推理等可验证任务

选型上的经验:通用对话对齐,迭代式 DPO 或其变体是性价比首选;有程序化奖励信号的推理任务,GRPO 是当前主流;PPO 作为基线和理论参照仍然重要,但新项目直接上 PPO 的越来越少。

可能的追问

追问:DPO 为什么不需要 RM 还能学到偏好? 因为在 KL 约束的 RLHF 目标下,最优策略本身就和奖励函数存在解析关系,奖励可以被策略与参考策略的对数概率比参数化。代回偏好损失后,RM 成了一个可以被约掉的中间变量——偏好信息直接从数据流向策略,少了一层近似误差,也少了一份训练成本。

追问:DPO 训久了会出现什么现象? 常见的是「长度失控」和「概率塌陷」:模型倾向于把回答变长(偏好数据里的长度偏被放大),以及胜出、落败回答的对数概率一起下降、只靠差值撑损失。对策是混入 SFT 损失锚定胜出回答、控制训练轮数、或换用对长度不敏感的变体。

追问:GRPO 里组大小 G 取多少,有什么讲究? G 要大到让组内奖励有区分度——G 太小(如 4)时容易出现全对或全错的组,归一化后优势为零,梯度白白浪费。实践中 8 到 64 都常见,难任务用大组。全是相同奖励的组要么丢弃,要么靠课程式采样保证 prompt 难度和当前模型水平匹配。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.