@neural_avb: https://x.com/neural_avb/status/2072294078805684613

X AI KOLs Timeline 论文

摘要

本论文介绍了Autodata,这是一种利用智能“数据科学家”AI的方法,通过迭代生成、验证和优化来自动创建高质量合成数据集,该方法特别针对强化学习(GRPO)进行了优化,以提升语言模型的推理能力。

https://t.co/ExTshiJEae
查看原文
查看缓存全文

缓存时间: 2026/07/01 20:13

AutoData:合成数据生成详解

这篇新论文 Autodata 试图通过使用一个智能体化的“数据科学家”(而非单一提示或一次性生成器)来自动化创建高质量合成数据集的过程。

数据质量是训练小型语言模型(以及通常的大型模型)时唯一最重要的因素。我们需要有用正确多样,并且与模型的下游目标对齐

我一直在一篇 Huggingface 文章的启发下,研究一种以本地优先的合成数据生成库——所以看到如此大规模的工作被完成,我感到非常兴奋。

本文由我(AVB)和 Claude Sonnet 5 在 Paper Breakdown 框架内共同撰写。

“合成数据”很便宜

但“好的合成数据”并不便宜

现在,生成合成数据其实相当容易。你只需提示一个 LLM“写 10,000 个例子”关于某个主题列表。

正如你所想,这通常很糟糕。

  • 例子可能是不正确过于简单、重复,或者可以通过捷径利用。
  • 质量通常需要迭代:提出候选、检查它们、修改提示,并只选择好的项目——也就是人类遵循的那种工作流程。

Autodata 定义了一种通用方法,其中 LLM 智能体负责生成一个能优化下游性能的数据集:

  • 输入:目标任务/领域,加上推理时的计算预算(你能负担的 token 数量)。
  • 过程:一个智能体循环,它生成候选项目挑战或验证它们,并选择/改进,直到数据集达到高质量。(稍后详细讨论)
  • 输出:一个能带来良好模型性能的合成数据集(训练和/或评估)。

他们想要什么

该论文的最终目标是使 LLM 成为更好的推理器。例如,在计算机科学研究问题、法律分析、数学/科学推理方面更出色。将“好数据”转化为“更好模型”所选用的训练方法是强化学习,具体来说是 GRPO(组相对策略优化),而非监督微调。

这一点很重要,因为 SFT 和 RL 对数据的胃口截然不同:

  • SFT 只需要(输入,正确输出)对——它不关心难度的校准,因为它直接模仿目标。
  • RL(GRPO) 则不同。被训练的模型针对每个问题生成多次采样(尝试)。每次采样都会获得一个奖励(通过评分标准或验证器)。训练信号(优势)来自于在同一组内比较各采样结果

算法

论文从两个层面呈现了该算法:一个通用模板Autodata)和一个他们实际进行实验的具体实用实例智能体化自我指令)。我们将逐步讲解两者,因为具体算法实际上只是通用循环的一个具体填充。

1. 通用 Autodata 循环

在最高层面上,Autodata 是一个迭代循环,包含三个要素:

  • 数据创建:智能体以源材料(文档、代码、法律文本、数学对象等)为基础,利用工具+推理时的计算资源生成候选训练或评估示例。
  • 数据分析:智能体检查它刚刚创建的内容:每个例子是否正确?够难吗?质量高吗?在数据集层面:例子是否多样?如果用于训练,它们真的能提升模型性能吗?
  • 迭代/停止:从分析中获得的经验会反馈回下一轮创建。智能体重复这个创建→分析→改进循环,直到满足停止标准(例如达到质量阈值),然后输出最终数据集。外层循环内置了护栏,专门防止智能体“黑客”自己的质量检查。

还有一个外层的元优化循环(我会单独介绍),它可以随着时间的推移调整智能体本身,使其成为更好的数据科学家。

2. 具体算法:智能体化自我指令

这是他们在实验中使用的具体实现。不是单一的 monolithic 智能体,而是主编排智能体将任务委托给四个 LLM 子智能体挑战者、弱求解器、强求解器和裁判

在他们的实验中,他们使用 Kimi-K2.6 作为挑战者和裁判。Qwen3.5-4B 作为弱求解器,Qwen3.5-397B-A17B 作为强求解器。最终,他们使用生成的数据通过 GRPO 微调来改进弱求解器(Qwen3.5-4B)。

