Rethinking Critic Learning in PPO: Understanding and Mitigating Value Flattening
Yizhuo Li, Jianhao Yan, Yun Luo, Zhi Wang, Futing Wang, Rong-Xi Tan, Kanghui Tian, Ganqu Cui, Ning Ding, Peilin Zhao, Yafu Li, Yu Cheng
cs.LG, cs.AI
2026-09-16
标准PPO的critic在轨迹内部几乎不跟着蒙特卡洛价值走,论文称之为Value Flattening。SP3O每条回复只在两三个隔开的位置算value损失。Qwen3-4B数学均分从PPO的37.60升到45.57。
用 PPO 训长推理时,critic 要在轨迹的每一步给出状态价值,再交给 GAE 做 token 级优势。如果中间某一步已经把题做崩、或已经接近做对,价值应当跟着变。上海 AI Lab、上交、西湖大学这条线发现:用同一策略从中间状态再滚若干条续写得到的蒙特卡洛价值,经常在相邻推理步之间跳 0.5 以上,而 PPO critic 的预测几乎贴着一条平线,有时方向还反了。他们把这叫 Value Flattening。在 DAPO-Math-17k 上训 Qwen3-4B-Base,正确和错误回复、训练前中后期都有这个形状。FrozenLake 里把迷宫从 32 扩到 128,同样的训练配置下 critic 地图越来越糊。
终端奖励、γ=λ=1 时,一条回复里每个 token 的回归目标都是同一个终局回报 R。把 MSE 拆开,一项是拟合均值,另一项正好是预测值在这条回复里的方差。密集监督等于在所有 T 个位置上惩罚价值起伏,critic 有动机把整条轨迹画平。
第二条原因是时间相关。LLM 的状态是「已经生成的前缀」,相邻状态只差一个 token,隐状态和梯度余弦都很高,距离越远才慢慢分开。每个 token 都回一次相似的梯度,等于反复把邻近位置往同一个值上推。
SP3O 只改 critic 损失作用的位置,actor 目标、rollout、回报都不动。默认在相对进度 0.3、0.6、0.9 三个锚点算 value 损失;回复长度至少 6144 token 时再加一个 0.95,把尾巴盖住。推理时 critic 仍对每个生成位置出价值,只是训练信号变稀、变疏。
都在 DAPO-Math-17k 上训 Qwen3-4B-Base 和 8B-Base,数学套件 avg@32,分布外 avg@4。
| 模型 | 方法 | 数学均分 | 分布外均分 |
| Qwen3-4B-Base | PPO | 37.60 | 51.95 |
| Qwen3-4B-Base | GRPO | 39.26 | 56.44 |
| Qwen3-4B-Base | SP3O | 45.57 | 59.28 |
| Qwen3-8B-Base | PPO | 48.50 | 64.38 |
| Qwen3-8B-Base | GRPO | 47.91 | 64.91 |
| Qwen3-8B-Base | SP3O | 50.51 | 66.37 |
4B 相对 PPO,数学 +7.97、分布外 +7.33。8B 仍涨,但幅度更小。AIME26 上 4B 从 PPO 的 14.69 到 22.08;ZebraLogic 从 9.90 到 19.20。相对自身策略的 MC 曲线,SP3O 在 30%、60%、90% 进度把 MSE 分别降 36%、11%、21%。回复级区分能力没有掉,轨迹内部变异变大,隐状态有效秩中位数从 4.33 升到 5.63。在线更新幅度比 PPO 更小,回复也更长。
消融:监督点数 K=3 最好,K=4 和 8 仍高于密集 PPO,K=16 和 64 掉回密集基线附近。K=3 时随机锚点 36.59,低于 PPO 的 37.60;固定 0.3/0.6/0.9 为 45.57。去掉尾锚后准确率从 45.57 掉到 44.10,重复率从 1.12 升到 18.33,尾巴必须单独盖住。
很多人已经因为 critic 难训而改用 GRPO。这篇给出一个更具体的机制:不是 critic 没必要,是「每个 token 都用同一个终局回报做 MSE」会主动抹平轨迹内部的价值差。稀疏几个隔开的位置,实现成本接近于改一行采样,却让 4B 在数学和分布外都超过 PPO 和 GRPO。若你还在跑带 value 的 PPO,这是一个值得先试的改法。
它仍是渐进改进。8B 上相对 GRPO 只有大约 2.6 个数学点、1.5 个分布外点,大模型上还没有数字。
正文没有独立的局限节。实验只覆盖 Qwen3-Base 的 4B 和 8B,数据只有 DAPO-Math-17k,奖励是终端二元,KL 系数为 0。Value Flattening 的理论拆解绑在「每个位置同一目标」上,过程奖励或非 1 的 γ、λ 会不会同样抹平,没有测。VinePPO 用额外续写估中间价值,这篇只拿 MC 续写当诊断,没有把它当作训练基线比成本。FrozenLake 说明状态空间变大时现象加重,但格子世界推不到长 CoT。K 扫描的方差「不可忽略」,最优点会不会随模型或任务移动,仍不清楚。