跳转至

Probing RLVR Training Instability through the Lens of Objective-Level Hacking

会议: ICML 2026
arXiv: 2602.01103
代码: 无
领域: LLM 对齐 / RLHF / 强化学习训练稳定性 / MoE
关键词: RLVR, GRPO, MoE, 训练-推理失配, 客观级 hacking

一句话总结

作者提出"objective-level hacking"框架,把 MoE 大模型在 RLVR 中训练-推理差异越训越大的现象归因为 token 级权重失真在优化目标里引入的有偏伪信号,并在 30B MoE 上通过四组实验验证"偏差(不是方差)才是元凶"。

研究背景与动机

领域现状:RLVR(可验证奖励强化学习,代表算法 GRPO/DAPO/GSPO)已经成为 OpenAI o1、DeepSeek-R1 等推理模型背后的核心后训练范式,在数学/代码/Agent 上展现出比 SFT 更强的泛化和长期收益。

现有痛点:特别是 MoE 架构下,RLVR 训练频繁出现"训着训着崩了"——validation 反向下跌,token 熵塌缩,gradient norm 异常。一个最让人困惑的伴生现象是 训练-推理失配 (training-inference discrepancy) 持续增长:同一份权重在 vLLM 推理与 Megatron 训练下输出 token 概率越来越不一致,即使每步都同步参数。

核心矛盾:这本应是个"基础设施数值精度差异"的瞬态噪声,为什么会随训练单调增长、最终引发不可逆崩溃?现有补丁(TIS、各种 clip 变体、GSPO 序列级 clip)能缓解但没人讲清楚机制。

本文目标:回答两个具体问题——(1) 为什么训练-推理失配会累积增长而非保持常数?(2) 哪些常见技术(initial discrepancy、token-level clipping、自定义 token 加权)在不知不觉中往优化目标里塞入了有偏信号?

切入角度:把"reward hacking"概念从 verifier 提到 优化目标层面——任何 token 级权重的微调都等价于在原 GRPO 目标外加了一个 \(\Delta\mathcal J(\theta)\) 项,如果这一项与某个伪信号(如 \(\rho_{i,t}^{-1}\))正相关,优化就会朝着拉大 discrepancy 的方向走,形成正反馈。

核心 idea:用一个统一的公式 \(\mathcal J_{\text{dist}}=\mathcal J + \Delta_{\text{dist}}\mathcal J\) 描述各类"token-level 权重失真"对优化目标的隐式偏置,并通过主动注入实验证明 偏差才是关键,方差性噪声不会触发崩溃。

方法详解

整体框架

框架分两部分:(i) 理论端把 GRPO/GSPO 目标分解成 \(\mathcal J(\theta)+\Delta\mathcal J(\theta)\),把 initial discrepancy 与 token-level clipping 都写成 \(\sum_{i,t} X_{i,t}(\theta)(\phi_{i,t}-1)\) 这种"token 权重扰动"的统一形式;(ii) 实验端在 Qwen3-30B-A3B MoE 上用 verl + vLLM + Megatron 跑 DAPO-Math-17k,通过 (a) 对比 GRPO 与 TIS 校正、(b) 改变 clip 范围、(c) 主动注入低概率 token 权重失真、(d) 注入无偏方差噪声 四组实验,逐步剥离出"偏差 ⇒ discrepancy 增长 ⇒ 崩溃"的因果链。

