跳转至

R-Zero: Self-Evolving Reasoning LLM from Zero Data

会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=96apU6YzSO
代码: https://github.com/Chengsong-Huang/R-Zero
领域: LLM推理 / 强化学习
关键词: 自进化、无数据、Challenger-Solver、协同进化、GRPO、伪标签

一句话总结

R-Zero 从一个基座模型同时初始化「出题者 Challenger」和「解题者 Solver」两个角色,让前者被奖励去生成卡在 Solver 能力边缘(正确率约 50%)的难题、后者被奖励去攻克这些题,二者用 GRPO 交替训练、协同进化,全程不需要任何人工题目和标签,就把 Qwen3-4B-Base 的数学推理平均分提升 +6.49、通用推理 +7.54。

研究背景与动机

领域现状:让 LLM "自进化"——自己产生经验、自己提炼、自己学习——被视为通往超级智能的可扩展路径。但当前主流做法(SFT 或带可验证奖励的强化学习 RLVR)都重度依赖大量人工精心标注的任务与答案作为监督信号。

现有痛点:靠人来造题、标答案既贵又难规模化,更要命的是它构成了一个根本性天花板——如果 AI 的能力上限被人类标注者的水平钉死,就永远无法超越人类智能。为了摆脱这个依赖,已有两条路线但都不彻底:一是无标签 RL,从模型自身输出(如序列置信度、输出熵)里抽奖励信号,但它仍然需要一个预先存在的题库;二是自挑战(self-challenging),让模型自己出题自己学,但多数方法依赖外部代码执行器来保证题目可行且可验证,一旦进入开放式推理这种没有验证 oracle 的领域,自造数据的质量和正确性就难以保证。

核心矛盾:真正的"从零自进化"要求既不依赖种子题库、又能在没有外部验证器的领域(如一般数学推理)里自我校验数据质量——这两点现有方法都做不到同时满足。

本文目标:构造一个从零外部数据出发、不需要人工题目/标签、也不需要代码执行器的自进化推理训练框架。

切入角度:作者借鉴自博弈(self-play)思想,把"出题"和"解题"拆成两个独立优化但相互耦合的角色。关键洞察是:最有价值的训练信号来自 Solver 当前正好不太会做的题——太简单学不到东西,太难则伪标签不可靠;而"会不会"这件事,可以用 Solver 自己多次回答的自洽性(self-consistency)来无标签地度量。

核心 idea:用一个 RL 训练的 Challenger 持续生成卡在 Solver 能力边缘的题,再用 Solver 多数投票产生的伪标签去训练 Solver,二者交替冻结、协同进化,形成一条无需人工干预的自适应课程(curriculum)。

方法详解

整体框架

R-Zero 的输入只有一个基座 LLM,输出是一个推理能力被持续增强的 Solver。整个框架是一个迭代循环:每一轮里,先冻结 Solver、用 GRPO 训练 Challenger 去出难题;再用训练好的 Challenger 批量生成候选题,经过滤 + 多数投票构造出一份带伪标签的数据集;最后冻结 Challenger、用 GRPO 在这份数据上训练 Solver。一轮结束后 Solver 变强,下一轮 Challenger 又要去找它新的能力边缘,如此螺旋上升。两个角色都从同一个基座复制初始化,全程自监督、零人工介入。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["单一基座 LLM<br/>复制出两个角色"] --> B["Challenger 训练<br/>GRPO 出难题"]
    B --> C["不确定性奖励<br/>逼近 50% 正确率边缘"]
    A --> D["Solver(本轮冻结)<br/>采样 m 个答案测自洽性"]
    D --> C
    C --> E["重复惩罚 + 格式检查<br/>组合奖励更新 Challenger"]
    E --> F["数据集构建<br/>候选过滤 + 多数投票伪标签"]
    F --> G["Solver 训练<br/>GRPO + 二元可验证奖励"]
    G -->|迭代下一轮:Solver 变强→重新冻结再出题| B

关键设计

1. Challenger–Solver 协同进化循环:把"造数据"变成两个角色的博弈

R-Zero 不再去找一个预先存在的题库,而是让出题和解题分裂成两个独立优化但交替冻结的策略 \(Q_\theta\)(Challenger)和 \(S_\phi\)(Solver),它们从同一基座初始化后在 RL 过程中协同进化。一轮的节奏是:冻结 \(S_\phi\) → 用它的反馈训练 \(Q_\theta\) 出题 → 冻结 \(Q_\theta\) → 用它出的题训练 \(S_\phi\)。这样做的根本好处是把数据生成从"一次性人工标注"变成一个自适应、持续追着 Solver 弱点跑的课程生成器:Solver 每变强一点,Challenger 就被迫去探索它新的能力边缘,训练信号永远停留在最有学习价值的难度带上,而不会像固定题库那样很快被学穿或者一开始就太难。

2. 不确定性奖励:把"题目好不好"量化成 Solver 的自洽性

