大模型训练中的数据生产合成

引言:为什么需要数据合成?

在大型语言模型(LLM)的训练中,高质量、多样化的训练数据是模型能力突破的关键瓶颈。现实世界的数据往往存在分布不均、覆盖不全、标注成本高等问题。数据合成技术通过系统性生成符合特定能力需求的训练样本,成为解决这一难题的核心方案。其核心逻辑可总结为:
“通过多模态数据合成方法确保 训练样本 的多样性,精准满足大模型在专项能力上的训练需求”
训练样本被构建为< Prompt , Answer >


一、Prompt 生产合成:构建多样化的指令库

核心目标:覆盖全场景、多风格的指令类型

首先应该明白,这里的prompt指的是用于 微调(Fine-tuning)或监督学习(SFT) 大模型的训练数据样本中的 “输入”部分。它的目的或者要求是:设计合适的输入,教会模型如何对各种不同的、多样化的指令或任务做出符合要求的响应。目标是提升模型在特定任务或通用能力上的表现。

1. Self-Instruct 方法(技能库驱动)
  • 工作流程
    1. 构建细粒度技能库(Task Taxonomy):将模型能力拆解为原子级技能(如“文本摘要”“代码解释”“多步推理”),每个技能对应独立 task_type
    2. 为每个 task_type 准备 Seed Prompts(人工编写的示范指令)
    3. 使用强基模型(如GPT-4)随机采样种子指令,自动续写同类新指令
  • 优势
    自动化扩展指令空间,确保技能覆盖的完备性

以SFT大模型的逻辑推理为例——
人工编写Seed Prompts
1. 数学推理
“小明有5个苹果,他每天吃1个苹果同时获得2个新苹果。请问3天后他有多少苹果?请分步解释。”
2. 逻辑谜题
“A说B在说谎,B说C在说谎,C说A和B都在说谎。请问谁在说真话?展示推理过程。”
3. 伦理困境
“如果自动驾驶汽车必须在撞向行人或牺牲乘客之间选择,应如何决策?列出至少三个考量因素及其权重。”

强基模型如GPT指令:

请基于以下种子指令续写5个新的多步论证问题,要求:
1. 覆盖数学、逻辑、伦理三个领域
2. 每题需≥3个推理步骤
3. 使用不同句式开头

种子指令:
{{插入上述3个种子prompt}}入代码片

模型可以生成更多合成数据样本:

  1. 数学领域
    “某数列首项为2,后项是前项的平方减1。求第4项的值,并说明第n项的通项公式推导过程。”

  2. 逻辑领域
    “三个盒子分别标有’苹果’‘橙子’‘混合’,但标签全错。你只能从一个盒子取出一件物品,如何确定所有盒子的内容?详细描述推理步骤。”

  3. 伦理领域
    “当器官移植资源有限时,应优先救治年轻患者还是对社会贡献大的患者?请构建包含功利主义、道义论视角的决策框架。”

  4. 跨领域推理
    “某公司利润=销量×(单价-成本)。若成本涨10%,要保持利润需提价多少?用代数方法证明,并讨论市场接受度的非量化因素。”

  5. 现实问题解决
    “设计城市缓解交通拥堵的方案:a) 分析3个主要成因 b) 提出对应措施 c) 评估各措施的成本效益比”

2. 启发式规则合成
  • 方法
    • 数据多样性采集:从开源数据集(如Alpaca、FLAN)中按 task_type 抽取样本
    • 多维度改写
      • 格式多样性:生成纯文本、Markdown、JSON、XML等结构化指令
      • 风格多样性:采用正式/口语化、简洁/详细、中立/幽默等行文风格
    • 工具链
      利用LLM(如Claude 3、Qwen)进行自动化改写,人工制定改写规则模板
  • 关键产出
    覆盖数百种任务类型、数十种表达风格的百万级Prompt库

二、Answer 生产合成:高质量响应的生成策略

核心原则:质量优先,兼顾成本与语言特性

1. 黄金标准:GPT-4 as Generator
  • 适用场景
    • 高成本容忍场景 & 英文数据生成 → GPT-4 / Claude 3
    • 中文场景 & 成本敏感 → Qwen-72B / DeepSeek-MoE
  • 优势
    直接生成接近人类专家水平的响应,尤其擅长复杂逻辑推理
2. 小模型蒸馏方案(SFT+Distillation)

GPT-4生成1k高质量答案

训练监督微调SFT模型

小模型生成10k+新答案

获得高性价比合成数据

  • 优势
    成本较低,适用特定领域(如医疗、法律)或简单任务(分类、抽取)。

三、业界进阶做法:拒绝采样与偏好对齐

在工业界通常会构建更复杂的数据,并采用强化学习来进一步提升模型性能。具体强化学习的做法会在专栏第二章强化学习部分开始详细介绍。这里简单介绍:

1. 拒绝采样(Rejection Sampling)

工作流程

  1. 多响应生成
    • 对同一Prompt采样 N 个不同响应
    • 采样方法:Beam Search / Bon采样 / Top-p采样
  2. 最佳响应筛选
    • 通过人工评审或AI Verifier评估质量
    • 选出最优响应标记为 Chosen
  3. 偏好对构建
    • 保留被拒绝的响应作为 Rejected
    • 形成 <Prompt, Chosen, Rejected> 三元组
2. 偏好数据合成
  • 自动标注:使用RM模型对采样结果评分
  • 人工干预:关键领域(医疗/金融)引入专家审核
  • 直接用于DPO(Direct Preference Optimization)训练,显著提升模型对齐能力

四、Sandbox 验证:数据-模型的协同进化系统

Yes

No

合成数据生成

在Sandbox模型上微调

专项能力评估

性能达标

发布数据

分析失败案例

修正数据生成策略

Sandbox通常是一个轻量级(相对于训练的大模型而言)的模型,小模型容量有限,低质量数据会直接导致其性能崩溃(如 loss 震荡、过拟合)。如果合成数据能提升小模型能力,大概率对大模型也有效;反之若小模型学不会,则数据必然存在缺陷。
常见的失败的案例:

  • 比如模型出现胡言乱语,常见的原因可能有——是否包含未闭合的 Markdown 代码块、是否混入乱码、是否有中英混合的指令等。
  • 如果模型无法解决逻辑推理,常见的原因——合成 answer 的模型(如 GPT-4)在该类任务上不可靠。
  • 验证集性能远低于训练集,常见的解决办法——增加数据多样性(同 task_type 下生成更多变体、加入数据增强(随机删除/交换指令关键词)、降低 epoch 数(防止记忆噪声)。

自动化数据构建会伴随低质量数据的生成,下一节我们将介绍工业界常见的数据质量过滤方法。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