From Real to Synthetic: Synthesizing Millions of Diversified and Complicated User Instructions with Attributed Grounding¶
会议: ACL 2025 (Outstanding Paper Award 🏆)
arXiv: 2506.03968
代码: https://github.com/Ignoramus0817/SynthQuestions
领域: 文本生成
关键词: 指令合成, 数据多样性, 归因式生成, LLM对齐, 网络文档
一句话总结¶
本文提出"归因式接地"(Attributed Grounding)框架,通过自顶向下的用户归因和自底向上的基于网络文档的指令合成,构建了一个包含 100 万条多样且复杂指令的 SynthQuestions 数据集,训练模型在多个通用基准上达到领先表现。
研究背景与动机¶
领域现状:大规模高质量指令数据是 LLM 对齐的关键燃料。Self-Instruct、Evol-Instruct 等方法已证明合成指令数据可以有效训练模型,WizardLM 等工作通过"进化"策略提升指令复杂度。
现有痛点:现有指令合成方法面临两大难题:(1) 接地源(grounding source)有限——多数方法基于少量种子指令进行改写或扩展,导致生成的指令分布狭窄,难以覆盖真实用户需求的广泛分布;(2) 复杂度提升流于表面——通过机械式的约束叠加(如"请用英语回答""限制在200字以内")来增加指令长度,并未真正提升指令的认知复杂度和实际意义。
核心矛盾:真正有价值的指令应当反映真实用户在特定情境下的实际需求,但现有合成方法缺乏真实场景的接地(grounding),生成的指令"看起来复杂但空洞"。要实现大规模+高多样性+高复杂度的三重目标,需要找到一个足够丰富的信息源来驱动生成。
本文目标:设计一个能够利用海量网络文档作为接地源,自动生成百万级多样且复杂指令的框架。
切入角度:真实世界中的高质量指令通常有三个核心要素——文档(信息来源)、用户(提出需求的人)和动机(为什么提出这个需求)。这三个要素构成了指令的"归因三角"。如果能自动补全这三个要素,就能从网络文档反向生成高质量指令。
核心 idea:将指令合成过程分为两步——先"归因"(从已有指令推断用户画像和动机),再"合成"(从网络文档出发,结合用户情境生成指令),以网络文档的无限供给保证规模和多样性。
方法详解¶
整体框架¶
整个流程分为两个对称的过程。自顶向下:从29K人工收集的种子指令出发,通过网络搜索为每条指令找到相关文档,然后用 LLM 推断"什么样的用户在什么情境下会提出这个问题",构建归因三元组(文档, 用户, 动机)。自底向上:从大规模网络语料(如 FineWeb)中抽取文档,以归因三元组作为示例(in-context demonstrations),让 LLM 先构想一个合理的用户情境,再基于该情境和文档内容生成有意义的指令。
关键设计¶
-
自顶向下归因过程(Top-down Attribution):
- 功能:将真实指令"解构"为文档-用户-动机三元组,为后续合成提供高质量示范
- 核心思路:从多个开源指令数据集收集 29K 条高质量种子指令。对每条指令提取关键词,通过搜索引擎检索排名第一的网络文档作为信息源。然后用 LLM 生成归因描述——推断提出该指令的用户身份(如"一个正在写毕业论文的计算机系研究生")和具体动机(如"需要理解某算法的复杂度分析来完成实验部分")。这样每条种子指令就被扩展为一个完整的归因三元组 \((d, u, m)\),其中 \(d\) 是文档、\(u\) 是用户画像、\(m\) 是动机。
- 设计动机:一方面为种子指令建立"为什么会有人问这个问题"的上下文,另一方面生成的归因三元组可作为下游合成的 few-shot 示范
-
自底向上合成过程(Bottom-up Synthesis):
- 功能:从海量网络文档出发批量生成多样且复杂的指令
- 核心思路:从 FineWeb 等大规模网络语料中随机抽取文档。对每篇文档,从归因数据池中采样几条归因三元组作为 in-context demonstrations,然后 prompt LLM 完成两步生成:(1) 基于文档内容构想一个合理的用户情境(谁,在什么背景下,出于什么动机);(2) 基于该情境和文档内容生成一条有意义的用户指令。文档的多样性(来自整个互联网)天然保证了指令的分布广度。
- 设计动机:以网络文档而非种子指令为起点,突破了传统方法"种子决定分布"的瓶颈。情境构想步骤确保生成的指令有真实的需求背景而非空洞的改写
-
质量评估与多样性过滤:
- 功能:确保大规模生成指令的质量底线和分布多样性
- 核心思路:生成指令后通过 LLM 对每条指令打分评估质量,过滤低质量结果。然后使用 BERTopic 进行主题建模,在每个主题内选择得分最高的指令,确保最终数据集在主题空间上均匀分布。最后使用 LLaMA-Guard-3-8B 进行安全性审核,过滤潜在的有害内容。
- 设计动机:大规模生成不可避免引入噪声,多阶段过滤在保证规模的同时维护了质量和安全性;基于主题的多样性采样避免了某些热门领域的过度表示
损失函数 / 训练策略¶
数据集构建完成后,使用标准的 SFT 流水线训练模型。另外还构建了 100K 偏好数据用于后续的 DPO 训练——使用 ArmoRM-Llama3-8B-v0.1 作为奖励模型对 SFT 模型的多个回答进行评分,构建偏好对。
实验关键数据¶
主实验¶
基于 SynthQuestions 训练的模型在多个基准上的表现:
| 基准 | SynthQuestions (SFT) | WizardLM | Self-Instruct | Evol-Instruct | 提升 |
|---|---|---|---|---|---|
| AlpacaEval 2.0 LC(%) | 32.7 | 24.1 | 18.5 | 27.3 | +5.4 |
| MT-Bench 平均分 | 7.52 | 6.89 | 6.21 | 7.15 | +0.37 |
| Arena-Hard | 28.4 | 21.2 | 15.8 | 24.6 | +3.8 |
| IFEval (严格) | 54.2 | 46.8 | 40.1 | 49.5 | +4.7 |
| MMLU | 63.8 | 62.1 | 60.5 | 62.9 | +0.9 |
数据规模对性能的影响(SFT + Llama-3-8B):
| 数据量 | AlpacaEval 2.0 LC(%) | MT-Bench |
|---|---|---|
| 100K | 26.3 | 7.08 |
| 250K | 28.9 | 7.25 |
| 500K | 31.2 | 7.41 |
| 1M | 32.7 | 7.52 |
消融实验¶
| 配置 | AlpacaEval 2.0 LC(%) | 说明 |
|---|---|---|
| Full pipeline | 32.7 | 完整归因+合成 |
| w/o 用户归因 | 28.1 | 不构建用户画像,直接从文档生成指令,掉 4.6% |
| w/o 文档接地 | 25.4 | 不用网络文档,纯种子改写,掉 7.3% |
| w/o 质量过滤 | 30.5 | 不做质量评分过滤,掉 2.2% |
| w/o 多样性采样 | 31.1 | 不做 BERTopic 均衡采样,掉 1.6% |
| 随机文档 + 直接生成 | 24.8 | 随机文档不做归因直接要求生成指令 |
关键发现¶
- 文档接地是最大贡献因素:去掉网络文档后性能大幅下降 7.3%,证明多样的信息源是指令多样性的关键驱动力
- 用户归因显著提升复杂度:加入用户画像后指令的平均复杂度评分提升约 35%,说明"先构想用户再生成指令"比"直接生成"更能产出有深度的指令
- 持续scaling:从 100K 到 1M,性能持续上升且未出现饱和迹象,暗示更多网络文档可以进一步提升表现
- SynthQuestions 在不同基座模型(Llama-3-8B、Mistral-7B)上都表现稳定,说明数据集质量具有跨模型迁移性
亮点与洞察¶
- "归因三角"框架:将指令分解为文档-用户-动机三要素的思路非常优雅。这个抽象框架不仅适用于指令合成,理论上可以迁移到任何需要生成"有情境的自然语言内容"的场景,如对话系统的用户模拟、教育领域的题目生成等。
- 网络文档作为无限接地源:这是一个关键洞察——互联网本身就是最大的知识库,以文档为起点可以突破种子指令的分布瓶颈。而且随着网络语料的增长,数据集可以无限扩展。
- 获得 ACL 2025 Outstanding Paper Award:说明这项工作在领域内获得了广泛认可,方法的通用性和实验的扎实程度得到了评审委员会的高度评价。
局限与展望¶
- 指令合成依赖于 LLM(如 GPT-4)的生成能力,合成数据的质量上界受限于合成用的教师模型
- 网络文档可能包含不准确信息(错误事实、过时数据),基于这些文档生成的指令可能传播错误
- 当前仅关注单轮指令,未涉及多轮对话指令的合成,真实场景中很多复杂需求需要多轮交互表达
- BERTopic 的主题粒度选择可能影响最终的多样性分布质量,该超参数的选择标准不够明确
- 未来可以考虑加入时效性控制——优先使用最新文档来生成与当前世界状态相关的指令
相关工作与启发¶
- vs Self-Instruct: Self-Instruct 从少量种子通过自我生成扩展,但分布受种子约束。SynthQuestions 通过网络文档打破了这一限制,多样性和规模都更大。
- vs Evol-Instruct/WizardLM: Evol-Instruct 通过"进化"规则(深化、增加约束等)提升复杂度,但这些规则是固定模板,产出的复杂度是"表面复杂"。SynthQuestions 的用户情境驱动生成则产出"语义复杂"的指令。
- vs LIMA "Less is More": LIMA 认为少量高质量数据就够了,SynthQuestions 的 scaling 实验表明在数据质量有保证的前提下,更多数据确实带来持续提升。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ "归因式接地"框架优雅地解决了指令合成的多样性和复杂度问题,思路新颖且具有广泛的启发意义
- 实验充分度: ⭐⭐⭐⭐⭐ 多基准评测、scaling实验、消融实验、跨模型验证齐全,数据集和模型完全开源
- 写作质量: ⭐⭐⭐⭐ 论文结构清晰,归因框架的动机解释充分,但部分实验细节可以更详尽
- 价值: ⭐⭐⭐⭐⭐ ACL 2025 Outstanding Paper Award,数据集和方法都具有很高的实用价值和社区影响力
相关论文¶
- [ACL 2025] PersonaBench: Evaluating AI Models on Understanding Personal Information through Accessing (Synthetic) Private User Data
- [ACL 2025] Self-Foveate: Enhancing Diversity and Difficulty of Synthesized Instructions from Unsupervised Text via Multi-Level Foveation
- [ACL 2025] Predicting Implicit Arguments in Procedural Video Instructions
- [ACL 2025] USDC: A Dataset of User Stance and Dogmatism in Long Conversations
- [ACL 2025] Theorem Prover as a Judge for Synthetic Data Generation