这是整个框架能无标签运转的核心。Challenger 要的不是最难的题(那样 Solver 全错、伪标签全是噪声),也不是最简单的题(学不到东西),而是 Solver 正好半懂不懂的题。作者把"半懂"形式化为自洽性:对生成的题 \(x\),向冻结的 Solver 采样 \(m\) 个答案,取最高频答案作为伪标签 \(\tilde{y}(x)\),并计算经验正确率 \(\hat{p}(x;S_\phi)=\frac{1}{m}\sum_{j=1}^{m}\mathbb{1}\{y_j=\tilde{y}(x)\}\)。不确定性奖励定义为:

\[r_{\text{uncertainty}}(x;\phi)=1-2\left|\hat{p}(x;S_\phi)-\tfrac{1}{2}\right|\]

\(\hat{p}\to 0.5\) 时奖励最大、\(\hat{p}\to 0\)\(1\) 时奖励趋零,于是 Challenger 被精确地推向"让 Solver 最大不确定"的题。这个度量完全来自 Solver 自身的多次采样,不需要任何外部 oracle 或代码执行器,因此能用在没有验证环境的开放式推理上——作者选数学正是因为答案客观、便于用多数投票造伪标签。

3. 重复惩罚 + 格式检查 + 组合奖励:保证出题既多样又规整

只靠不确定性奖励,Challenger 容易塌缩到反复出同一类题。为此作者加了一个 batch 内的重复惩罚:用 BLEU 度量两两相似度 \(d_{ij}=1-\text{BLEU}(x_i,x_j)\)(选 BLEU 是因为 rollout 中要算无数次、需要快),把 \(d_{ij}<\tau_{\text{BLEU}}\) 的题聚成簇 \(C=\{C_1,\dots,C_K\}\),簇 \(C_k\) 里每道题 \(x_i\) 的惩罚正比于簇相对大小 \(r_{\text{rep}}(x_i)=\lambda\frac{|C_k|}{B}\)\(B\) 为 batch size,实验取 \(\lambda=1\)\(\tau_{\text{BLEU}}=0.5\))。同时一个格式检查会先判断题目是否被 <question>...</question> 正确包裹,不合规直接给奖励 0、其余信号都不再计算。最终对通过格式检查的题取组合奖励 \(r_i=\max\!\left(0,\ r_{\text{uncertainty}}(x_i;\phi)-r_{\text{rep}}(x_i)\right)\),据此算优势 \(\hat{A}_i\) 并最小化 GRPO 损失更新 Challenger。消融显示去掉重复惩罚数学分掉 3.3 点,说明题目多样性对 Solver 训练确实关键。

4. 数据集构建:难度过滤 + 多数投票兼做隐式质量控制

Challenger 训好后充当课程生成器,先采样一个大候选池(\(N=8000\))。对每道题让当前 Solver 采 \(m=10\) 个答案、多数投票定伪标签 \(\tilde{y}_i\) 并算经验正确率 \(\hat{p}_i\)只有落在信息量最大的难度带 \(|\hat{p}_i-\tfrac{1}{2}|\le\delta\)\(\delta=0.25\),即 10 个答案里 3~7 个对上多数答案)的题才进训练集 \(S\)。这一步表面是按难度筛选——丢掉太简单和太难的题,但作者强调它还隐式做了质量控制:经验正确率极低往往意味着题目本身有歧义、病态或伪标签不可靠,过滤掉这些低自洽样本能同时提升数据质量和难度校准。消融里去掉过滤后通用推理掉了 6 点以上,是掉点最狠的一项。

损失函数 / 训练策略

两个阶段都用 GRPO(Group Relative Policy Optimization)。Challenger 阶段以上述组合奖励 \(r_i\) 计算组内相对优势 \(\hat{A}_i\),最小化 \(\mathcal{L}_{\text{GRPO}}(\theta)\)。Solver 阶段奖励更简单也更可验证:对题 \(x_i\in S\) 及其伪标签 \(\tilde{y}_i\),Solver 生成一批答案,匹配伪标签得奖励 \(r_j=1\)、否则 \(0\),据此算优势 \(\hat{A}_j\) 并最小化 \(\mathcal{L}_{\text{GRPO}}(\phi)\)。框架基于 EasyR1 实现;每轮表格结果取 45 个训练步后的结果,图中每 15 步评一次 checkpoint。

实验关键数据

骨干涵盖 Qwen3-4B/8B-Base(同架构看规模)与 OctoThinker-3B/8B(从 Llama-3.1 续训,验证跨架构)。基线包括 Base 模型、Absolute Zero,以及一个 R-Zero(challenger) 对照——即 Solver 训练在一个未经训练的 Challenger 出的题上,用来隔离 RL 训练 Challenger 的作用。

主实验(数学推理,平均分)

模型 Base R-Zero(challenger) R-Zero 相对 Base 提升
Qwen3-4B-Base 42.57 45.01 49.93 +6.49(论文称 49.07/+6.49)
Qwen3-8B-Base 48.64 52.10 53.72 +5.51(49.18→54.69)
OctoThinker-3B 26.64 27.51 29.32 +2.68
OctoThinker-8B 36.41 36.98 38.52 +2.11

