跳转至

On the Generalization Gap in Self-Evolving Language Model Reasoning

会议: ICML 2026
arXiv: 2606.01075
代码: 无
领域: LLM推理 / 自我进化 / 偏好学习
关键词: 闭环自我进化, DPO, 生成-验证博弈, Knights & Knaves, 推理泛化

一句话总结

本文在"只有未标注 prompt + 基座模型"的严格闭环设定下,系统比较了 4 种自我进化(SE)策略(单轮验证、多轮修订、迭代训练、课程学习)与 oracle 监督的差距,发现在 Knights & Knaves 逻辑推理上 SE 能把 Gemma 3 4B 从 31.0% 提到 44.8%,但相对 oracle 的 53.3% 仍有 8–13% 的持续 gap,只有 12B 模型的 RevisionSE 才能逼近 oracle(52.8% vs 53.6%)。

研究背景与动机

领域现状:LLM 后训练正从 SFT/RLHF/RLVR 这种依赖人类标注或可验证奖励的范式,转向"自我进化"(Self-Evolution, SE)——让模型用自己产生的监督信号去改进自己,例如自我验证、生成式反馈、internal confidence reward(INTUITOR、Absolute Zero、R-Zero、EMPO 等)。

现有痛点:现有 SE 工作各自挑设定、各自报数,难以判断"在最干净的闭环约束下,SE 到底能逼近 oracle 监督多少?"。同时另一派研究又警告 model collapse、generator–verifier gap、从合成数据学习的理论障碍。两边都有结论,但缺少在统一框架下的横向对比。

核心矛盾:SE 想要的是"模型自带的验证能力 ≥ 训练所需的监督质量",但实际上验证器就是生成器本身,验证误差会污染偏好对,进而限制 DPO 的提升空间。问题的根本是:internal verifier 究竟能多准、能否替代 ground-truth?

本文目标:在严格闭环约束(仅给定未标注 prompt 集 \(\mathcal{D}\) 和基座 \(\mathcal{M}\),所有 reasoning trace / reward / feedback / preference label 都必须由 \(\mathcal{M}\) 自产)下,系统刻画 SE 与 oracle supervision 的 generalization gap,并分析这个 gap 受什么因素决定(模型规模、任务可验证性、训练算力、课程顺序)。

切入角度:把所有闭环 SE 方法统一抽象为"生成器–验证器博弈"\(\mathsf{GV}(\mathcal{M},\mathcal{D},T)\),差别只在于"信号怎么提取、怎么复用、怎么结构化"。再选 Knights & Knaves(KK)作为主测试平台——它确定可验证、难度参数化(人数 2–8)、几乎无污染,是研究 easy-to-hard 泛化的干净实验台。

核心 idea:用"统一 GV 框架 + 越来越复杂的 SE 变体(SimpleSE → RevisionSE → IterativeSE → CurriculumSE)"逐步逼近 oracle,量化"再多投入算力 / 再多结构,闭环 SE 是否能彻底关掉与 oracle 的 gap"。

方法详解

整体框架

所有方法都跑同一个生成器–验证器博弈 \(\mathsf{GV}(\mathcal{M},\mathcal{D},T)\rightarrow\mathcal{P}\):同一个基座 \(\mathcal{M}\) 用不同 system prompt 实例化为生成器 \(\mathcal{G}\) 和验证器 \(\mathcal{V}\)。对每个 prompt \(q\)\(\mathcal{G}\) 采样 \(k\) 个候选 \(\{\hat{y}_1,\dots,\hat{y}_k\}\)\(\mathcal{V}\) 给出二元判断;只有当 \(\mathcal{V}(q,y_w)=\texttt{Correct}\)\(\mathcal{V}(q,y_l)=\texttt{Incorrect}\) 时才组成偏好对 \((y_w,y_l)\in\mathcal{P}\),再用 DPO 在 \(\mathcal{P}\) 上微调。

输入:未标注 prompt 集 + 指令微调过的基座(gemma-3-it 1B/4B/12B、Qwen-2.5-Instruct 7B/14B)。输出:DPO 微调后的策略 \(\pi_\theta\)。中间区别全在"\(\mathcal{P}\) 怎么造"。

