DiagEvo: 通过分层错误记忆进行诊断引导的自我进化
自博弈是语言模型自我进化的有效范式,但缺乏引导时,求解器性能可能随轮次停滞或下降。无引导方法依靠难度、可学习性或多样性等信号来生成问题。这些信号维持问题的挑战性和多样性,却未指明后续轮次应针对哪些未解决的推理弱点。有引导方法从外部任务资源获取方向,例如人类示例、文档语料或指定难度目标,因此依赖自博弈循环之外提供的任务信息。 我们提出 DiagEvo,证明所需方向可从求解器自身的失败历史中得出。其诊断器从失败历史中提取重复出现的错误原因,并存入分层错误记忆。该记忆将相关原因归入技能节点,并按目标问题上的自一致性将其标记为 Active 或 Mastered。挑战者结合这些状态与复发计数,平衡针对性生成与自由探索。双置信过滤仅当最常见求解答案获得明显票数领先时,才保留中等难度问题。整个课程源自博弈过程自身产生的信息,无需外部任务资源。 实验表明,默认 4B 诊断器下,DiagEvo 在三个求解器(Qwen3-4B、Qwen3-8B、OctoThinker-8B)的全部九个基准上平均准确率均超过所有基线。以 Qwen3-8B 为例,它在五个数学推理基准上达到 72.3% 平均准确率,比 R-Zero 高 4.5 个百分点;九个基准平均准确率为 57.4%,比 DARC 高 1.1 个百分点。消融实验显示,分层错误记忆与双置信过滤共同促成这些提升。
论文精读
TL;DR DiagEvo 从求解器自身失败历史中提取错误原因,构建层级错误记忆并动态调整训练方向,无需外部资源即显著提升多模型数学推理平均准确率。
问题
问题背景 当前 LLM self-play self-evolution 领域致力于让模型在无外部监督下通过自生成问题和答案提升推理能力,尤其关注数学推理、代码生成等任务。
现有方法局限 无指导 self-play 方法(如 R-Zero)使用难度、可学习性、多样性等信号引导问题生成,但这些信号只保证问题具有挑战性和变化性,没有指明哪些具体的推理弱点应在后续轮次中被针对性修复,导致求解器性能停滞甚至下降。有指导方法(如 DARC)依赖外部任务资源(人类示例、语料库或指定难度目标),不能构成完全自包含的自对弈循环,限制了在无标注数据场景下的适用性。
为什么这个问题难/重要 从求解器自身失败历史中提取可操作的错误原因并形成课程,需要解决多个技术挑战:错误原因的抽象与层级组织、基于自一致性的状态追踪(Active vs Mastered)、以及挑战者生成策略在目标攻击与自由探索之间的平衡。同时,过滤伪标签噪声以防止性能退化也至关重要。自对弈是数据高效学习的重要范式,但缺乏内部方向会使模型陷入盲目探索,业界对这一问题的关注度很高,因为它直接关系到 LLM 在无监督环境下持续进化的可行性。
行业类比 类似自动驾驶仿真系统根据事故日志中的失败模式针对性生成训练场景,从而提升模型在长尾场景的鲁棒性,而不依赖额外的人工标注数据。
核心洞察
- DiagEvo 的核心创新在于把语言模型自进化所需的课程方向从外部任务资源转移到解算器自身的失败历史中。现有无引导方法只给出难度、可学习性等宽泛信号,无法定位具体推理弱点;引导方法则依赖人工示例或语料库,引入外部偏差。DiagEvo 通过诊断器从每轮失败中提取重复错误原因,形成内部课程,无需任何外部监督,更贴近真实自对弈闭环,为自进化系统提供了可扩展的方向生成机制。
- 分层错误因果记忆与双重置信过滤共同构成噪声抑制和课程平衡机制。记忆按技能节点分组,并跟踪每个原因的 Active/Mastered 状态,挑战者据此动态混合针对生成与自由探索,避免过拟合已知错误同时保持多样性;双重置信过滤只保留投票领先的中等难度样本,排除了简单和争议样本,提升伪标签可靠性。消融实验表明两者贡献独立且显著,为无外部资源的自进化稳定性提供了有效方案。
方法
输入与诊断
- 输入:每个 self-play 轮次中 solver 生成的错误推理轨迹与对应问题。
- 诊断模块:用一个默认 4B 的 diagnostician 对错误样本提取错误原因(Prompt 1),与已有原因进行去重(Prompt 2),再通过 embedding 相似度将原因分配到分层技能节点(skill node)下(Prompt 3 与非 LLM 检索)。记忆状态基于目标问题上的 self-consistency 标记为 Active 或 Mastered,同时统计 recurrence count。
关键模块
- 层次化错误原因记忆:顶层为技能节点,底层为具体错误原因;状态与频率联合更新(Joint State–Frequency Update)。
- 混合生成策略:challenger 根据记忆中的状态和频率,在 Mode 1 自由探索、Mode 2 单一原因定向生成、Mode 3 跨状态缝合 之间平衡,生成后续训练题目,并由 quality reward 过滤低质样本。
- 双重置信过滤:对中间难度生成问题,仅当 solver 最常见答案的投票领先优势足够明显时才保留,作为 pseudo-label 训练数据。
输出与闭环训练
输出下一轮的定向问题集与伪标签,用于更新 solver(如 GRPO 优化)。整个流程为闭环 self-play:solver 失败 → 诊断记忆 → 定向出题 → 置信过滤 → 训练更新。
与 R-Zero、DARC 等依赖外部任务资源或非定向信号的 guided/unguided self-play 不同,DiagEvo 完全从 solver 自身失败历史派生课程方向,无需外部语料或人工指定难度。
实验
实验设计
DiagEvo 在三个 solver 上验证:Qwen3-4B、Qwen3-8B 和 OctoThinker-8B,默认使用 4B 参数的 diagnostician。在 9 个基准(含 5 个数学推理基准)上评估平均准确率,与 R-Zero、DARC 等基线对比。
关键发现
- DiagEvo 在全部三个 solver 上均超越所有基线,说明诊断引导的自进化具有通用性。
- 在 Qwen3-8B 上,5 个数学推理基准平均准确率达 72.3%,比 R-Zero 高 4.5 个百分点;9 个基准平均准确率 57.4%,比 DARC 高 1.1 个百分点。
- 消融实验表明层次化错误原因记忆和双置信度过滤都对增益有贡献。
对比解读
与依赖外部任务资源的 guided 方法(如 DARC 使用人类示例或文档语料)不同,DiagEvo 完全从 self-play 的失败历史中提取方向,实现了更强的泛化。这表明内部诊断驱动的课程学习比外部信号更贴合 solver 的实际弱点。对实际工程的启示:在自进化流程中引入失败原因的结构化记忆和置信度过滤,能更有效地利用计算资源,避免无引导探索的停滞或退化。
行业影响
落地场景
DiagEvo 适用于具有明确对错反馈的推理型产品,如数学辅导、代码生成、逻辑问答等。典型场景包括教育自适应题库、企业内部知识问答、编程辅助工具。其自进化机制无需外部标注,特别适合要求模型能力随用户反馈持续提升的 SaaS 服务。
商业价值
主要降本:用失败历史自动合成针对性训练数据,减少人工命题与标注成本。其次提效:通过双重置信过滤提升训练数据质量,减少噪声,使小模型在数学推理等任务上接近大模型效果,优化推理成本。体验层面,模型对高频错误原因形成记忆并针对训练,可显著减少重复性错误,提高用户满意度与留存。
与现有工作流接口
可作为训练数据合成模块嵌入现有 LLM 训练管线:线上收集推理失败样本,部署诊断器构建分级错误记忆,挑战者按课程策略生成新题,过滤后加入下一轮 SFT/RL 训练集。该方法不依赖外部任务资源,可独立运行;与主流 RLHF/RLAIF 框架兼容,只需在 replay buffer 与生成策略中插入诊断与课程逻辑。
具体落地 use case
- 教育科技公司的数学解题助手:用户答错后,系统提取错误原因(如分数运算、符号处理)并生成针对性练习题,提升学习效果与留存。
- 代码生成平台:利用 CI 编译错误与测试失败作为失败历史,驱动模型自我进化,减少同类错误复发。
局限
- 作者在附录中明确承认 **伪标签置信度** 与 **训练 horizon** 的局限:**自一致性过滤** 依赖多次采样投票,推理成本较高;在更长轮次的自进化中,层次化错误记忆的状态可能发生漂移或饱和,长期稳定性尚未得到验证。
- 该方法完全依赖诊断 LLM 抽取错误原因并维护记忆。虽然默认诊断器为 4B,但整个流程包含提取、去重、节点分配、合并等多轮 LLM 调用,带来额外推理开销与诊断噪声。当错误模式复杂或跨技能交织时,层次记忆的分配可能不准确,进而影响挑战者生成题目的针对性。
- 与 **R-Zero**、**DARC** 等基线相比,DiagEvo 虽然摆脱了外部任务资源,但课程方向完全来自 solver 自身的失败历史,可能陷入自我确认偏差。若早期轮次错误覆盖不全或种子数据存在偏差,后续课程会持续放大这些缺陷,而外部引导方法可通过人类示例或文档语料进行纠偏。此外,评估范围主要集中在数学推理 benchmark,对代码、开放性文本等任务的泛化能力尚未验证。