同一个基座模型复制成两个角色:Challenger 专门出「让当前 Solver 拿不准」的题,Solver 用多数投票生成伪标签再学习。 全程不提供人类任务与标签,训练信号来自模型自己的采样。代价写在论文自己的表里:题越出越难,伪标签真准确率从 79.0% 降到 63.0%,到第 60 步性能回落。
R-Zero 从一个 base LLM 初始化两个参数独立的模型:Challenger 负责出题,Solver 负责解题。两者轮流用 GRPO 更新,形成「出题 → 解题 → 变强 → 出更难的题」的闭环(§2.1)。
Challenger 的奖励不是「题目难」,而是 Solver 在同一题上 10 次回答的一致性:经验正确率 p̂ 越接近 0.5,r_unc 越高;再减去 BLEU 聚类的重复惩罚。Solver 的数据集只保留 10 次里 3–7 次一致的题,伪标签取多数票(§2.2、§2.3、§3.1)。
Qwen3-4B-Base 的数学七基准均分从 42.57 升到 49.93(+7.36 个百分点,Table 1),通用三基准均分从 26.34 升到 31.15(+4.81 个百分点,Table 2)。 但这不是免费午餐:第 3 轮伪标签真准确率降到 63.0%(Table 5),Step 60 数学均分从 49.12 回落到 46.52(Table 6)。
先分清「零数据」到底零在哪:零任务、零标签,不等于零先验。
强化学习可验证奖励(RLVR)需要两样东西:一批可验证的题,以及能判断对错的奖励信号(标签、规则或 verifier)。人工出题与标注不只贵、难扩展;而且任务是预先给定的,不会自动跟着模型当前能力调整。论文把这一点列为继续 scaling 的结构性瓶颈:人类能出的题,受人类能力上限约束(§1)。
题目从哪来?人工写、从题库采、或用模型生成。
答案谁来判?数学可以规则匹配,开放域往往不止一个正确答案。
没有执行器或 oracle 时,模型自己出的题很难验证。
已有方法通常只解决其中一项:label-free RL 去掉了标签,但仍需要一池现成题目;self-challenging 让模型自己出题,但很多方法依赖代码执行器或单元测试来保证题目可解、可验证(§1)。R-Zero 的目标是把任务与标签一起省掉,代价是它把题目生成限定在数学这个答案客观、可用多数投票造伪标签的域里(§2.2)。
论文的「from Zero Data」不是「没有任何人类先验」。Challenger 的 system prompt 仍然是人类写的竞赛数学出题专家提示,明确要求「fewer than 30% of advanced high-school students could solve it」,并规定输出格式(Appendix B.2)。这句话后面会再出现一次,因为它决定了这套方法能迁移到哪。
R-Zero 的位置:既不依赖种子题集,也不依赖代码执行器;但它换来了「必须能多数投票」的域限制。
用 confidence、entropy 或答案一致性做奖励,不需要人工标签。但训练仍然从一批预先存在的无标签题目出发。
卡点:题目集本身是外部给定的,不能真正从零扩张。
让模型自己出题;在代码域,Coder 生成的程序可以由 Tester 的单元测试验证,形成可自洽的闭环。
卡点:开放域推理没有这种执行器或确定性 verifier,题目质量与答案正确性都难保证。
论文在 Related Work 里把差别写得很直接:「While these methods all rely on a pre-existing set of unlabeled problems, R-Zero removes the need for any seed dataset.」省掉种子题集,是 R-Zero 与 label-free RL 的分界线(§5.1)。
数学七基准均分上,R-Zero 在四个基座上都高于 Absolute Zero:Qwen3-4B 为 49.93 对 46.42,Qwen3-8B 为 53.72 对 52.68,OctoThinker-3B 为 29.32 对 27.23,OctoThinker-8B 为 38.52 对 36.60(Table 1)。 通用三基准均分上并非全胜:OctoThinker-3B 的 Absolute Zero 为 16.03,R-Zero 为 11.12(Table 2)。
这组对照说明论文的主张有边界:它是在「无种子任务、无标签」的设定下取得数学提升,并把一部分能力迁移到通用基准;它不是「所有模型、所有基准都更高」。看 Table 2 时,OctoThinker-3B 这一行必须一起看。
两个公式:不确定性奖励训练出题人;多数投票过滤决定解题人学什么。
Challenger 对每道生成的题 x,让当前 Solver 采 m 个回答。出现次数最多的答案作为伪标签 ỹ(x),经验正确率 p̂ 就是这 m 个回答里与伪标签一致的比例。论文把「好题」定义为让 p̂ 靠近 0.5 的题:Solver 一半会、一半不会,既不是白给,也不是完全做不出。
重复惩罚先用 BLEU 相似度做层次聚类,把相似题放进同一个 cluster Ck;一个 cluster 越大,其中每道题的惩罚越高,rrep = λ|Ck|/B。此外还有一道硬门槛:生成结果必须包在 <question>...</question> 里,格式不合格的题直接拿 0 分,不再计算后续奖励(§2.2)。
Solver 的数据集构造是另一套逻辑:Challenger 先采 N = 8,000 道候选题,每题让 Solver 采 m = 10 个回答,保留满足 |p̂ − 1/2| ≤ δ 的题,实验取 δ = 0.25。换成计数就是 10 次里与多数票一致 3–7 次,两端都丢掉。留下的题用多数票答案当伪标签,Solver 再用「新答案是否匹配伪标签」的二值奖励做 GRPO(§2.4、§3.1)。
Appendix F 把学习潜力写成当前 Solver 到最优策略的 KL 下界:DKL(Sφ || S*) ≥ p̂(1 − p̂) / (2β²)。右边在 p̂ = 0.5 时最大,所以「让 Solver 最不确定」等价于「让这一步的奖励方差最大」。这是单步动机;推断 它不证明多轮协同进化一定稳定——论文自己在 §4.2 报告了后面的退化。
固定 m = 10、δ = 0.25。拖「一致答案数 k」改变 p̂;拖「重复惩罚」改变 rrep。两种模式分别对应 Challenger 奖励与 Solver 数据过滤——注意 rrep 只进 Challenger 奖励,不参与 Solver 过滤。
示意:前 k 个回答与多数票一致。真实顺序不重要,重要的是计数。
m = 10,δ = 0.25,r_unc = 1 − 2|p̂ − 0.5|,r = max(0, r_unc − r_rep)。
p̂ = 0.50;r_unc = 1 − 2×0 = 1.00;r = 1.00;|0.50 − 0.50| = 0.00 ≤ 0.25,保留。p̂ = 0.70;r_unc = 1 − 2×0.20 = 0.60;r = 0.60 − 0.25 = 0.35;|0.70 − 0.50| = 0.20 ≤ 0.25,保留。p̂ = 0.80;r_unc = 1 − 2×0.30 = 0.40;r = 0.40 − 0.10 = 0.30;|0.80 − 0.50| = 0.30 > 0.25,丢弃。本模拟覆盖 §2.2 的 uncertainty reward 与 composite reward、§2.3 的 δ 过滤;未覆盖 BLEU 聚类的具体计算(r_rep 由滑块代替)、格式检查的解析逻辑、GRPO 的策略更新。它是简化模拟,不是原文算法的完整实现。
工程参数都在附录里;真正贵的是每轮 8,000 道候选题 × 10 次采样。
每个 co-evolution 轮次里,Challenger 先训练 5 步,然后从它的策略采 N = 8,000 道候选题;每题让 Solver 采 m = 10 个回答,做过滤与多数投票;最后 Solver 在构造出的数据集上训练 15 步。主实验跑 3 轮,Solver 共 45 步,结果在 45 步处报告(§3.1.1)。Table 6 还报告了 Step 60,超出主实验的 45 步,用来看退化。
| 项目 | 值 | 出处 |
|---|---|---|
| 候选题目 N | 8,000 | §3.1 |
| 每题 Solver 采样 m | 10 | §3.1 |
| 过滤阈值 δ | 0.25(10 次中 3–7 次一致) | §3.1 |
| BLEU 聚类阈值 τBLEU | 0.5 | §3.1 |
| Solver max steps | 15 | Appendix B.1.1 |
| Challenger max steps | 5 | Appendix B.1.2 |
| Global batch size | 128 | Appendix B.1 |
| Learning rate | 1 × 10−6 | Appendix B.1 |
| KL penalty | 1 × 10−2 | Appendix B.1 |
| Rollout 数(Solver / Challenger) | 5 / 4 | Appendix B.1 |
只算数据构造:一轮 8,000 × 10 = 80,000 次 Solver 生成;三轮 80,000 × 3 = 240,000 次。这还不含 Challenger 的 rollout、Solver 训练时的 rollout,以及 GPT-4o 评测调用。论文没有报告总 GPU 小时,所以这里只能给出采样次数,不能换算成等量算力。
评测口径也要一起看:AMC 与 AIME 用 mean@32,其余数学基准用 greedy decoding;通用基准报告 greedy 的 Exact Match。数学答案的最终对错由 GPT-4o judge 判定(temperature 0.1,只返回 Yes/No),不是纯字符串匹配(Appendix B.3、Appendix C)。
流程图里的每个箭头都对应 §2 的一个步骤;共享参数的 4B 消融在第一轮后就开始退化。
Challenger 与 Solver 从同一个 base LLM 初始化,但参数是两份,各自用 GRPO 优化。Appendix D 把两者合并成一份参数(Single-R-Zero)做对照:Step 15 的伪标签准确率是 63.4%,低于两模型的 71.0%;数学均分 47.31 在第一轮后就走低,Step 45 为 45.57(Table 6)。作者假设原因是「同一模型既出题又解题,会因内部偏差而过度自信」(Appendix D)。
Appendix B.1 给的是单轮步数与 batch 配置;两模型相对 Single 的算力倍数,论文未报告。所以「两模型更好」目前是效果结论,不是成本结论。
先看主表,再看消融与迭代曲线;所有数字都标了表号,冲突口径单独并列。
| 模型 | Base | R-Zero | 差值 |
|---|---|---|---|
| Qwen3-4B-Base | 42.57 | 49.93 | +7.36 |
| Qwen3-8B-Base | 48.64 | 53.72 | +5.08 |
| OctoThinker-3B | 26.64 | 29.32 | +2.68 |
| OctoThinker-8B | 36.41 | 38.52 | +2.11 |
| 模型 | Base | R-Zero | 差值 |
|---|---|---|---|
| Qwen3-4B-Base | 26.34 | 31.15 | +4.81 |
| Qwen3-8B-Base | 31.98 | 34.50 | +2.52 |
| OctoThinker-3B | 7.47 | 11.12 | +3.65 |
| OctoThinker-8B | 11.70 | 23.00 | +11.30 |
数学四个基座全部上涨,幅度从 +2.11(OctoThinker-8B)到 +7.36(Qwen3-4B);通用四个也全部上涨,幅度从 +2.52(Qwen3-8B)到 +11.30(OctoThinker-8B)。通用涨幅最大的是 OctoThinker-8B:11.70 → 23.00;最小的是 Qwen3-8B:31.98 → 34.50。
论文还保留了 R-Zero (challenger) 基线:用未经 RL 训练的 Challenger 出题。它的数学均分是 Qwen3-4B 45.01、Qwen3-8B 52.10、OctoThinker-3B 27.51、OctoThinker-8B 36.98,四行都低于训练后的 R-Zero(Table 1)。这组对照支撑「Challenger 的 RL 训练有用」这一论断,但它不是本文与外部方法的比较。
| 方法 | Math AVG | General AVG |
|---|---|---|
| R-Zero | 49.07 | 31.15 |
| w/o Rep. Penalty | 45.76(低 3.31) | 28.73(低 2.42) |
| w/o Filtering | 47.35(低 1.72) | 26.69(低 4.46) |
注意:Table 3 的 R-Zero 数学是 49.07,Table 1 的同一模型是 49.93。论文没有说明两处是否为同一 checkpoint;本页按表原样引用,不合并。
去掉重复惩罚,数学降 3.31、通用降 2.42;去掉难度过滤,数学降 1.72、通用降 4.46。正文说 w/o Filtering 的通用下降「falls by over 6 points」,但 Table 3 的 31.15 → 26.69 是 4.46 点。两个口径并列,本页不改正文,也不替表补数。
| 题目集 | Base Model | Solver step 15 | Solver step 30 | Solver step 45 | 伪标签真准确率 |
|---|---|---|---|---|---|
| Dstep 15 | 48.0 | 59.0 | 57.0 | 61.0 | 79.0 |
| Dstep 30 | 52.5 | 53.0 | 51.5 | 53.5 | 69.0 |
| Dstep 45 | 44.0 | 47.0 | 45.0 | 50.5 | 63.0 |
伪标签真准确率从 79.0% 降到 69.0%,再降到 63.0%(下降 16.0 个百分点)。同时,固定在 Step 15 的 Solver 在后续题目集上的答对率从 59.0% 降到 47.0%(下降 12.0 个百分点)——题目确实在变难。两件事同时发生:题目更接近能力边界,但多数票更不可靠。
Appendix E 进一步说,标签噪声不是退化的全部原因:0.6B 在伪标签准确率还有 70.6% 时就开始掉,4B 能容忍到 48.8%;论文据此认为不存在统一的准确率阈值,模型自身在自生成数据上的退化也在起作用(Appendix E)。需要注意,这里的 70.6% / 48.8% 来自 Appendix E 的 Table 7,表注写明由 Gemini 标注;Table 5 的真准确率用 GPT-4o 标注,两者不是同一个 judge,数字不可直接横比。
49.12 − 48.06 = 1.06 的上升;Step 45 → 60 为 49.12 − 46.52 = 2.60 的回落。47.31 − 45.57 = 1.74 的下降;Step 60 为 43.89。图表纵轴从 0 起,避免把 1–3 分的差异画得像几十个百分点。每个柱子的高度按该指标的最大值归一化:数学用 60,伪标签用 100。
两模型在 Step 45 达到 49.12,Step 60 回落到 46.52;Single 在 Step 15 达到 47.31 后降到 45.57(低 1.74),Step 45 两者差 3.55,Step 60 为 43.89。注意 Table 6 的 48.06/49.12 与 Table 1 的 49.93、Table 3 的 49.07 不是同一组数;论文未说明对应关系。
这不是本页的换算问题:同一篇 v4 里,摘要、正文与表格对同一模型给了不同数字。下面逐条并列,不做合并。
本页主表按表引用,正文数字单独标来源;差异原因论文未说明。
论文自己列的限制、表格里能看到的代价,以及哪些场景不该用。
论文在 Limitation 里写得很清楚:R-Zero 的核心机制依赖「correctness can be objectively verified」。创意写作、对话、偏好生成这类开放任务没有明确的对错标准,Challenger–Solver 的反馈就立不住(§6)。
伪标签真准确率 79.0% → 69.0% → 63.0%。题越接近能力边界,Solver 的多数票越不可靠;当「共识」本身是「共同犯错」时,Solver 学到的是错误答案推断(由伪标签真准确率降到 63.0% 推得,§4.4、Table 5)。
Figure 3 报告所有模型规模最终都会退化,模型越大退化越晚:0.6B 在第一轮(Step 15)就到峰值,4B 撑到第三轮(Step 45),Step 60 明显回落。Table 6 的 49.12 → 46.52 是同一现象的具体读数(§4.2、Table 6)。
主实验的 Challenger 被明确要求出数学题,system prompt 还是人类写的竞赛出题专家提示(Appendix B.2)。Appendix H 去掉数学约束后,8B 变体的均分高于原版,但单基准有升有降:MATH 81.6 < 82.0、GSM8K 93.89 < 94.09、AIME25 13.2 < 13.3、AIME24 15.2 < 15.4。这说明域限制是设计选择,不是方法必然。
数学答案由 GPT-4o judge 判定(Appendix B.3);§4.4 分析伪标签准确率时,直接把 GPT-4o 当作 perfect annotator。换 judge 或换评测口径,数字会变;论文没有报告 judge 的误差范围。
主表覆盖 Qwen3-4B/8B 与 OctoThinker-3B/8B;0.6B 与 1.7B 只出现在 Figure 3 与 Appendix E 的退化分析里,而且更早回落。把结论外推到 32B、70B 或更大模型,论文没有证据。
还有一条容易被忽略的边界:R-Zero 并非所有格子都赢。OctoThinker-3B 的通用均分是 11.12,低于 Absolute Zero 的 16.03(Table 2);更小的 0.6B/1.7B 也更早退化(Figure 3)。如果场景是「小模型 + 通用推理」,这套方法的收益需要重新验证。
没有客观正确答案的开放任务;需要把结论外推到 8B 以上规模的任务(论文未验证);以及把「零数据」理解成「零人类先验」的场景。论文的贡献是展示了这条闭环在数学域可行,并把代价(伪标签退化、长轮次崩溃、域限制)一起摆了出来。推断(本条为应用建议,不是论文结论;论文没有报告 GPU 小时,也未测 >8B)。