关键设计

  1. 目标级 hacking 的统一形式化:

    • 功能:把所有"看似无害"的 token 级修改都映射到优化目标的隐式偏置上。
    • 核心思路:从理想目标 \(\mathcal J(\theta)=\mathbb E_{\text{train}}[\sum_{i,t} X_{i,t}(\theta)]\) 出发(\(X_{i,t}=r_{i,t}\hat A_{i,t}/(G|o_i|)\)),把 rollout 从 \(\pi_{\text{train}}\) 偏移到 \(\pi_{\text{infer}}\) 后做一阶推导,得到 \(\Delta\mathcal J(\theta)\simeq \sum_{i,t}\text{Cov}_{\text{train}}(X_{i,t},\rho_{i,t}^{-1})\),其中 \(\rho_{i,t}=\pi_{\text{train}}/\pi_{\text{infer}}\)。同理 token-level clip 等价于 \(\phi_{i,t}\in\{0,1\}\) 的乘法权重,得到 \(\Delta_{\text{clip}}\mathcal J=\mathbb E_{\text{train}}[\sum X_{i,t}(\phi_{i,t}-1)]\)
    • 设计动机:看似不同源的"训练事故"(数值误差、剪裁、自定义加权)其实都在做同一件事——给某些 token 偷偷换权,统一表示后才能用同一套实验思路检验。
  2. 主动注入实验作为因果探针:

    • 功能:在不依赖具体补丁的情况下,直接验证"哪种扰动会触发 discrepancy 增长"。
    • 核心思路:基于 GSPO(序列级 clip 本身不引发增长)的稳定基线,人为对低概率 token 加权 \(\varphi_{i,t}=\delta\) if \(\pi_{\text{train}}<\pi_{\text{low}}=0.1\),其余 \(=1\),扫 \(\delta\in\{1.2,2,3\}\)。这等价于显式构造一个有偏的 \(\Delta_{\text{inj}}\mathcal J\)。同时设计对照实验:\(\xi_{i,t}\sim\mathcal N(1,\sigma^2)\) 的无偏方差注入,推导得到 \(\Delta\mathcal J_{\text{var}}\simeq 0\)(因为 \(\xi-1\)\(Y_{i,t}\) 独立)。
    • 设计动机:观察相关性无法证明因果;主动注入则可以"开关"伪信号,如果 \(\delta=1.2\) 都能立刻引爆,而方差噪声完全不会,就证明问题不是噪声本身而是 偏差
  3. 目标级信号监测 + 正反馈环描述:

    • 功能:把抽象的 hacking 概念变成可在训练日志中跟踪的标量,并解释为何崩溃不可逆。
    • 核心思路:定义代理量 \(J=\sum_{i,t}\hat A_{i,t}(\varphi_{i,t}-1)\) 实时画在训练曲线上,看到 \(J\) 与 step 的 Pearson 相关系数显著大于 0 就说明伪信号在"被持续优化"。同时在不同概率区间统计 \(\rho_{i,t}\):低概率 token 的 \(\rho\) 在训练中持续向下偏离 1,survival bias 让它们更难恢复,进而进一步放大 hacking,形成"discrepancy ⇄ hacking"的正反馈;切回早期 checkpoint 也救不回来。
    • 设计动机:给工业 RLVR 提供一个工程上可用的早期告警指标——一旦 \(J\) 单调上升即可在崩溃前停训,而不是等到 validation 跌完才发现。

损失函数 / 训练策略

不引入新的 loss,只对现有 GRPO/GSPO 做"加权目标"的写法变换。所有实验在 4 节点 × 8 A100 上跑,每步 128 problem × 16 response,4 次参数更新,response 长度 8K;GRPO clip 默认 0.2,GSPO 序列级 clip 3e-4/4e-4。

实验关键数据

主实验

不同稳定化策略下的 discrepancy 与 validation 行为(基于 Figure 2、4、5 的定性结论整理):

配置 discrepancy 增长 validation 备注
GRPO + token clip (vanilla) 显著上升 反向下跌 标准 RLVR,稳定性差
+ TIS 校正 明显减缓 提升 只改优化目标,不动 infra
Token clip strong (ε=0.2) 最快 最早崩溃 强 clip = 强偏置
Token clip weak (ε=0.28) 较慢 较好 弱 clip 反而稳一些
GSPO (sequence clip) 不增长 稳定 无 token 级偏置
GSPO + 注入 \(\delta=1.2\) 触发增长 退化 仅 20% 加权即可引爆
GSPO + 方差注入 \(\xi\sim\mathcal N(1,\sigma^2)\) 不增长 稳定 偏差才是元凶,方差不是

