EasyPPO:稳定Critic是PPO训练的关键 EasyPPO: Stabilizing the Critic Is Key
三项改动稳定PPO评论家网络,三任务RLVR全面超越PPO与VAPO
前置知识
PPO 与 Actor-Critic 框架
Proximal Policy Optimization 是 actor-critic 强化学习算法:策略网络(actor)逐 token 生成回答,价值网络(critic)$V_\phi(s)$ 预测从当前状态出发的期望回报,用 GAE 构造 token 级优势以降低策略梯度方差,再通过裁剪的代理目标和 KL 正则限制单次更新幅度。在 LLM 后训练中,prompt 是初始状态,每个生成 token 是一个动作,终局奖励 $R$ 回传整条序列。
本文的全部内容围绕“critic 学习不稳定”展开,不理解 critic 在 PPO 中承担的角色(价值基线、优势构造),就看不懂两个失败模式与三项修复为什么有效。
RLVR(可验证奖励强化学习)
用程序化验证器替代学习出来的奖励模型:数学题比对答案、代码跑单元测试、搜索任务核对引用等,对 LLM 做推理后训练的强化学习。奖励可以是二值(对/错,如 AIME24)或连续(如 GPU kernel 相对基线的加速比、算法题的效率得分),rollout 在响应结尾拿到一个标量奖励 $R$。
EasyPPO 的三个实验分别覆盖连续奖励编码、二值数学、多轮搜索三类 RLVR 任务;不同任务间奖励结构的差异,正是文中“异质回报噪声”的来源。
Overlong rollout 与截断过滤
当生成长度超过上限(本文为 32,768 token)时 rollout 被截断,其奖励反映的是不完整回答,构成奖励噪声。DAPO、Nemotron-Cascade(24K 阶段)等做法是把截断样本直接从策略更新中剔除(overlong filtering),这一技巧在 GRPO 系方法中几乎是标配,用来防止“未完成推理”污染更新方向。
本文第一个核心发现就是:把这个过滤从 actor 扩展到 critic,会悄悄改变策略优化目标,导致截断率越涨、条件奖励越高而整体奖励不动——这是 EasyPPO 第一项改动的直接动机。
Explained Variance(解释方差,EV)
衡量 critic 预测质量的经典指标:$EV = 1 - \mathrm{Var}(R - V_\phi(s)) / \mathrm{Var}(R)$。越接近 1 说明价值预测越能解释回报波动;等于 0 意味着和“直接猜回报均值”一样好(或一样差);为负则比猜均值还糟。训练日志里它常被用来判断价值网络是否在正常学习。
论文用 EV 和裁剪前的 critic 梯度范数作为稳定性诊断工具,Figure 5、Figure 8 的关键曲线都是 EV,不看懂这个指标就无法评估其实验证据。
Mini-batch 梯度裁剪
把一个大 rollout 批次的 critic 梯度估计切成若干小 mini-batch 分别计算,若某个 mini-batch 的梯度范数超过阈值 $c$,就等比缩放 $g \leftarrow g \cdot \min\{1, c/\|g\|_2\}$ 后立即更新一次参数,再在更新后的参数上计算下一个 mini-batch。小 mini-batch 平均掉的噪声更少,但能把单个离群点对整体更新方向的破坏限制在更少样本内。
EasyPPO 第三项改动“适中偏小的 critic mini-batch”($K=4$)的全部收益,都建立在对裁剪粒度与噪声平均这对矛盾的理解上,这是论文最有工程味道的部分。
研究动机
在 RLVR 后训练中,PPO 因 actor-critic 框架能做 token 级信用分配而适合长推理任务,但作者发现 critic 本身就是主要的不稳定来源,即使 batch 达 512 条仍有两个失败模式。其一是“过长样本过滤引起的策略目标漂移”:截断 rollout 的奖励来自不完整回答,DAPO、Nemotron-Cascade 会把这类样本从更新中剔除;但若把过滤同时应用到 critic,critic 学到的目标就从 $E[R|s]$ 变成以完成为条件的 $E[R|s,\text{not truncated}]$——FrontierCS 实验显示联合过滤虽让完成样本奖励上升,截断率却趋近 1,整体奖励低迷;完全不过滤则反复崩溃。其二是“异质回报噪声”:不同 prompt 的回报方差差异巨大,GPU kernel 优化里 GEMM 解只能比基线快约 1×,专用算子却可超 100×;论文证明预测误差缩小后回报噪声项会主导 critic 梯度二阶矩,高方差 prompt 在有限 batch 中不成比例地支配更新,这解释了 actor-only 过滤第 160 步附近的尖峰回落。
本文的目标是本文的目标是在完整保留 PPO actor-critic 框架(token 级 GAE、裁剪的 PPO 目标、KL 正则、严格 on-policy 同步采样)的前提下,识别并修复 critic 学习中的上述两个不稳定来源,使 PPO 在 200–300 步的完整训练视界内保持稳定,消除 vanilla PPO、VAPO、HL-Gauss PPO 等基线在至少一个任务上都会出现的后期崩溃,并在连续奖励编码(FrontierCS)、二值数学推理(AIME24)、多轮搜索(Search-R1)三类奖励结构迥异的任务上取得一致的验证性能提升。方法本身要求足够简单——不引入辅助网络、不换算法框架、可直接嫁接到 verl 等主流实现上,让“稳定”成为几行代码级别的改动而非一次架构重构。
与已有工作不同的是,已有工作分两条路线:critic-free 方法(GRPO 系)用组内相对优势替代 critic 并普遍过滤截断样本;actor-critic 改进从价值估计精度入手,如 VAPO 的价值预训练与解耦 GAE、HL-Gauss PPO 的分类价值预测。并发工作则分别做稀疏 critic 监督、每批多次 critic 更新、把长度惩罚奖励排除出 critic 训练、按长度重加权 actor 基线——各自只解决一块拼图。EasyPPO 的独特切入有三点:第一,首次严格证明“对 critic 也过滤”会在理想化极限下把策略梯度变成条件奖励 $E[R|s,C]$ 的梯度并丢失完成概率项,把过滤范围从工程 trick 上升为理论问题;第二,把方差倒数加权从 actor 优势迁移到 critic 损失——Dr. GRPO 恰好证明这种归一化用在 actor 上有害(过度加权低方差 prompt),而用在 critic 上正好消除噪声不均衡;第三,给出 mini-batch 大小与梯度裁剪相互作用的首个系统分析,利用组采样天然提供的 prompt 级方差估计,全程无需辅助方差模型。
核心方法
直觉上,让 critic 稳定需要三件事:看到无偏的回报目标、平衡各 prompt 的噪声贡献、限制残余离群点的影响,EasyPPO 据此对标准 PPO 做三项极小改动。第一,actor-only overlong filtering:截断样本仍从 actor 更新中剔除(与 DAPO 一致),但全部保留给 critic,保证其逐点目标维持 $E[R|s]$。第二,noise-normalized critic regression:用每个 prompt 组内回报标准差 $\hat\sigma(s)$ 的倒数加权 critic 损失,$w(s)\propto 1/\hat\sigma(s)$,并在 batch 内归一化到均值 1;权重恒为正,逐点最优解不变,只是把各 prompt 的噪声贡献拉到同一尺度。第三,critic mini-batch 更新:把每批 rollout 切成 $K=4$ 个小批,每个小批梯度裁剪到阈值 $c$ 后立即更新,使残余离群点最多污染少数样本。三者分别对应 Figure 1 的“目标漂移、噪声不均、离群点主导”三个病灶,是同一套诊断推出的三个处方。
核心是两个数学洞察。其一是“过滤位置改变优化目标”:记完成为事件 $C$,critic 若只在完成样本上训练,目标就从 $E[R|s]$ 变为 $E[R|s,C]$;联合过滤的理想化策略梯度恰是 $\mathbb{E}[(R - V_\phi(s))\nabla_\theta\log\pi_\theta(\tau|s)\mid s,C]$,不含鼓励“避免截断”的项,策略因此可在截断率飙升时仍抬高完成样本的条件奖励,精确解释 Figure 2 中联合过滤的病态。其二是“回报噪声主导梯度二阶矩”:对线性值头 $V_\phi(s)=W^\top h_\phi(s)$,梯度二阶矩分解为预测误差平方加 $\mathrm{Var}(R|s)$;随预测误差缩小,噪声项渐占主导,除以 $\sqrt{\mathrm{Var}(R|s)}$ 后各 prompt 的噪声贡献被拉平,正权重不改变最优点 $E[R|s]$。本质区别:DAPO 只保护 actor;Dr. GRPO 证明 std 归一化对 actor 有害;EasyPPO 把它用在 critic 损失上,消除噪声不均衡且不伤 actor。
方法步骤详情
流程(verl 实现,on-policy)。(1) 初始化:FrontierCS 用 DeepSeek-V3.1 的 347 条非零分轨迹做 SFT 起点,其余用 Qwen3.5-9B-Base。(2) critic warm-up 30 步,只训 critic。(3) rollout:每 prompt 采一组回答(组大小 32/16,批 512/1024),上限 32,768 token,得终局奖励 $R$。(4) actor 更新:剔除截断样本,标准 PPO(GAE、裁剪目标、KL 正则)。(5) 权重估计:整组(含截断)回报估 $\hat\sigma(s)$,离散奖励设下限 $\varepsilon=\Delta/(2\sqrt{n})$。(6) 加权回归:$w(s)$ 归一化到 batch 均值 1 后计算加权 token 级 MSE。(7) mini-batch 更新:切 $K=4$ 个小批,各裁剪到 $c$ 后立即更新 critic。验证:FrontierCS 每题 5 答、AIME24 32 答、Search-R1 七数据集等权平均。
技术新颖性
新颖性分三层。理论上,首次把“过滤截断样本”从启发式变成精确陈述:响应级联合过滤对应条件奖励目标 $E[R|s,C]$ 的梯度,且 token 级过滤时该响应级恒等式不再成立(Section B.2),刻画了 DAPO 式过滤的适用边界。统计上,梯度二阶矩分解把“哪些 prompt 主导更新”变成可计算量:预测误差与回报噪声相加,权重 $1/\sqrt{\mathrm{Var}(R|s)}$ 在保留最优点的同时拉平噪声贡献,Figure 3 的离线诊断(第 30/60/90 步的梯度箱线图)实证归一化后梯度与方差的强相关基本消失;组采样让这一切无需辅助方差网络,与 IV-RL、PopArt 同宗,但落在 LLM PPO 的 critic 损失这个新位置。系统上,给出理想化分析:单个离群点对平均裁剪梯度的影响为 $O(m)$、每 mini-batch 梯度方差为 $O(1/m)$,解释“小 mini-batch 裁剪更细但噪声平均更差”的权衡,并用 EV 首次非负步数随 $\log K$ 线性提前、$K=4/8$ 后期 EV 更高确定默认 $K=4$。消融证明三项改动各自有效、合并最强。
实验结果
主实验用 Qwen3.5-9B 系列覆盖三类 RLVR 任务,对比 PPO、HL-Gauss PPO、VAPO 等基线。第一,EasyPPO 三任务验证均第一:较 PPO 高 1.92/1.46/3.74 点(三任务依次为 FrontierCS、AIME24、Search-R1),相对提升 14.89%、2.28%、9.47%,较第二名再高 0.91/1.46/0.89 点。第二,每个基线至少崩溃一次,EasyPPO 是唯一三任务全程稳定的方法。第三(Figure 2):无过滤反复崩溃,联合过滤虽抬高完成样本奖励但截断率趋近 1,actor-only 最优但第 160 步仍有尖峰。第四(Figure 5):EasyPPO 的 EV 平稳上升,HL-Gauss 在 actor 崩溃后才接近 EV=1。第五(Figure 6):EasyPPO 3 次运行零崩溃,actor-only 过滤 2/3 次崩溃。第六(Figure 7/8):无归一化时 4 mini-batch 崩溃,有归一化皆稳;EV 首次非负步数随 $\log K$ 提前,$K=4/8$ 后期 EV 更高,故取 $K=4$。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| FrontierCS(连续奖励算法编码,FrontierSmith 200 题训练、算法 track 验证) | 验证任务分数(0–100 尺度,每题 5 个回答平均) | EasyPPO 最佳验证分数全方法第一,全程 200+ 步无崩溃 | vanilla PPO(第二名 PPO+actor-only 过滤) | 较 PPO 绝对 +1.92 点、相对 +14.89%;较第二名再高 0.91 点 |
| AIME24(二值奖励数学推理,DAPO-Math-17K 训练) | 准确率(每题 32 个采样平均) | EasyPPO 最佳验证准确率全方法第一 | vanilla PPO(其余基线含 HL-Gauss PPO、VAPO 均出现后期崩溃) | 较 PPO 绝对 +1.46 点、相对 +2.28%;较第二名高 1.46 点 |
| Search-R1(多轮搜索智能体,7 个验证数据集) | 七数据集等权平均贪心准确率 | EasyPPO 最佳验证准确率全方法第一,rollout 批 1024 | vanilla PPO | 较 PPO 绝对 +3.74 点、相对 +9.47%;较第二名高 0.89 点 |
| FrontierCS 多种子稳定性 | 3 次独立运行中的训练崩溃次数 | EasyPPO:0/3 次崩溃,验证分数 min–max 带窄 | PPO+actor-only 过滤:2/3 次崩溃 | 崩溃次数减少 2 次 |
局限与改进
作者承认的局限:权重与训练共用同一 rollout 组,会给 $w(s)$ 引入偏差(未量化),离线 profiling 留作未来工作;方差下限 $\varepsilon=\Delta/(2\sqrt n)$ 是针对离散奖励的启发式;mini-batch 分析基于理想化假设,更换 mini-batch 需调整 critic 学习率(如 $\eta\propto1/\sqrt K$)。我自己的观察:其一,实验只在 Qwen3.5-9B 一个规模上做,更大模型或更长 rollout 下截断率与方差结构是否同样有利未验证;其二,种子实验仅覆盖 FrontierCS 两方法各 3 次,AIME/Search-R1 是单次运行,2.28% 的 AIME 提升有落入种子噪声区间的风险;其三,对比对象全是 PPO 家族,未与 GRPO/DAPO 等 critic-free 强基线对垒;其四,组大小 16 时 $\hat\sigma$ 估计自身噪声不小,权重质量与组大小的关系未探讨;其五,三项改动叠加后超参增多($K$、$c$、$\varepsilon$、学习率缩放),迁移到新任务的调参成本未报告。
独立分析的弱点
第一,同组估计偏差与小组方差噪声:用同一批 rollout 既估 $\hat\sigma(s)$ 又训练 critic,权重会系统性偏离真值;组大小 16 时标准差估计相对误差可观,低方差 prompt 可能被高估权重(Figure 3 显示仍有离群点残留)。改进方向:跨 step 的指数滑动平均方差估计,或先离线 profiling 再在线微调。第二,二值奖励任务收益有限:AIME24 相对提升仅 2.28%,离散情形下组内 std 只取少数几个值,权重区分度低、公式接近退化。改进方向:为二值奖励设计基于截断率的显式修正而非方差代理。第三,缺少 critic-free 对比:EasyPPO 的增益是否源于“保留 critic”这一前提无法从本文数据判断,应补 GRPO/DAPO 基线并做算力对齐比较。第四,$c$、$K$ 与学习率三者耦合:论文自述换 mini-batch 就要重调学习率,宜形式化 $\eta\propto1/\sqrt K$ 规则并给出敏感性扫描。第五,诊断依赖离线梯度计算:Figure 3 需对每个检查点额外前向反向 512 条响应,在线监控版本会更实用。
未来方向
作者明确提出的方向:用离线 profiling 加在线更新替代同组方差估计以消除偏差;把方法推广到 rollout 更长的场景(如自动化研究任务),这是引言反复强调的动机——评估计算随 rollout 变长而膨胀,稳定 critic 的价值更大。基于本文成果可延伸:(1) token 级方差估计——目前用 prompt 级组内 std 近似所有前缀的条件方差 $\mathrm{Var}(R|s_t)$,按前缀深度分层或折扣加权估计会更贴近理论目标;(2) 与 HL-Gauss 的分类价值预测、VAPO 的解耦 GAE 正交组合,检验增益可加性,因为它们分别作用于价值表示与优势估计的不同环节;(3) 自适应 $K$ 与裁剪阈值——Figure 8 显示 $K=16$ 早期 EV 达标更快而 $K=4/8$ 后期更高,可让 $K$ 随 EV 动态变化;(4) 补全 Section B.2 留下的理论问题:token 级过滤时响应级策略梯度恒等式失效,值得推导修正项;(5) 把噪声归一化思想迁移到 critic-free 方法的组基线估计中,检验其在 GRPO 生态的适用性。
复现评估
可复现性较好但算力门槛高。代码开源(github.com/EasyPPO/EasyPPO),主页 easyppo.github.io;实现基于 verl,关键超参见附录 A:critic 学习率 $2\times10^{-6}$、30 步 warm-up、rollout 批 512/1024、组大小 32/16、响应上限 32,768 token、$K=4$ 个 critic mini-batch。数据全部公开:FrontierSmith 200 题加 FrontierCS 算法 track 验证集、DAPO-Math-17K、Search-R1 混合集;起点模型 Qwen3.5-9B(-Base) 公开;仅需额外生成 FrontierCS 的 SFT 起点(DeepSeek-V3.1 的 347 条非零分轨迹)。难点在算力:每批 512–1024 条 32K token 上限 rollout、200–300 步训练,加三任务四基线与多种子实验,是多节点集群规模,GPU 数量未披露。复现难度中高:改动小、披露充分,单卡缩水配置可验证趋势,完整复现三任务曲线及多种子结论需可观预算。
论文图表
FrontierCS 设置下(Qwen3.5-9B、FrontierSmith 200 题、rollout 批 512、30 步 critic warm-up、32,768 token 上限)对比三种过滤策略 200 步训练:左为截断比例,中为非截断样本的平均奖励,右为全体样本平均奖励。联合过滤使截断率趋近 1、完成样本奖励上升但整体奖励低;无过滤反复奖励崩溃;actor-only 过滤整体最好,但第 160 步附近仍出现尖峰和奖励回落。
这张图是论文动机的实验支柱:它同时证明了“联合过滤会病态地推高截断率”(失败模式一)和“仅 actor-only 过滤不够”(引出 critic 侧修复的必要性),是理解为什么需要 EasyPPO 的关键证据。
附录表格,汇总 FrontierCS、AIME24、Search-R1 上各方法最佳验证检查点的得分:EasyPPO 较 PPO 分别提升 1.92、1.46、3.74 点(相对 14.89%、2.28%、9.47%),较各任务第二名再高 0.91、1.46、0.89 点,且 EasyPPO 在全部三任务排名第一。
正文曲线图读数不够精确,这张表给出了所有可引用的量化对比数字,是复现比较和引用本文结论时的权威数据来源。