以下是逐步算法:

  • 获取源语料库:基于我们目标领域的原始非结构化数据,例如研究论文、法律文档、医学文章等。
  • 提出:主智能体将其当前提示(附加上下文)发送给挑战者,挑战者产生一个候选示例。例如,如果输入文档是计算机科学论文,挑战者将阅读整篇论文并从中生成任务列表。
  • 压力测试:主智能体将此示例同时发送给弱求解器强求解器
  • 裁判裁判评估求解器的输出(以及示例本身的质量:问题是否表述得当?参考答案/评分标准是否正确?),给出奖励/裁决。
  • 接受检查——这是算法根据任务类型分支的地方:

可验证任务:如果强求解器的多数投票正确,同时弱求解器的多数投票错误,则接受该示例。这保证了真正的难度差距和正确性。

不可验证任务:如果裁判测量的质量差距显示该任务对弱求解器来说既不太简单也不太困难,同时强求解器的成功有助于通过挑战者生成的评分标准确认总体正确性,则接受该示例。

  • 改进或接受:如果标准未满足,主智能体不会丢弃所有内容。而是根据裁判报告中的新经验修改发送给挑战者的提示,并循环回步骤 1。如果标准满足,则该示例被接受进入数据集。

这个闭合循环使系统能够“学会如何生成具有挑战性且高质量的示例”,专门针对训练弱求解器。实际上,这制造了一个课程,其中的示例恰好位于弱模型能力的边界。

一个微妙但重要的细节:弱求解器和强求解器可以是完全相同的底层 LLM,只是以不同的“模式”运行——例如,强版本获得更多推理时的计算资源、额外的脚手架/聚合,或弱版本看不到的特权信息。

如何确保质量

这是裁判模块的任务。

  • 正确性/泄漏检查:裁判/验证器检查上下文+问题对是否泄漏答案——即,是否有人仅通过改写上下文就能构建答案,而不需要真正的推理?如果是,则拒绝。
  • 推理与回忆检查:验证器明确标记仅测试回忆(“什么”、“哪个”、“多少”)而不是推理(“为什么”、“如果怎样”、“预测”、“决策”)的问题。
  • 评分标准质量检查:对于不可验证的领域(如法律推理或计算机科学研究问题),评分标准必须具有严格的结构——例如,总共 10-15 条标准,至少 4 条正面/3 条负面,每条标准必须要求“超越上下文”的推理,而不是模糊的风格抱怨。
  • 弱/强差距标准(核心机制):只有当弱求解器的平均得分有上限(≤65%,且没有单个运行获得高分),强求解器超过某个下限(≥60%但<95%——也未饱和),并且它们之间的差距≥20%时,才接受该示例。

将其与 RL 和 GRPO 联系起来:

回忆一下,GRPO 依赖于组内的多样优势来真正学习。如果一组中的所有生成都有零奖励(太难),或者 100% 奖励(太简单),模型将无法学习,因为没有可区分的信号(即组内所有优势为零)。** ** 弱求解器/强求解器差距检查发生在数据生成时,作为“一旦我们对其运行 GRPO,这个例子是否会产生有用的梯度信号”的代理。

它本质上是对 RL 训练动态的廉价模拟。Autodata 不必等待运行完整的 RL 并在事后发现一批问题是退化的(全零或全百奖励),而是通过运行弱求解器和强求解器,并在将其提交到训练集之前检查方差/差距,来预先筛选每个问题。

模式崩溃/多样性问题呢?

任何自我指令式流水线(LLM 生成自己的训练数据可能收敛到重复模板)都存在这种真实风险。论文通过几种方式解决了这个问题,但诚实地说,它不像正确性那样被重点对待

  • 明确的“新角度”指令:在每个改进轮次中,挑战者被指示生成一个“从不同角度出发的、需要更深层推理的全新问题”,而不是被拒绝问题的改写版。
  • 通过大规模、多样化的源语料库实现基础多样性:Autodata 不是依靠 LLM 凭空创造多样化内容,而是将每次生成基于一个不同的真实世界文档:不同的计算机科学论文、不同的法律文档等。这从外部注入了多样性,而不是依赖于 LLM 自身的创造力。

每个示例都锚定在一个真实的源文档上:一篇计算机科学论文、一个法律文档等。挑战者在生成任何内容之前明确读取源文件(例如,“直接从 ./paper.txt 读取论文”)。

元优化与自动研究

到目前为止,我们讨论的所有内容(挑战者→求解器→裁判→反馈→重试)都是内循环:固定提示、固定策略,一次生成一个数据点。元优化增加了一个外循环,它将智能体自身的提示和策略视为被优化的对象,使用与评判单个数据点相同的成功标准(弱/强求解器差距等)作为改进框架本身的适应度信号。

