精读:Mesh Learning——把 RLVR 的坍塌解释成策略容量的供需冲突
用轨迹耦合核把「策略」定义成优化器视角的等价类,再证明 RLVR 必然把质量压向单一策略、而非平凡准确率又要求一个策略容量下界,两条结论冲突即晚期的准确率悬崖。本专栏逐列对账后发现:12 列里只有 4 列 z 越过 2,7B 模型四列全在 1.13 以内;最大一笔 11.5 pp 落在 GPQA,而那正是论文自己宣布定理 2 失效的一列;MEI 的报警阈值对应 16 个方向里剩 15.79 个,量的是梯度对齐不是策略数量;13.4 pp 全部由一个系数 1e-5 的正则项贡献,全文没有它的敏感性实验
1 论文概览
一句话总结:GRPO 家族在后训练后期会突然掉分,本文把这件事改写成一条供需冲突——优化动力学持续把策略概率质量压向单一策略(定理 1),而非平凡准确率又要求模型保住一个下界的「策略容量」(定理 2),两条结论撞在一起就产生准确率悬崖;顺着这条链条导出在线预警量 MEI,并给出预防方案 Mesh Learning。
核心问题:RLVR 训到后期,准确率在一段看似顺利的上升之后突然崩落。这个现象在 Qwen 与 Phi 两个模型族、GRPO / DAPO / GSPO / GRPO+KL / GRPO+JS 五种配方上都复现了。已有的解释停留在「多样性下降」「策略漂移太大」这类描述层面,而固定参考的 KL / JS 正则在实验里并没能挡住它。本文要回答的是:崩落的机制是什么、能不能在掉分之前看见、以及有没有办法绕开。
“Prompt-based probing reveals that this is not benign strategic pruning, but a harmful contraction of effective strategy capacity that makes distinct reasoning strategies increasingly inaccessible.” —— 摘要
主要贡献:
- 把「策略」变成可计算的对象。单条轨迹几乎不会精确重现,作者改用轨迹在一阶更新下的相互作用来分组:两条轨迹的 Fisher 分数内积 构成耦合核,在此基础上用 -邻域定义策略划分。这个定义是优化器中心的,不含任何语义假设。
- 给出坍塌的机制性解释。定理 1 说 RLVR 目标在「非坍塌区」内也会把 以上的策略质量集中到单一策略;定理 2 说要达到非平凡准确率,可用策略数必须达到 。前者压缩供给,后者抬高需求,冲突即悬崖。
- 导出一个不需要额外训练的在线预警量 MEI,只用 rollout 的 logit 梯度就能算,并在预训练后的模型上校准出 阈值。
- 证明固定散度惩罚挡不住(定理 3):只要奖励差与正则系数的比值 越过一个有限阈值 ,最优分布同样会把 的质量压到单一策略。
- 提出 Mesh Learning,由离线教练模型生成 个策略前缀的 Coach Prompting 与平衡各策略相对增速的 Strategy-Balancing Regularization 两部分组成。
2 方法详解
2.1 策略:从「轨迹长得像」换成「更新时一起动」
设 为轨迹 的 Fisher 分数。用另一条轨迹 做一次无穷小更新 后, 的对数似然变化是
于是 刻画两条轨迹的一阶相互作用: 表示一次对 的正向更新会顺带抬高 。同一策略的轨迹不仅彼此正耦合,还要对其他轨迹诱导的更新有相似响应,判据写成 。这个关系不可传递,Def. 1 改用邻域而非两两相似度来划分。
语义上的对应是作者补的一步实证:在 MATH-500 上用 Qwen-2.5-7B-Instruct 生成正确轨迹,交给 DeepSeek-V4-Pro 标注解法类别,取 后,同类解法内部的 显著高于跨类,跨类则弱耦合或负耦合。这一步是把「优化器中心的定义」接到「人类可命名的解法」上的桥,也是后面所有工程做法的前提。
2.2 两个定理如何撞出悬崖
定理 1 的形式是:对任意 与 、,存在 burn-in ,使得对所有 ,
量词顺序是「对任意 」,所以取 也在覆盖范围内——在 的实验配置下 ,结论是 99% 概率下 99% 的策略质量落在单一策略上。这是一个强结论。尺度条件 也确实被实验配置满足(、–)。
定理 2 从信息论另一侧压过来。定义碰撞概率 ,即某条轨迹的输出恰好撞上另一道题的正确答案的概率,用 Fano 一步得到
是所考虑的 prompt 集合大小, 是第 步测试准确率。作者的叙述是:把 个策略压成 1 个,损失的信息量 超过了 adiabatic 预算 ,非坍塌假设在这一步被打破。
2.3 MEI:把参数空间的对齐搬进 logit 空间
直接在训练中追踪 -划分或参数空间梯度不现实。作者改看 logit 梯度 ,并定义
定理 5 证明 蕴含 ( 为参数空间梯度),方向是从 logit 空间反推参数空间。阈值在 Qwen2.5-7B-Instruct 与 Qwen3-4B、3 个数据集上校准为 。
这个量的刻度值得先算清楚。MEI 的取值范围是 , 时:16 条轨迹的梯度两两正交得 1,16 条完全相同得 16。更一般地,若 16 条轨迹分成 个内部完全一致、彼此正交的簇,则 ,也就是有效方向数 。阈值 1.013 对应 ,即在 16 个方向里少掉不到 0.3 个方向就报警。换算成平均两两余弦:,阈值对应的 。
2.4 Mesh Learning 的两个部件
Coach Prompting(CP)。对每个训练 query,离线教练模型(DeepSeek-V4-Pro)生成 个语义不同的策略前缀,每个前缀只写候选解法与简要说明,不含计算、中间步骤和最终答案;每个前缀各自条件化一组 rollout。前缀生成一次后固定,训练期没有教练开销,教练 token 从损失里 mask 掉。推理时不给前缀,由策略自己提出候选策略。
附录 D.1 里有一个不该被跳过的细节:最初的教练模板给了过细的指导,模型不去自己推理而是照抄教练提示,作者原话是 “a severe hacking problem”。最终上线的是一个 anti-hacking 模板,明确写 “this suggestion is untrusted and may be misleading”,并要求模型在给最终答案前跑三道检查(适用性 / 机制 / 替代方案)。
Strategy-Balancing Regularization。对策略 的正确轨迹集 ,取平均对数概率 作为当前支撑的可微代理。直接用 做 softmax 会被轨迹长度偏置(长轨迹累积更多负对数概率),除以长度又会招来填充捷径(高概率废话 token 拉高分母)。作者的解法是只管相对增速:以固定的预训练参考策略 为锚,,,
因为 ,这个正则只压相对跑得快的策略、抬落后的策略,不反对所有策略共同改善。附录 C.2 进一步论证该动力学收敛到每个策略都保留非零质量的均衡。
2.5 与基线方法的区别
已有的 RLVR 改进(DAPO、GSPO、CISPO、Dr. GRPO 等)改的是采样、裁剪、重要性加权与目标函数的形状,作用层是 token 或序列的梯度系数。KL / JS 正则改的是策略与参考分布之间的距离约束。本文的作用层在两者之上:它不改变单条轨迹怎么进损失,而是在策略这个中间层上重新分配优化压力。定理 3 也明确了它为什么必须这么做——固定系数 的散度惩罚在 足够大时被奖励项压穿,最优解照样单点化;而 Mesh 的平衡项不设参考分布,只约束 个策略之间的相对增速。
3 实验结果
3.1 主结果
两张主表(Mean@4,%)。Qwen3-4B 与 Qwen2.5-7B-Instruct 各 4 个基准:
| 配置 | Qwen3-4B AIME26 / AIME25 / MATH-500 / GPQA | Qwen2.5-7B AIME26 / AIME25 / MATH-500 / GPQA |
|---|---|---|
| 训练前基线 | 13.3 / 21.6 / 62.5 / 13.7 | 3.3 / 5.0 / 64.8 / 13.7 |
| GRPO | 43.3 / 40.0 / 81.6 / 38.9 | 9.2 / 13.3 / 69.6 / 33.4 |
| DAPO | 43.3 / 40.8 / 84.3 / 44.5 | 8.3 / 6.7 / 70.5 / 34.1 |
| GSPO | 41.6 / 38.3 / 79.8 / 45.8 | 9.2 / 5.8 / 71.4 / 34.3 |
| GRPO+KL | 43.3 / 40.0 / 82.2 / 42.3 | 9.2 / 13.3 / 71.8 / 31.6 |
| GRPO+JS | 40.0 / 43.3 / 81.8 / 44.8 | 10.0 / 6.4 / 71.4 / 28.5 |
| Mesh () | 56.7 / 48.3 / 86.8 / 47.9 | 13.3 / 16.7 / 73.4 / 36.7 |
另有 Phi-4-mini-reasoning 跨族表:GRPO 22.3 / 24.1 / 79.9 / 18.4,DAPO 25.0 / 23.4 / 77.3 / 23.0,Mesh 33.3 / 30.8 / 83.2 / 34.5。LiveCodeBench v6 上 Qwen3-4B 由 DAPO 的 52.2 升到 56.4,Phi 由 32.7 升到 36.3。
Pass@k 上,Qwen3-4B 在 AIME26 / AIME25 的 Pass@128 增益是 32.6 / 28.8 pp,Qwen2.5-7B 是 6.9 / 7.3 pp。
3.2 把 headline 拆开算一遍
摘要的两个数字是「最高 13.4 pp」(Qwen 族)与「11.5 pp」(Phi 族)。我把每一列相对该列最强基线的增量和两样本比例检验的 值算了一遍(Mean@4 按每题 4 次采样计,AIME 30 题 → ,MATH-500 → ,GPQA-Diamond 198 题 → ):
| 模型 | AIME26 | AIME25 | MATH-500 | GPQA | 增量合计 |
|---|---|---|---|---|---|
| Qwen3-4B | +13.4(=2.08) | +5.0(0.78) | +2.5(2.25) | +2.1(0.84) | +23.0 |
| Qwen2.5-7B | +3.3(0.80) | +3.4(0.74) | +1.6(1.13) | +2.4(1.00) | +10.7 |
| Phi-4-mini | +8.3(1.41) | +6.7(1.16) | +3.3(2.69) | +11.5(5.06) | +29.8 |
12 列里只有 4 列的 越过 2。Qwen2.5-7B 的四列全部落在 0.74–1.13,没有一列达到 2。Qwen3-4B 合计 +23.0 pp 中 AIME26 一列占 13.4 pp,份额 58.3%。
3.3 消融:增益全部来自平衡项,且前缀单独用会伤
表 2 里给了「只加 Coach Prompting、不加平衡正则」的对照臂。Qwen3-4B 上各基线加 CP 后的变化(AIME26 / AIME25 / MATH-500 / GPQA):
- GRPO+CP:0.0 / 0.0 / 0.0 / −1.1
- DAPO+CP:−6.7 / −7.5 / +0.2 / −2.2
- GSPO+CP:+0.1 / −5.0 / +5.5 / −2.1
- GRPO+KL+CP:−2.9 / −1.7 / −3.7 / −9.1
- GRPO+JS+CP:0.0 / −1.9 / −1.4 / −14.1
论文的表述是「CP alone brings little or no improvement」。按上表,更贴切的说法是 CP 单独用在多数臂上是净负的,最坏一列掉 14.1 pp。这条对照也把「推理协议变了」这个混淆控制住了:CP 臂与 Mesh 臂共用同一套训练前缀与同一套推理时自提策略协议,CP 臂不涨而 Mesh 臂涨,增益无法归因于测试时的三检查模板。
于是 Qwen3-4B 的增量链条是 GRPO 43.3 → GRPO+CP 43.3 → Mesh 56.7,13.4 pp 全部落在平衡正则这一步。
4 个人分析
亮点
把「策略」从语义概念降成了可计算的等价类。 用 定义轨迹间的一阶相互作用,再用邻域而非两两相似度做划分,这一步是全文最结实的地方。它让「策略多样性」不再依赖人工标签或困惑度代理,而是直接从优化动力学里长出来。Fig. 2 又反过来验证了它与人类命名的解法对齐,双向闭环做完整了。
用反证而非拟合来解释坍塌。 先证明非坍塌区内必然集中,再证明非平凡准确率必然要求容量下界,两条硬结论冲突即坍塌。这个结构比「我们观察到熵在掉」强得多,因为它给出了一个可检验的对象(策略质量分布 )而不是一条曲线。
平衡项的设计避开了两个已知的坑。 直接对 做 softmax 会被长度偏置,除以长度会招来填充捷径;改成对 做 softmax,消掉了长度量纲,并保住平移不变性 。平移不变这一点是关键,它保证正则只做相对再分配,不与所有策略的共同改善对抗。
预警量的工程取舍讲清楚了。 参数空间梯度向量太大(作者说要 64B 显存),改用 logit 梯度,复杂度 ,且能在反向传播第一阶段顺手拿到。这是能在真实训练回路里跑起来的设计。
局限性
最大的一笔证据落在理论自己宣布失效的那一列。 Phi 族的 headline「11.5 pp」来自 GPQA,也是 12 列里唯一 的一列。而 §5.2 明确写着:
“GPQA is an exception: four choices imply , violating Theorem 2’s condition, so strategy concentration need not induce collapse.” —— §5.2 Training Dynamics
让定理 2 的下界退化成 ,即该基准上理论不要求任何策略容量,也不预言坍塌。机制解释与最强统计证据在空间上错开了:能解释的那几列 在 0.74–2.25,解释不了的那列 。
MEI 的报警阈值刻度与「策略容量」不是同一个量。 按 §2.3 的簇模型,有效方向数 ,阈值 1.013 对应 16 个方向里还剩 15.79 个。也就是说报警在少掉不到 0.3 个方向时就触发,而不是在 个策略被压到 1 个时触发(后者对应 )。这个刻度也排除了一个我原本担心的混淆:4 个前缀组各自内部坍塌、组间正交的情形下 ,仍远高于阈值,所以 Mesh 的低 MEI 不是分组结构机械拉低的产物。问题换了个位置——阈值太靠前,它是一个极灵敏的漂移探测器,不是策略容量的计数器。论文也只说 MEI 在训练早期就越线,“before its final surge and the subsequent accuracy cliff”,没有给出越线到悬崖之间的步数,预警的提前量没有量化。
平衡项的系数与它承担的增益量级不匹配。 按论文写出的形式,,,各分量绝对值不超过 ;而 GRPO 侧每条轨迹的系数是归一化优势 ,量级 。两者差五个数量级。§3.3 又显示 13.4 pp 的增量全部由这一项贡献,全文没有 的敏感性实验(附录 D.2 只给了 这一个值),也没有梯度范数的诊断。这是一个可证伪的缺口:跑一遍 就能判定增益是否真由平衡项产生。
rollout 预算的口径没有说清。 §5.1 写 “16 rollouts per query”,§4.1 写 “Each prefix conditions a separate rollout group”。若 16 是总数,则每个前缀组只有 4 条,对照组每条 query 16 条,两组在每策略样本量上不等;若每组 16 条,则 Mesh 的总采样量是基线的 4 倍。两种读法对应完全不同的结论,论文没有消歧,也没有「把基线的 rollout 数提到 64」的对照。
教练模型本身也是理论的经验锚点。 个训练前缀由 DeepSeek-V4-Pro 生成,Fig. 2 的语义对齐验证由同一个模型标注解法类别,定理 2 的经验检验所用的 也是让同一个模型枚举 1,000 道 MATH 题的解法后取最小值得到的。三者同源意味着整条链路的「什么算一个不同策略」由这一个闭源前沿模型定义,没有任何弱教练或开源教练的对照。
坍塌时点与 checkpoint 选取规则缺失。 Fig. 7 显示多个基线在后期崩落,而表 2 的读数没有报告训练步数,也没有说明取的是最终 checkpoint 还是训练过程中的最佳 checkpoint。若取最终,则增益里混进了「基线已崩」这一事实,比较的是不崩对崩后而不是不崩对不崩;若取最佳,则坍塌叙事并没有体现在 headline 里。这个信息缺了,两种读法的结论差很多。
定理 2 的下界随 prompt 集大小增长,标定没有被检验。 在 上是多项式增长、指数约为 。 是分析时选取的 prompt 集合大小,属于建模选择而非测量量,下界可以靠调大 任意抬高。Fig. 3 说 1.7B–72B 的模型都满足该下界,但正文没有给出 在这些模型上的实际估计方法,也就无法判断「满足」是不是因为下界在所选 下偏松。
跨模型沿用同一个 阈值未经校准。 阈值 1.013 在 2 个 Qwen 模型、3 个数据集上校准,随后被用在 Phi 族与全部 5 种 RLVR 配方上。Phi 上是否重新校准没有报告。考虑到阈值距基线只有 0.013,跨族漂移的影响不能默认忽略。
5 实践启示
可以借鉴的技术
把内部多样性诊断从输出文本搬到更新几何。 用 或 logit 梯度 的对齐度来度量策略坍塌,不依赖任何外部标注,也不需要额外前向。这套思路可以直接搬进任何 RLVR 训练回路:每隔若干步抽一个 batch,算一次 ,画成曲线看是否单调上行。要注意的是刻度问题——按 读成有效方向数,比盯绝对阈值更稳。
相对增速平衡这个模式可以复用。 配 的写法,本质是只管相对、不管共同,且平移不变。凡是需要在若干互斥行为模式之间维持配额的场景(工具调用类型、代码解法类别、拒答与作答的比例)都能套。三个前提是:参考分数必须由固定参考模型给出并 detach、参与平衡的每条轨迹必须成功(否则该项在这一步消失)、系数要做敏感性扫描。
教练前缀的 anti-hacking 写法值得抄。 把外部建议明确标为 “untrusted and may be misleading”,再要求模型先跑适用性、机制、替代方案三道检查,比直接把提示塞进 prompt 更接近给一条线索而不是给一个答案。原文承认朴素写法会导致模型照抄教练(“a severe hacking problem”),这个坑在别的注入式训练里同样存在。
用 CP-only 对照臂来隔离先验与保持。 表 2 的这组对照是本论文实验设计里最值得学的一招:同样前缀、同样推理协议,只差一个正则,就能把「给信息」与「保住信息」分开计价。
潜在应用场景
- 长程 RLVR 训练的稳定性护栏。持续训练里最贵的失败模式就是后期崩落且回滚点难定。把 MEI 做成随训练落盘的一条曲线,配合定期 checkpoint,可以在掉分之前定位回滚点。前提是把阈值按自己的 与模型重新校准,直接抄 1.013 不可靠。
- Pass@k 敏感的产品。代码补全、数学求解这类靠多次采样换覆盖率的场景,坍塌的代价在 Pass@128 上被放大到 32.6 pp(Qwen3-4B AIME26)。策略保持类方法的收益在这类指标上比 Mean@1 大一个量级。
- 多解法数据生产。Coach Prompting 的离线前缀生成本身就是一条数据工程管线:同一个题产出 条走不同解法的轨迹,天然带策略标签,可以直接用于构造带结构标注的 SFT 数据或偏好对。
- 评测侧的多样性审计。 耦合核可以离线用在已有轨迹池上,评估这个模型在同一道题上还剩几种真正不同的走法,作为 Pass@k 之外的第二个覆盖度指标。
相关精读
- 本篇把本专栏连续三十一期的主线又挪了一格:此前三十期回答的是「挑哪些 token、挑哪些轨迹、信用按哪套口径记账、信号被消费时旧了多少、数据分布离基座多远、整条响应有没有资格参与这次更新」,这一期问的是策略容量本身会不会被优化动力学耗光——作用层再往上一格,从「这条轨迹怎么进损失」变成「这几种解法凭什么一起活下来」。
- 精读:CARM——把响应级掩码的判据从净位移换成双向漂移
- 精读:把 off-policy 专家数据 MCMC 投影成 on-policy 数据
- 精读:GMC-GRPO——把重要性比从逐条裁剪换成整组收缩
- 精读:SCAPO——用「扰动下不动」给 token 记一笔负账
- 精读:ARCUS——prompt 的选择也有一条弧
- 精读:把中间那一步的信号从模型里搬进环境——用沙箱回滚跑出免费过程奖励
- 精读:把特权信息从损失搬到采样器——多轮 agent 里自蒸馏为什么会崩
- 精读:OC-GRPO 与离上下文重要性校正
- 精读:不跑 RL,先把新奖励的结果预测出来
- 精读:给 token 级信用一个唯一解,然后把它求和掉
- 精读:把后训练配方本身当成果,再逐阶段对账
- 精读:STAR-E——按惊讶度给 token 重加权 advantage
- 精读:按梯度可估性给 token 分配蒸馏监督
- 精读:TrimSFT——按 logit 间隔剪掉 SFT 里的低信息 token
- 精读:ESFT 与端点 SFT 对中段推理链的裁剪
- 精读:把中间状态的价值估计整体消掉
- 精读:ActObs——把被 mask 掉的那 45% 观察 token 重新纳入损失
- 精读:SP³O——一条响应里只给三个位置价值监督
- 精读:教师引导的课程 RLVR——把解不出的题变成可解的题
- 精读:DataFlex-RL 与均匀采样的替代策略
- 精读:NGU 与 RL 里的马太效应
- 精读:按排序可分辨性做 RLVR 数据联合工程
- 精读:模型与外壳共演化时的同策略校正
- 精读:OPD-then-RL——顺序摆信号胜过同 step 混信号
- 精读:One-Shot OPD 与状态覆盖吸收率
- 精读:Compile by Training——把 LLM 降级为构建期依赖
- 精读:Terminal-Universe——轨迹反向造环境
- 精读:OPSA——无教师的同策略自适应
- 精读:SPADE——把优化对象从轨迹上移到生成器
- 精读:DART-SD——标注单元从轨迹换成状态图