消融实验

探究问题 设计 关键观察
Clip 强度 vs. discrepancy 右 clip ∈{0.2, 0.24, 0.28} clip 越强 discrepancy 增长越快
偏差 vs. 方差 有偏 vs. 无偏 token 加权 无偏方差不引发增长(Eq. (22) 解释)
降低低概率 token 权重 与提高对称的扰动 同样引发 discrepancy 增长,说明根因是"失真"而非"加权方向"

关键发现

  • "感觉应该让训练稳定"的 token-level clip 在 MoE 上反而加速 discrepancy 增长,因为它本质是一种 token 加权失真,在统一框架下完全等价于人为注入伪信号。
  • discrepancy 增长是一个 正反馈 过程:hacking 让低概率 token 的 \(\rho\) 持续偏离 1,而偏离又进一步放大 hacking 的有效强度,所以模型一旦崩溃换 batch / 回滚 checkpoint 都救不回。
  • 序列级算法(GSPO)在 MoE 上稳定不是因为"clip 更松",而是因为它在结构上避免了 token 级权重失真,这给未来 MoE-specific RL 算法设计提供了具体准则:永远不要往目标里塞依赖 token 概率的有偏权重

亮点与洞察

  • 把"reward hacking"的概念水平迁移到"objective hacking",首次把训练-推理失配这种"基础设施 bug"解释成"算法层有偏目标"的产物,提供了真正可重复的机制解释。
  • 主动注入实验设计极漂亮:用 GSPO 当稳定底座,显式开/关 \(\delta\)\(\sigma\),等价于做了一次干净的双向因果实验。
  • 给工业 RLVR 一个 可监控 的早期信号 \(J=\sum \hat A_{i,t}(\varphi_{i,t}-1)\),而不是只能事后看 validation 崩了再回滚。

局限与展望

  • 实验只在 Qwen3-30B-A3B 一个 MoE 上完成,稠密模型与其他 MoE 路由策略下结论强度未知。
  • 框架解释了"什么会引发崩溃",但还没给出"怎么自动消偏";潜在方向是把 importance sampling 校正与 token 加权失真的双方都纳入统一目标修复。
  • A100 数值精度比 H100 低,作者承认这放大了 initial discrepancy;在更高精度硬件上 hacking 的触发阈值可能不同。

相关工作与启发

  • vs DAPO / Dr.GRPO 等 GRPO 变体:它们从经验出发改 clip / advantage / 长度归一化,本文给出了一个能解释"为什么这些改有效"的统一公式 \(\mathcal J=\mathcal J+\Delta\mathcal J\)
  • vs GSPO (Zheng 2025):GSPO 是工程层面发现"序列 clip 更稳",本文用 objective-level hacking 给出了机制解释,把它的优点从"试出来的"变成"理论上必然的"。
  • vs TIS (Yao 2025):TIS 直接对目标做 importance sampling 修正,本文把它定位为"在 \(\Delta\mathcal J\) 这一层做的对症下药",并展示了 TIS 并不能完全消除 MoE 下的 discrepancy。

评分

  • 新颖性: ⭐⭐⭐⭐ 提出 objective-level hacking 概念并给出统一公式,首次解释 MoE RLVR 崩溃机制。
  • 实验充分度: ⭐⭐⭐⭐ 30B MoE 上做了对照、强度扫描、主动注入、偏差/方差解耦四组实验。
  • 写作质量: ⭐⭐⭐⭐ 推导清晰,正反馈环描述直观。
  • 价值: ⭐⭐⭐⭐ 给 RLVR 算法设计提供具体准则,并给出可监控的工程信号。