他们使用一种进化优化框架,将智能体的脚手架(其系统提示、决策逻辑)视为要被迭代变异和选择的代码

基本上,他们在数据生成任务之上添加了一个额外的自动研究层。

元优化器维护一个候选提示的种群,每个提示被表示为相对于基线仓库的代码差异。每次迭代执行以下操作:

  • 通过玻尔兹曼采样从种群中选择父代——候选 c 被选择的概率与其质量分数成正比。这强烈偏向高评分的候选,同时仍然允许探索较弱的候选(这样就不会陷入局部最优)。
  • 评估父代提示:通过在一小批训练论文上运行它来评估。这意味着实际运行完整的内部智能体化自我指令循环,并收集智能体轨迹以及弱/强求解器的分数!
  • 诊断失败:一个 LLM 智能体(“分析器”)读取这些轨迹中的完整求解器交换,并编写系统失败模式的根本原因分析。例如,“为什么这些问题一直无法区分?”
  • 变异提示:一个代码编辑智能体(“实现器”)读取该分析、迭代历史和当前提示,并生成一个改进的差异,即一个新的候选提示。
  • 重新评估父代和新变种在保留的验证论文上(在该迭代的训练小批量中从未见过)。
  • 选择:只有当变种的验证分数严格超过其父代分数时,才将其添加到种群中,否则丢弃。
  • 记录将结果记录到历史日志中,供未来的分析器调用读取,从而使经验在迭代中累积。

多个这样的迭代并发运行,具有独立的父代选择,从而有效地在种群中并行化搜索。

评估合成数据质量

虽然弱求解器和强求解器之间的差距是一个很好的代理,但“更好的数据是否真正产生更好的模型”的主要证据是实际训练模型。通用配方:

  • 从每个数据源(CoT 自我指令 vs. 智能体化自我指令)取 1,300-2,800 个生成示例(取决于领域)。
  • 使用 GRPO(batch size 16, 学习率 1e-6)在每个数据集上单独训练 Qwen3.5-4B
  • 保留的测试集上评估得到的模型。

例如,在计算机科学任务上:

  • 从 S2ORC 语料库(2022 年及以后)中取超过 10,000 篇 CS 论文
  • 选择你的模型: 主编排器 + 挑战者:Kimi-K2.6 强求解器:Qwen3.5-397B-A17B 弱求解器:Qwen3.5-4B(这是最终将接受 RL 训练的模型)
  • 挑战者的工作是阅读论文,然后生成 (1) 问题类型标签,(2) 2-3 个推理技能标签,(3) 一个不泄漏答案但为求解器提供背景的上下文,(4) 一个测试深层推理而非回忆的问题,(5) 一个参考答案,以及 (6) 一个包含 10-15 条标准的加权评分标准
  • 数据集生成完成!他们只接受强求解器平均得分 ≥ 0.65,弱求解器平均得分 < 0.5 的训练示例。
  • 数据集生成完成后,他们在 1,300 个示例上使用 GRPO(batch size 16, 学习率 1e-6)训练 Qwen3.5-4B,每个源保留 100 个示例作为测试集,并在两个保留的测试集上评估训练好的模型。
  • 作为对比,他们使用 CoT 风格的提示(缺乏 Autodata 提出的整个反思循环的基线数据生成方法)生成了一个单独的数据集。而在 Autodata(智能体化训练)数据集上训练的模型胜出!

就是这样!他们也在其他领域(除了 CS)进行了测试,他们所有的提示都在论文的附录部分。

更多详情请在此阅读论文:http://arxiv.org/abs/2606.25996

或者在 Paper Breakdown 上阅读:https://paperbreakdown.com/abs/2606.25996

相似文章

生成更好训练数据的智能体(25分钟阅读)

TLDR AI

Autodata 引入了一种智能体数据科学家,它能够迭代生成并优化合成训练数据,并通过元优化进一步提升数据质量,在计算机科学和法律推理任务上取得了更好的效果。

@mylifcc: 这篇刚修订的 arXiv(2606.25996)把 agentic data creation 讲得很直接。 Meta 团队提出 Autodata:让 AI agent 自己当数据科学家,迭代生成高质量 synthetic trainin…

X AI KOLs Timeline

Meta团队在arXiv预印本(2606.25996)中提出Autodata方法,通过AI agent作为数据科学家迭代生成高质量合成训练数据和评估数据,核心机制Agentic Self-Instruct利用orchestrator、challenger、weak/strong solver和judge形成闭环,并引入meta-optimization进化prompt,显著提升数据质量。