关键设计

  1. SimpleSE + 阈值多数投票去噪

    • 功能:把单轮自我验证升级成"高置信偏好对挖掘",对抗 verifier 噪声。
    • 核心思路:对每个候选 \(\hat{y}\) 让验证器跑 \(n\) 次得到经验正确率 \(\hat{p}(q,\hat{y})=\frac{1}{n}\sum_j \mathbf{1}\{\mathcal{V}^{(j)}=\texttt{Correct}\}\);若 \(\hat{p}\geq\tau\) 标为 Positive,若 \(1-\hat{p}\geq\tau\) 标为 Negative,否则丢弃。再用 DPO 损失 \(\mathcal{L}_{\text{DPO}}=-\mathbb{E}[\log\sigma(\beta\log\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}-\beta\log\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)})]\) 训练。\(\tau=0.5\) 退化为普通多数投票,\(\tau=0.7\) 在 4B 上 precision/recall 平衡最好。
    • 设计动机:单次验证噪声大,直接拿来当标签会污染偏好集。阈值投票把"模棱两可"的样本丢掉,等价于把 verifier 的有效准确率拉到训练能消化的水位(如 Fig 2a 所示),这是 4B 起步就能正向自进化的关键,也是后续所有变体的基础组件。
  2. RevisionSE(多轮反馈修订)

    • 功能:让验证器不只是"打标签",而是给出文字反馈,让生成器据此修订,把反馈本身变成监督信号。
    • 核心思路:在 \(T>1\) 轮中,下一轮候选满足 \(\hat{y}^{(t+1)}\sim\mathcal{G}(\cdot\mid q, f(\mathcal{V}(q,\hat{y}^{(t)})))\),其中 \(f\) 把验证判断映射成文字反馈。当且仅当 \(\mathcal{V}(q,\hat{y}^{(t)})=\texttt{Incorrect}\)\(\mathcal{V}(q,\hat{y}^{(t+1)})=\texttt{Correct}\)(修订把错变对)时,把这一对组成 \((y_l,y_w)\)\(\mathcal{P}\)。最好的实现是只取一条修订链的最后两个样本。
    • 设计动机:单轮验证只能利用"对/错"信号,浪费了大模型擅长"指出错在哪里"的能力。RevisionSE 让验证器吐出可解释的中间反馈,等价于把 verifier 的隐式判别力放大成结构化训练数据。这也是论文里唯一逼近 oracle 的设定(12B 上 52.8% vs 53.6%),但代价是只对足够大的模型有效——1B 上反而比 SimpleSE 还低 1.4 个点(22.4% vs 23.8%),因为小模型修订过程会把对的改错。
  3. IterativeSE / CurriculumSE(数据顺序与轮次)

    • 功能:把单轮 SE 扩展到多轮,并用难度调度替代随机混合。
    • 核心思路:迭代版从 \(\mathcal{M}_0=\mathcal{M}\) 开始,每轮 \(\mathcal{P}_t=\mathsf{GV}(\mathcal{M}_{t-1},\mathcal{D}_t,T)\)\(\mathcal{M}_t=\texttt{Finetune}(\mathcal{M}_{t-1},\mathcal{P}_t)\),全程 offline。课程版把 \(\mathcal{D}\) 按难度(KK 人数)切分 \(\mathcal{D}_{\text{easy}}\cup\mathcal{D}_{\text{hard}}\),先在 KK23 上跑 SimpleSE,再迁到 KK45 上跑 SimpleSE。最后可选加一轮 oracle round 把上限再往上推。
    • 设计动机:单轮 SE 的偏好对数量和质量都有限。迭代提供"模型变好→验证更准→数据更干净"的正反馈;课程则用"先简单再难"减少早期 verifier 噪声,并显式测试 easy-to-hard 泛化能力。结果显示两种调度都能稳定打过随机混合,但相对 oracle 仍留 ~5% 的 gap——说明"会安排数据"不能弥补"验证器本身有限"。

损失函数 / 训练策略

全程用 DPO(参考策略固定为基座),\(\beta>0\) 控制偏好对齐锐度。评测用 exact-match accuracy,temperature 0.7 采样 1 次,4 个随机种子取平均。算力分析里 \(n_1\) 是每个 query 的生成次数、\(n_2\) 是每个候选的验证次数,结论是"加 verifier 算力比加 generator 算力更划算"。

实验关键数据

主实验:KK 上四种 SE 与 oracle 的差距(Gemma 3 4B)

方法 2–3 ppl 4–5 ppl 6–8 ppl All vs Oracle
Baseline (gemma-3-4b-it) 62.0 31.0 10.3 31.0 −22.3
SimpleSE (\(\tau=0.6\)) 70.9 45.4 17.5 40.7 −12.6
RevisionSE 75.8 46.4 17.1 42.2 −11.1
Iterative SimpleSE ×3 75.2 49.6 19.7 44.1 −9.2
Curriculum SimpleSE (KK23→KK45) 76.2 49.7 20.6 44.8 −8.5
Oracle Verifier (KK23→KK45) 80.8 60.9 29.8 53.3

规模消融:RevisionSE 与 oracle 的差距随模型规模收窄

模型 Baseline SimpleSE 最佳 RevisionSE Oracle RevisionSE 与 Oracle gap
Gemma 3 1B 7.8 8.4 (\(\tau=0.8\)) 7.8 12.5 −4.7(小模型反向)
Gemma 3 4B 31.0 40.7 42.2 46.6 −4.4
Gemma 3 12B 47.5 51.1 52.8 53.6 −0.8(≈ 闭合)

