Skip to content

合成数据生成方法对比

合成数据(Synthetic Data)已成为大模型训练 pipeline 的核心组成部分。从 Microsoft Phi 的"教科书级"合成数据到 DeepSeek-R1 的自我对弈,不同生成方法在质量、成本、可扩展性和适用场景上差异显著。本页对比当前主流的合成数据生成方法。

方法概览

方法核心机制质量水平成本可扩展性主要风险
Self-Play模型生成 → 自我验证 → 迭代优化验证器质量瓶颈
Rejection Sampling生成 K 个候选 → 筛选 Top-N中高多样性损失
Evol-Instruct迭代增加指令复杂度复杂度失控
Distillation大模型生成 → 小模型学习极高能力天花板
Constitutional AI原则约束下的对抗生成原则设计偏差
Self-Instruct种子指令 → 模型生成新指令模式重复
RLVR (Verifiable Rewards)强化学习 + 可验证奖励极高奖励黑客
Simulation规则/物理引擎模拟数据仿真-现实差距

核心方法详解

1. Self-Play(自我对弈)

原理:模型生成输出,然后根据可验证的标准进行自我评估和优化,形成数据飞轮。

基础模型 → 生成问题/答案 → 自我验证 → 筛选高质量 → 训练新模型
     ↑_________________________________________________|

代表工作

  • DeepSeek-R1:通过 RLVR 自我对弈生成推理轨迹,在数学和代码上达到 SOTA
  • AlphaGo/AlphaZero:围棋自我对弈的经典范式

优势

  • 不依赖人工标注
  • 可针对特定能力(推理、代码)定向优化
  • 形成数据飞轮,越训练质量越高

局限

  • 需要高质量的验证器(Verifier)
  • 验证错误会被放大
  • 仅适用于可验证的领域(数学、代码)

2. Rejection Sampling(拒绝采样)

原理:对每个 prompt 生成 K 个候选回答(通常 K=16~64),用奖励模型或规则筛选保留 Top-N。

python
# 伪代码
candidates = [model.generate(prompt) for _ in range(K)]
scores = [reward_model(c) for c in candidates]
best = sorted(zip(candidates, scores), key=lambda x: x[1])[:N]

代表工作

  • Llama 3 后训练:大规模拒绝采样提升指令遵循能力
  • 大多数 SFT pipeline:拒绝采样是后训练数据生成的主力方法

优势

  • 简单、可并行化、可靠性高
  • 与任何生成模型兼容
  • 可精确控制数据质量分布

局限

  • 计算浪费(生成 K 个只保留 N 个)
  • 多样性损失(倾向于高概率输出)
  • 奖励模型质量决定上限

3. Evol-Instruct(指令进化)

原理:从种子指令出发,迭代地增加复杂度(增加约束、加深推理、要求多步求解)。

种子指令 → 增加约束 → 增加推理深度 → 多步求解 → 高难度指令

代表工作

  • WizardLM / WizardCoder:Evol-Instruct 驱动的指令遵循模型
  • Meta Math:数学指令的迭代进化

优势

  • 生成高度多样且具有挑战性的训练数据
  • 可控制难度分布
  • 适合能力提升型训练

局限

  • 进化过程可能产生无效指令
  • 复杂度可能超出模型能力范围
  • 需要精心设计的进化规则

4. Distillation(知识蒸馏)

原理:使用强大的教师模型(如 GPT-4)生成高质量输出,训练较小的学生模型模仿。

教师模型(大)→ 生成高质量数据 → 学生模型(小)→ 学习模仿

代表工作

  • Microsoft Phi 系列:完全在 GPT-4 生成的"教科书级"数据上训练
  • Alpaca:GPT-3.5 生成的 52K 指令数据
  • TinyLlama / Phi-4:小模型通过蒸馏达到大模型能力

优势

  • 成本低(无需人工标注)
  • 可扩展性极高
  • 小模型可获得大模型能力

