真实面经题目 · 原创解析
PPO 和 GRPO 有什么区别,PPO 中的 Critic 模型如何训练?
这题考 PPO、GRPO 在大模型 RL 后训练中的优化框架差异,以及 PPO 里 Critic 如何用 rollout 回报学习价值估计。
我会先把 PPO 和 GRPO 都放在大模型后训练里理解:它们都不是重新预训练模型,而是在 prompt 上采样回答,用 reward 信号区分好坏,再更新策略模型。PPO 是 actor-critic 框架,Actor 是要更新的策略模型,Critic 或 value model 负责估计当前状态或 token 后续还能拿到多少回报,用它来计算 advantage,PPO 再用概率比值裁剪、KL 约束和 value loss 控制更新幅度。Critic 的训练不是训练奖励模型,它通常吃 prompt 加回答前缀,预测 value,目标来自 rollout 得到的 reward、KL 惩罚后的 return 或 GAE 一类优势估计,损失通常是预测 value 和目标 return 的回归误差。GRPO 的思路是弱化或去掉单独 Critic:对同一个 prompt 采样一组回答,用组内 reward 的相对高低做 baseline,得到 group-relative advantage,再更新高于组内基线的回答概率,同时保留 KL 或类似约束。区别可以总结为:PPO 更通用但要训练 Critic,系统更复杂且 value 估计会带来偏差;GRPO 省掉 Critic,工程更轻,但依赖同 prompt 多样采样、组内 reward 质量和批组织,方差和样本效率要靠组大小、reward 归一化和数据设计控制。
PPO 和 GRPO 在大模型后训练里都围绕同一件事:给定 prompt,模型生成回答,外部 reward 或 verifier 给出质量信号,然后优化策略模型,让高质量回答更可能出现。它们解决的是偏好、可验证任务或 Agent 轨迹的策略优化,不是基础语言能力的预训练。
PPO 中 Actor 是当前要训练的语言模型策略,Critic 是价值估计器。Actor 负责给每个生成 token 的动作概率,Critic 估计在当前上下文下未来还能获得多少回报。用 Critic 估出的 value 减少纯 Monte Carlo 回报的方差,再通过 advantage 指导 Actor 往更高回报方向更新。
Critic 不等同于奖励模型。奖励模型或规则通常在完整回答或轨迹上给出 reward;Critic 预测的是某个生成前缀之后的期望 return。训练时会用 rollout 得到的最终 reward、逐 token KL 惩罚后的累计回报或 GAE 构造目标,让 Critic 对 prompt 和回答前缀做回归。
PPO 不会让策略因为一次高 reward 样本就大幅偏离原模型。它会比较新旧策略在已采样 token 上的概率比值,用裁剪目标限制更新步长,同时常配合 KL 约束到参考模型,避免 reward hacking、语言质量退化或安全边界漂移。
GRPO 通常对同一个 prompt 采样多个回答,把这些回答的 reward 做组内归一化或相对比较。高于组内平均或基线的回答获得正向 advantage,低于基线的回答获得负向 advantage。这样可以不训练单独 Critic,用同 prompt 的候选回答相互校准。
PPO 的优点是成熟、能利用 value baseline 降方差,缺点是要维护 Critic,且 Critic 训练不稳会影响 Actor。GRPO 的优点是省掉 Critic、适合可验证 reward 和同题多采样,缺点是更依赖组内样本多样性、reward 分辨率和 batch 组织。两者都需要 KL、评测集和 badcase 审计兜底。
Reward Model 或规则给完整回答、片段或轨迹打质量分;Critic 估计当前生成状态之后的期望回报。前者是 reward 来源,后者是优化 Actor 时降低方差和计算 advantage 的 value baseline。
它把同一个 prompt 下多条回答组成一组,用组内 reward 的均值、标准差或排名形成相对优势。这样 baseline 来自同组样本,而不是来自一个单独学习的 value model。
value 估计偏差过大时,advantage 会失真,Actor 可能强化错误回答或更新效率很低。表现上可能是 reward 波动大、KL 异常、训练不稳定或验证集效果不升反降。
看 reward 是否可靠、是否能对同 prompt 多采样、训练系统是否能承受 Critic、任务是否可验证、样本效率和稳定性要求。没有一种方法天然适合所有后训练任务。