通用推理(SuperGPQA / MMLU-Pro / BBEH)上同样全面提升,如 Qwen3-4B 平均 26.34→31.15(+4.81,摘要口径 +7.54 为更高骨干配置),证明数学训练学到的推理能力能跨域泛化而非死记领域知识。从 R-Zero(challenger) 到第一轮 R-Zero 的明显跳升(Qwen3-4B 上 +3.7),说明 RL 训练出来的 Challenger 给出的课程确实远胜未训练的出题器。

消融实验(Qwen3-4B-Base)

配置 数学 AVG 通用 AVG 说明
R-Zero(完整) 49.07 31.15 完整框架
w/o 重复惩罚 45.76 28.73 题目多样性受损,数学掉 3.31
w/o 难度过滤 47.35 26.69 通用掉 6 点以上,掉点最狠

关键发现

  • 难度过滤贡献最大:去掉它通用推理掉 6+ 点,因为 Solver 被迫在含歧义/病态题的噪声数据上训练,鲁棒性受损——印证了过滤兼做质量控制的论断。
  • 会收敛甚至塌缩,且与模型规模相关:0.6B 模型第 1 轮(Step 15)就见顶随后下滑,1.7B 稍晚,4B 能稳升三轮到 Step 45 才在 Step 60 骤降。大模型只能推迟而非避免塌缩。
  • 伪标签会系统性退化:随着题越出越难,Solver 多数投票(对照 GPT-4o oracle)的真实正确率从首轮 79.0% 一路掉到第三轮 63.0%,这是制约框架上限的核心 trade-off。
  • 可当 mid-training 用:先跑 R-Zero 再在人工标注数据上 SFT,比只用人工数据多 +2.35(4B)/+3.69(8B);且"先 R-Zero 后 SFT"的顺序策略优于把人工数据混进 R-Zero 一起训。

亮点与洞察

  • 用自洽性把"难度"变成可优化的连续奖励\(1-2|\hat{p}-1/2|\) 这一项让"卡在能力边缘"从一个模糊直觉变成可微的训练目标,且完全无标签——这是把自博弈搬到无验证器领域的关键一步,可迁移到任何能用多数投票造伪标签的客观答案任务。
  • 过滤步一举两得:同一个 \(|\hat{p}-1/2|\le\delta\) 既校准课程难度、又顺手剔除低自洽的病态题做质量控制,省掉了单独的数据清洗模块。
  • 诚实地揭示自进化的边界:论文没有只报喜,而是系统刻画了"伪标签随难度上升而退化→性能终将塌缩"的内在矛盾,给后续"如何打破自标注质量天花板"指明了靶子。

局限与展望

  • 存在性能塌缩:自进化不能无限持续,伪标签质量下滑(79%→63%)最终拖垮 Solver,大模型也只是延后塌缩。如何引入外部锚点或更可靠的自校验是关键。
  • 领域受限于"答案客观":方法依赖多数投票造伪标签,目前聚焦数学;迁移到答案开放、难以投票判定的领域(如自由形式写作、证明)还需新机制。
  • 缺少对塌缩的根因级解法:论文诊断了塌缩现象与规模相关性,但未给出阻止塌缩的训练改造,作者也将其列为未来工作。
  • 伪标签噪声会自我强化:Solver 既是伪标签来源又是被训练对象,错误可能被循环放大,缺乏跳出局部错误的机制。

相关工作与启发

  • vs 无标签 RL(如基于置信度/熵的方法): 它们从模型输出抽奖励、去掉了显式标签,但仍需一个预先存在的题库;R-Zero 连种子题库都不要,从零生成全部训练题。
  • vs 自挑战 / 代码自博弈(Coder–Tester、Absolute Zero 等): 那类方法多依赖代码执行器/单元测试做验证,局限在可验证域;R-Zero 用 Solver 自洽性替代外部验证器,把自博弈推广到没有验证 oracle 的一般推理域。在主表上 R-Zero 也普遍优于 Absolute Zero。
  • vs RLVR: 传统 RLVR 仍需可验证的人工任务/规则验证器;R-Zero 把"任务 + 验证信号"都内生化,是 RLVR 在零数据设定下的延伸。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 真正从零数据、无外部验证器的 Challenger-Solver 协同进化,把自博弈推广到无 oracle 的一般推理域。
  • 实验充分度: ⭐⭐⭐⭐ 跨两种架构四个规模 + 消融 + 迭代塌缩/伪标签退化/SFT 协同等深入分析,但塌缩缺解法。
  • 写作质量: ⭐⭐⭐⭐⭐ 动机链条清晰,奖励设计与分析诚实,正负面都讲透。
  • 价值: ⭐⭐⭐⭐⭐ 给"超越人类标注上限的自进化"提供了可落地范式,并明确指出其当前天花板。