NGU:把强化学习算力留给难题,为什么还要锚定正样本?
一道题连续答错四次,我们应该换题,还是继续尝试?另一道题已经连续答对四次,又是否值得再生成二十八个答案,只为找出一次偶然失误?
Never Give Up(NGU)关注的正是这两种采样选择如何分配训练算力。 它用少量样本快速筛过简单题,对尚未解决的题追加尝试;找到正确答案后,还会保留此前失败次数的信息,让这次难得的成功得到适当的训练权重。
本文解读 Michael Noukhovitch、Hamish Ivison、Nathan Lambert 和 Aaron Courville 的论文 Learning to Solve Hard Problems in RL for LLMs by Never Giving Up,依据 2026-09-11 发布的 v1。下文概率计算与玩具示例是教学推演,实验数字则注明原文出处。
1. 总分上涨,为什么难题可能仍然不会?
论文将 RL 后训练中“初始越擅长的问题,往往进步越明显”的现象称为 Matthew Effect(马太效应)。平均分上升,可能主要来自简单题变得更稳定,而不是困难题真正被突破。论文 §2
理解这件事,先看文中使用的组相对优势。在同一道题上采样 \(K\) 个答案,答对记 1,答错记 0:
\[ \bar r=\frac1K\sum_{j=1}^{K}r_j, \qquad A_i=r_i-\bar r. \]
这里沿用论文不除以组内标准差的写法,不能直接把优势数值套到所有 GRPO 实现中。
| 一组答案 | 平均奖励 | 优势 | 奖励提供的组内区分信号 |
|---|---|---|---|
| 错、错、错、错 | 0 | 全为 0 | 没有 |
| 对、对、对、对 | 1 | 全为 0 | 没有 |
| 错、错、错、对 | 1/4 | 三个 −1/4,一个 3/4 | 有 |
“没有信号”指这里的任务奖励优势为零,不意味着带其他正则项的整个训练系统一定没有梯度。论文会过滤全对、全错的组,再补充其他题目来构成有效训练批次。论文 §3
于是很容易想到:难题全错,是不是把 \(K\) 增大就行了?
2. 大 K 同时捞出两种稀有事件
假设模型暂时固定,每次独立采样,某题的单次正确率为 \(q\)。那么:
\[ P(\text{至少一次正确})=1-(1-q)^K, \]
\[ P(\text{至少一次错误})=1-q^K. \]
下面是教学用概率计算,不是论文实验数据:
| 题目与事件 | K = 4 | K = 32 |
|---|---|---|
| 难题,q = 5%,至少采到一个正确答案 | 18.5% | 80.6% |
| 简单题,q = 95%,至少采到一个错误答案 | 18.5% | 80.6% |
严格说,进入有效训练组需要“有对有错”,其概率为:
\[ P(\text{混合组})=1-q^K-(1-q)^K. \]
在表中的参数下,它与相应事件概率几乎相同。
大 \(K\) 提高了发现难题正确答案的机会,也让已经基本掌握的简单题更难被过滤。纠正这些偶发错误当然有价值,但在固定预算下,它会与困难题的探索竞争资源。作者据此强调 signal efficiency(训练信号效率):除了是否找到非零优势,还要看算力花在了哪些问题上。作者博客:What causes the Matthew Effect?
需要避免一个推论:上面的概率本身并不能证明“大 K 一定更差”。改变 \(K\) 还会改变单位预算能覆盖的题目数量、批次组成和等待时间,必须比较完整训练过程。
3. NGU 怎样决定何时继续?
对第一次访问一道题的情况,可以把规则理解为:
| 首轮少量采样的结果 | 处理 |
|---|---|
| 全对 | 本轮过滤,尽快处理其他题 |
| 有对有错 | 形成训练组 |
| 全错 | 以概率 p 重新入队,再采一小组;否则结束本轮尝试 |
重试时,NGU 累积这道题此前的结果,而不是把每一小组都看成独立问题。旧失败记录和新成功答案共同决定训练信号。这个过程发生在训练期,验证器用于检查训练答案,并不是部署时无限生成直到“知道自己答对”。作者博客:Never Give Up on hard problems
用 \(K=4\) 举例:
1 | |
如果第二轮四个答案全对,累计组里仍有第一轮的四个错误,不能把它误当成“全对组”直接丢弃。实现时必须区分当前小组和累计组,并考虑哪些历史样本仍可训练。
这也解释了为什么 NGU 需要异步调度:某道难题可以重新排队,其他已完成的题继续补入训练。节省下来的生成能力才能真正用于更多尝试。
“Never Give Up”仍然会放弃
若一道题一直没有成功,每轮失败后以概率 \(p<1\) 继续,则轮数服从几何分布,期望采样量为:
\[ \mathbb E[C\mid\text{始终失败}]=\frac{K}{1-p}. \]
例如 \(K=4,p=0.95\) 时为 80 个答案。它不是所有题目的实际平均开销,也不是硬性上限;成功会提前结束,而少数题的尝试次数仍可能远高于期望。
进一步,在固定正确率 \(q\)、独立采样的简化模型中,只有“一小组全错且决定继续”才进入下一轮,因此:
\[ \mathbb E[C]=\frac{K}{1-p(1-q)^K}. \]
这条教学推导直观展示了动态分配:\(q\) 越大,越接近只用 \(K\) 个答案;\(q\) 越小,越接近 \(K/(1-p)\)。真实异步训练中策略会变化,不能直接用它预测实际开销。
4. 保留失败历史,为什么会放大稀有成功的优势?
回到两轮采样得到的 1 对、7 错。
只看最后一轮,会认为正确率是 \(1/4\),正样本优势为:
\[ A_+^{\text{last}}=1-\frac14=\frac34. \]
把此前失败一起计入,正确率为 \(1/8\),正样本优势为:
\[ A_+^{\text{history}}=1-\frac18=\frac78. \]
第二个数值表达了更多信息:这是八次尝试中才出现一次的成功。保留失败历史,使这次成功的优势不会因为只看最后一小组而被低估。
但历史轨迹来自更旧的策略。在异步训练中,等待越久,越可能变成过旧的 off-policy 样本。NGU 因此区分两件事:轨迹是否继续进入训练损失,以及它的奖励和次数是否继续参与基线统计。 原文的过旧样本消融和正样本锚定见 §4、图 6。
5. 锚定正样本:删除旧负样本后,怎样恢复零和?
继续使用同一个教学例子。完整的八个样本优势为:
\[ \left[\frac78,-\frac18,-\frac18,-\frac18,-\frac18,-\frac18,-\frac18,-\frac18\right]. \]
现在删掉四个过旧负样本,但基线仍使用全部八次尝试的统计。剩余优势之和变成:
\[ \frac78+3\left(-\frac18\right)=\frac12. \]
如果重新用剩余四个样本计算基线,就会回到 \(3/4\) 的正优势,遗忘部分失败历史。Anchoring the positives(锚定正样本)固定正优势,再重缩放剩余负优势。
设 \(n_+\) 是参与更新的正样本数,\(n_->0\) 是保留下来的负样本数,\(\bar r\) 来自累计采样统计。令:
\[ A_+=1-\bar r, \qquad A_-=-\frac{n_+}{n_-}(1-\bar r). \]
则:
\[ \sum_i A_i =n_+(1-\bar r) -n_-\frac{n_+}{n_-}(1-\bar r) =0. \]
在本例中,每个负样本变为 \(-7/24\):
\[ \frac78+3\left(-\frac7{24}\right)=0. \]
| 处理方式 | 正优势 | 每个剩余负优势 | 优势总和 |
|---|---|---|---|
| 保留历史基线,不重缩放 | 7/8 | −1/8 | 1/2 |
| 只用剩余样本重新计算基线 | 3/4 | −1/4 | 0 |
| 保留历史基线,锚定正样本 | 7/8 | −7/24 | 0 |
注意,论文 v1 的 HTML 正文在该处给出的负优势表达式没有显示前导负号。上面写的是带符号的优势;若写成正数,只能解释为其绝对值,否则不满足原文声称的零和性质。该公式还要求至少保留一个负样本,不能在 \(n_-=0\) 时直接使用。
6. 零和为什么有用,又为什么不是通用定律?
这里的零和恢复了奖励相对组内基线的中心化,避免单纯删除负样本就让平均优势变正。但策略梯度并不要求每个有限采样批次的优势和都为零。
在固定状态、精确同策略期望、未裁剪的策略梯度下,与动作无关的基线满足:
\[ \mathbb E_{a\sim\pi_\theta} [b(s)\nabla_\theta\log\pi_\theta(a\mid s)]=0. \]
因此,非零平均优势并不自动意味着期望梯度错误。实际训练包含有限采样、筛选、旧策略数据和裁剪,基线及重缩放会影响估计与优化动态;NGU 的选择需要结合其消融实验理解。
另外:
\[ \sum_i A_i=0 \quad\not\Rightarrow\quad \sum_i A_i\nabla_\theta\log\pi_\theta(y_i\mid x)=0. \]
不同回答对应不同梯度向量,正负系数仍可以推动策略学习。这里说的零和是回答级优势之和,不能直接推广为经过 token 长度加权、重要性比和裁剪之后的“有效梯度平衡”。
7. 实验支持什么?
在 Deepscaler 上,作者训练 Qwen3-4B-base,控制每个设置约 120 H100 小时,并运行三个随机种子。以下摘录原文附录 C.3、表 2;数值为 pass@1 百分数,Average 沿用原表的汇总方式,不能直接当作两列的简单平均。
| 方法 | AIME 2025 | BRUMO 2025 | Average |
|---|---|---|---|
| GRPO,K = 32 | 21.4 ± 1.3 | 29.2 ± 0.7 | 25.3 ± 0.5 |
| GRPO,K = 16 | 20.0 ± 1.5 | 29.6 ± 1.4 | 24.8 ± 1.0 |
| K = 16 + NGU,p = 0.875 | 21.8 ± 0.2 | 31.2 ± 1.3 | 26.5 ± 0.6 |
NGU 相比表中较强的 \(K=32\) 基线,汇总指标提高 1.2 个百分点;相比同为 \(K=16\) 的基线提高 1.7 个百分点。这些是具体设置下的均值差,不代表所有任务都会有同样收益。论文附录 C.3,表 2
作者还在 Manufactoria 编程任务中观察到,NGU 帮助模型突破较难测试,并开始完整通过题目的全部测试。这里使用的是部分测试通过奖励,不能机械套用前文二元奖励下的“直到第一次答对”描述。论文 §6
论文图 5 使用“接近帕累托最优”描述 NGU 兼顾不同采样设置的表现。帕累托最优意味着在给定候选集合与目标下,不能不牺牲任何目标就继续改善另一个目标;这里是对实验权衡的描述,并不是证明 NGU 在所有算法中全局最优。
8. 哪些场景可能不适合?
作者在附录 B 指出:NGU 依赖题库中有足够的简单题可被快速过滤。如果绝大多数题都很难,分轮尝试可能比一开始就生成较大批次等待更久,增加数据陈旧程度。作者也不建议把 \(K\) 降到 1,再完全依赖继续概率控制采样。论文附录 B
从方法出发,我还会检查三个问题:
- 验证器是否可靠。 若高奖励容易被投机获得,追加探索也可能放大这种投机行为。
- 历史统计是否过时。 旧失败次数能表达成功的稀有性,也可能低估已经进步的当前策略;保留窗口与衰减统计值得对照。
- 评测是否能区分发现与稳定掌握。 有限次采样从未成功,并不证明真实成功概率严格为零。应同时看 pass@1、多次采样成功率及实际计算开销。
这些是需要验证的边界和实验方向,不是论文已经证明的失败模式。
9. 对 GRPO 与 OPD 融合的一个启发
以下是基于 NGU 的个人分析,不属于原论文结论。
对于 SAF-OPD 一类融合方法:
\[ A_{i,t}^{\mathrm{total}}=g_i+\lambda d_{i,t}, \]
\(g_i\) 是验证器提供的回答级 GRPO 优势,\(d_{i,t}\) 是教师提供的 token 级信号。值得借鉴的是:保护可靠的验证器信号,并把“哪些样本进入更新”与“哪些统计参与校准”分开考虑。
不能直接要求融合信号零和。原始 OPD 在固定上下文、当前学生策略采样下满足:
\[ \mathbb E[d(s,a)] =-D_{\mathrm{KL}}(\pi_\theta(\cdot\mid s)\Vert\pi_T(\cdot\mid s)), \]
它的非零均值有不同来源。若对融合优势逐回答减均值,还会把该回答共享的 \(g_i\) 完全消掉。
一个更有针对性的待验证方向是:当正确回答的正 GRPO 信号被负 OPD 过度抵消时,只衰减冲突部分,同时保留教师对局部 token 的纠正。需要用“整体降低 OPD 系数”作为对照,确认收益不是简单来自蒸馏变弱。
参考资料
- 原论文与版本记录:arXiv:2609.13443
- 作者博客:Learning to Solve Hard Problems in RL for LLMs by Never Giving Up
- 作者代码:mnoukhov/never-give-up
- 延伸阅读:SAF-OPD
本文为中文解读,补充了教学计算、公式符号说明及独立分析,并非原文翻译。原论文由 Michael Noukhovitch 等人以 CC BY-NC-SA 4.0 发布;本文对该论文的改编内容遵循相同许可。
点赞与评论
喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。
如果评论无法加载,请检查网络连接后刷新页面。