关键发现

  • 持续 gap = 8–13%:除 12B 的 RevisionSE 外,所有 4B 上的 SE 变体相对 oracle 都留下 8–13% 的差距;加再多迭代轮次也只是边际收益递减,唯一能再推一截的是"最后加一轮 oracle"(4B 上 44.1→53.2)。
  • 存在能力门槛:1B 模型无论怎么 SE 都几乎不动甚至倒退(RevisionSE 会把对的改错),4B 才稳定正收益;自验证需要基座准确率约 ≥30% 才能正向自举。
  • 任务可验证性决定上限:把 SimpleSE 搬到 OpenThoughts3 + GSM8K/MATH500/MATHHard/TabMWP/KK 五个开放推理任务后,4B 上的提升从 KK 的 +10% 萎缩到 MATH500 +1.6%、TabMWP +2.9%——因为开放题没有 deterministic 答案,internal verifier 区分"看起来对但其实错"的能力很弱。
  • 算力分配启发:网格搜索 \(n_1\)(生成)与 \(n_2\)(验证)显示"加 verifier passes 比加 generator candidates 更性价比",\(\tau=0.7\) 是 precision/recall 的甜点。
  • Pass@1 ↑ 但 Pass@32 ≈:支持 sharpening 假说——闭环 SE 只是把模型已有的高概率正确路径"放大",并没有教会它新的解法,所以提升 OOD 难度(6–8 人)的能力有限。

亮点与洞察

  • 把"零碎的 SE 工作"压成一根坐标轴:从 SimpleSE → RevisionSE → IterativeSE → CurriculumSE 是按"信号丰富度 × 计算开销"递增排列的,每一格都对应 oracle gap 的一次缩小,结论清楚,复现路径明确。读完能直接判断"自己的 SE 方法卡在哪一格"。
  • RevisionSE 在 12B 上的"几乎闭合 gap"是全文最 surprising 的实证:它说明只要模型大到能给自己写出合格的"批改作业",闭环 SE 就有可能不输 oracle。这把 SE 的研究重心从"找新算法"指向"看 verifier capability 怎么随 scale 涨"。
  • 可迁移的 trick:阈值多数投票 + DPO 是任何用"模型当 verifier"的 pipeline 都能直接套用的去噪模块;"加一轮 oracle round 收尾"是预算受限场景里把 SE 拉满的便宜操作;"先 SimpleSE 自举、再用少量 oracle 校准"的 hybrid 是论文给出的实用建议。

局限与展望

  • 作者承认:评测主要绑定 Knights & Knaves,开放推理只是次要验证;只用了 DPO 一种 offline 优化,没碰 online RL;只在 Gemma/Qwen 两族指令模型上测,base model 行为未知。
  • 我的观察:(1)"闭环"定义偏窄——禁用代码执行器、外部工具、其他模型,导致结论里"SE 关不掉 gap"几乎是定义决定的;放宽到允许 self-consistency / multi-agent verification 时结论可能不同。(2)4B 的 baseline 31% 刚好踩在"能自举"的门槛上,gap 大;如果换成更弱的家族(如 LLaMA-3 8B base),SE 可能直接负收益,论文没有覆盖。(3)KK 任务太"封闭",verifier 几乎只需要做布尔判定,无法回答 internal verifier 在"过程性奖励"上的表现。
  • 改进思路:把 Pass@32 与 sharpening 假说做成定量监控指标;把 oracle round 的稀疏插入策略做成 schedule learning 问题;研究 verifier capability 与 model scale 的 scaling law,预测多大模型才能彻底关掉 gap。

相关工作与启发

  • vs Absolute Zero (AZR):AZR 在线 self-play + 代码执行器拿可验证奖励,本文严格闭环不允许外部环境。在 Qwen2.5-7B 上 SimpleSE(offline、无环境)反而在 GSM8K/MATH500/TabMWP/KK 上全面打过 AZR/AZR-Coder,说明"指令微调 + offline DPO" 起点比从 base model 做 online RL 更稳。
  • vs INTUITOR:INTUITOR 用 self-certainty 作为 online RL 奖励,是闭环 SE 的另一个分支。本文的 SimpleSE 在多数 benchmark 上略优,但更重要的是给出了"闭环 SE 的上限就在 oracle 附近,且要靠 RevisionSE + 大模型才能逼近"这一更普适的结论。
  • vs Song et al. (2024) 的 generation–verification gap 理论:本文把理论上的 gap 落成了具体数字(8–13%),并指出 gap 的关键决定变量是 internal verifier 准确率,与"sharpening hypothesis"互相支持。
  • vs 自我修正 / self-refinement(Madaan et al. 2023, Kumar et al. 2024):那一脉是推理时改写输出,本文是把修订过程"蒸馏"成训练数据,方向正交但可叠加。

评分

  • 新颖性: ⭐⭐⭐⭐ 没提新算法,但把"闭环 SE 的 gap"做成系统量化,框架贡献明显。
  • 实验充分度: ⭐⭐⭐⭐⭐ 4 种 SE × 3 种规模 × 多个阈值 × 5 个开放推理 benchmark,覆盖度高。
  • 写作质量: ⭐⭐⭐⭐ 框架清晰、表格信息密度高;个别符号(SimpleGV vs SimpleSE)混用稍乱。
  • 价值: ⭐⭐⭐⭐⭐ 给整个 self-evolution 子领域提供了诚实的"地板/天花板"参照系,避免后续工作在"虚高的 gap"上做无用功。