1.3 大模型监督微调(SFT)的数据构造与数据合成
大模型训练中的数据生产合成
引言:为什么需要数据合成?
在大型语言模型(LLM)的训练中,高质量、多样化的训练数据是模型能力突破的关键瓶颈。现实世界的数据往往存在分布不均、覆盖不全、标注成本高等问题。数据合成技术通过系统性生成符合特定能力需求的训练样本,成为解决这一难题的核心方案。其核心逻辑可总结为:
“通过多模态数据合成方法确保 训练样本 的多样性,精准满足大模型在专项能力上的训练需求”
训练样本被构建为< Prompt , Answer >
一、Prompt 生产合成:构建多样化的指令库
核心目标:覆盖全场景、多风格的指令类型
首先应该明白,这里的prompt指的是用于 微调(Fine-tuning)或监督学习(SFT) 大模型的训练数据样本中的 “输入”部分。它的目的或者要求是:设计合适的输入,教会模型如何对各种不同的、多样化的指令或任务做出符合要求的响应。目标是提升模型在特定任务或通用能力上的表现。
1. Self-Instruct 方法(技能库驱动)
- 工作流程:
- 构建细粒度技能库(Task Taxonomy):将模型能力拆解为原子级技能(如“文本摘要”“代码解释”“多步推理”),每个技能对应独立
task_type - 为每个
task_type准备 Seed Prompts(人工编写的示范指令) - 使用强基模型(如GPT-4)随机采样种子指令,自动续写同类新指令。
- 构建细粒度技能库(Task Taxonomy):将模型能力拆解为原子级技能(如“文本摘要”“代码解释”“多步推理”),每个技能对应独立
- 优势:
自动化扩展指令空间,确保技能覆盖的完备性
以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}}入代码片
模型可以生成更多合成数据样本:
-
数学领域
“某数列首项为2,后项是前项的平方减1。求第4项的值,并说明第n项的通项公式推导过程。” -
逻辑领域
“三个盒子分别标有’苹果’‘橙子’‘混合’,但标签全错。你只能从一个盒子取出一件物品,如何确定所有盒子的内容?详细描述推理步骤。” -
伦理领域
“当器官移植资源有限时,应优先救治年轻患者还是对社会贡献大的患者?请构建包含功利主义、道义论视角的决策框架。” -
跨领域推理
“某公司利润=销量×(单价-成本)。若成本涨10%,要保持利润需提价多少?用代数方法证明,并讨论市场接受度的非量化因素。” -
现实问题解决
“设计城市缓解交通拥堵的方案:a) 分析3个主要成因 b) 提出对应措施 c) 评估各措施的成本效益比”
2. 启发式规则合成
- 方法:
- 数据多样性采集:从开源数据集(如Alpaca、FLAN)中按
task_type抽取样本 - 多维度改写:
- 格式多样性:生成纯文本、Markdown、JSON、XML等结构化指令
- 风格多样性:采用正式/口语化、简洁/详细、中立/幽默等行文风格
- 工具链:
利用LLM(如Claude 3、Qwen)进行自动化改写,人工制定改写规则模板
- 数据多样性采集:从开源数据集(如Alpaca、FLAN)中按
- 关键产出:
覆盖数百种任务类型、数十种表达风格的百万级Prompt库
二、Answer 生产合成:高质量响应的生成策略
核心原则:质量优先,兼顾成本与语言特性
1. 黄金标准:GPT-4 as Generator
- 适用场景:
- 高成本容忍场景 & 英文数据生成 → GPT-4 / Claude 3
- 中文场景 & 成本敏感 → Qwen-72B / DeepSeek-MoE
- 优势:
直接生成接近人类专家水平的响应,尤其擅长复杂逻辑推理
2. 小模型蒸馏方案(SFT+Distillation)
- 优势:
成本较低,适用特定领域(如医疗、法律)或简单任务(分类、抽取)。
三、业界进阶做法:拒绝采样与偏好对齐
在工业界通常会构建更复杂的数据,并采用强化学习来进一步提升模型性能。具体强化学习的做法会在专栏第二章强化学习部分开始详细介绍。这里简单介绍:
1. 拒绝采样(Rejection Sampling)
工作流程:
- 多响应生成:
- 对同一Prompt采样 N 个不同响应
- 采样方法:Beam Search / Bon采样 / Top-p采样
- 最佳响应筛选:
- 通过人工评审或AI Verifier评估质量
- 选出最优响应标记为 Chosen
- 偏好对构建:
- 保留被拒绝的响应作为 Rejected
- 形成
<Prompt, Chosen, Rejected>三元组
2. 偏好数据合成
- 自动标注:使用RM模型对采样结果评分
- 人工干预:关键领域(医疗/金融)引入专家审核
- 直接用于DPO(Direct Preference Optimization)训练,显著提升模型对齐能力
四、Sandbox 验证:数据-模型的协同进化系统
Sandbox通常是一个轻量级(相对于训练的大模型而言)的模型,小模型容量有限,低质量数据会直接导致其性能崩溃(如 loss 震荡、过拟合)。如果合成数据能提升小模型能力,大概率对大模型也有效;反之若小模型学不会,则数据必然存在缺陷。
常见的失败的案例:
- 比如模型出现胡言乱语,常见的原因可能有——是否包含未闭合的 Markdown 代码块、是否混入乱码、是否有中英混合的指令等。
- 如果模型无法解决逻辑推理,常见的原因——合成 answer 的模型(如 GPT-4)在该类任务上不可靠。
- 验证集性能远低于训练集,常见的解决办法——增加数据多样性(同 task_type 下生成更多变体、加入数据增强(随机删除/交换指令关键词)、降低 epoch 数(防止记忆噪声)。
自动化数据构建会伴随低质量数据的生成,下一节我们将介绍工业界常见的数据质量过滤方法。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)