局限

  • 能力天花板:学生通常无法超越教师
  • 蒸馏差距:教师太强时学生无法学习
  • 模式崩溃:多代蒸馏后质量退化

5. Constitutional AI(宪法 AI)

原理:通过一组原则("宪法")约束模型行为,模型自我批评和修正以符合原则。

生成回答 → 自我批评(是否违反宪法?)→ 修正回答 → 训练

代表工作

  • Anthropic Claude:Constitutional AI 是核心训练方法
  • RLAIF:基于 AI 反馈的强化学习

优势

  • 可精确控制模型行为
  • 减少对人工反馈的依赖
  • 适合安全对齐

局限

  • 宪法原则设计困难
  • 可能过度约束创造力
  • 计算成本高(需要多轮生成-批评-修正)

6. RLVR(Reinforcement Learning with Verifiable Rewards)

原理:在可验证的领域(数学、代码),用规则而非奖励模型提供强化学习信号。

模型生成答案 → 规则验证(正确/错误)→ RL 优化 → 提升准确率

代表工作

  • DeepSeek-R1:纯 RLVR 训练,无需 SFT 冷启动
  • OpenAI o1 / o3:推理能力的 RLVR 训练

优势

  • 奖励信号无偏差(规则验证 = ground truth)
  • 可发现新的推理策略
  • 适合推理和代码领域

局限

  • 仅适用于可验证领域
  • 需要设计验证规则
  • 训练不稳定

方法组合策略

实际训练中,多种方法组合使用

训练阶段推荐方法组合理由
预训练真实数据(70-90%)+ 合成数据(10-30%)保持分布真实性
SFT 冷启动Distillation + Rejection Sampling快速获得基础能力
能力提升Evol-Instruct + Self-Play增加难度和多样性
推理强化RLVR + Self-Play可验证奖励 + 自我优化
安全对齐Constitutional AI + RLAIF原则约束 + AI 反馈
领域适配Distillation + Simulation教师知识 + 领域模拟

质量与风险控制

模型崩溃(Model Collapse)

当模型在由前代模型生成的数据上训练时,性能逐步退化:

  • 机制:合成数据继承并放大生成模型的偏见和错误
  • 表现:多样性下降、幻觉增加、尾部信息丢失
  • 缓解
    • 混合 >50% 真实数据
    • 多代模型数据混合
    • 严格的质量过滤

最佳实践

  1. 积极过滤:永远不要直接在原始合成输出上训练
  2. 与人类数据混合:纯合成 pipeline 会退化
  3. 多样化教师模型:使用不同规模、架构的多个模型生成
  4. 迭代优化:生成 → 批评 → 重新生成 → 过滤
  5. 监控分布漂移:追踪 n-gram 多样性、困惑度、子群体性能

决策矩阵

场景推荐方法理由
快速获得基础指令能力Distillation成本低、见效快
提升推理能力RLVR + Self-Play可验证、可自我优化
增加指令难度和多样性Evol-Instruct可控的复杂度增长
安全对齐Constitutional AI原则约束、可解释
代码数据生成Self-Play + 执行验证正确性可自动验证
小模型训练高质量 Distillation数据效率优先
多模态数据Simulation + Distillation物理模拟 + 教师指导
隐私敏感领域Simulation无真实数据泄露风险

相关页面

参考来源

  • DeepSeek-AI. (2025). "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning."
  • Gunasekar et al. (2023). "Textbooks Are All You Need." (Phi)
  • Wang et al. (2022). "Self-Instruct: Aligning Language Models with Self-Generated Instructions."
  • Xu et al. (2023). "WizardLM: Empowering Large Language Models to Follow Complex Instructions."
  • Bai et al. (2022). "Constitutional AI: Harmlessness from AI Feedback."
  • Shumailov et al. (2023). "The Curse of Recursion: Training on Generated Data Makes Models Forget."
  • Meta AI. (2024). "The Llama 3 Herd of Models."

AI Knowledge Base — 持续积累