Ch11 模型微调

概念-SelfInstruct

核心定义

Self-Instruct(自我指令)是一种通过AI模型自动生成训练数据的方法,由华盛顿大学和Allen AI在2022年底提出。其核心思想是:让AI模型自己生成指令-响应对,然后用这些合成数据训练自己或更小的模型。这一方法极大地降低了对人工标注数据的依赖,开启了合成数据驱动模型训练的新范式。

Evol-Instruct是Self-Instruct的重要演进,由Microsoft在WizardLM项目中提出,通过”进化”机制让AI自动提升指令的复杂度和多样性,生成更高质量的训练数据。

2024-2026年间,合成数据已成为AI模型训练的主导范式,几乎所有主流模型都在不同程度上依赖Self-Instruct或其变体。

Self-Instruct工作流程

标准流程

Seed Tasks (种子任务集)
    │  175个手工编写的种子指令
    ▼
Task Generation (任务生成)
    │  从任务池中随机抽取8个作为few-shot示例
    │  LLM生成新的指令-响应对
    │  分两步:先生成指令,再生成响应
    ▼
Filtering (过滤)
    │  去除低质量、重复的生成结果
    │  ROUGE-L相似度过滤
    │  关键词黑名单过滤
    ▼
Validation (验证)
    │  模型自己生成响应
    │  检查指令是否可执行
    ▼
Add to Pool (加入任务池)
    │  高质量数据加入任务池
    │  用于下一轮生成
    │
    └──→ 回到 Task Generation(迭代循环)

核心生成Prompt

指令生成Prompt:

  • 从任务池中随机抽取8个任务作为few-shot示例
  • 要求模型生成一系列新的、多样化的指令
  • 指令覆盖不同类型(分类、生成、问答、总结等)

响应生成Prompt:

  • 输入生成的指令
  • 要求模型生成高质量的响应
  • 输入-输出格式与指令类型匹配

Evol-Instruct:从生成到进化

核心思想

Evol-Instruct(WizardLM, 2023)在Self-Instruct的基础上引入了”进化”概念:

不再只是生成新指令,而是让现有指令变得更复杂、更多样。

进化操作

进化类型操作示例
深度进化(In-Depth)增加指令的复杂度和深度“写一首诗” → “写一首关于秋天的七言绝句,要求押韵且包含隐喻”
广度进化(In-Breadth)增加指令的多样性生成与现有指令类型完全不同的新指令
约束添加添加更多约束条件“写一个故事” → “写一个500字的科幻故事,需包含时间旅行悖论”
具体化使模糊指令更具体“解释机器学习” → “向一个5岁孩子解释什么是梯度下降”
增加推理添加需要推理的步骤“推荐电影” → “基于用户近5年的观影记录,分步骤推理推荐”
多轮对话将单轮指令转为多轮“翻译句子” → “在3轮对话中逐步翻译并改进翻译质量”

Evol-Instruct流程

Initial Instructions (初始指令集)
    │
    ▼
深度进化 (In-Depth Evolving)
    │  5轮深度进化,每轮增加复杂度
    │  使用进化prompt逐步复杂化指令
    ▼
广度进化 (In-Breadth Evolving)
    │  生成与现有指令类型不同的新指令
    │  确保覆盖更多任务类型
    ▼
过滤 (Filtering)
    │  去除进化失败的指令
    │  去除与原始指令相同的指令
    ▼
响应生成 (Response Generation)
    │  为所有进化后的指令生成响应
    ▼
Evolved Dataset (进化数据集)

代表项目

项目机构年份方法数据量关键贡献
Self-InstructUW/Allen AI2022基础Self-Instruct52K提出框架
AlpacaStanford2023Self-Instruct52K低成本复现GPT-3.5
WizardLMMicrosoft2023Evol-Instruct70K→250K指令进化机制
OrcaMicrosoft2023复杂推理增强5M+系统消息+解释追踪
Orca 2Microsoft2023渐进式学习多种小模型推理能力
Phi-1Microsoft2023教科书质量数据7B tokens数据质量>数量
Phi-3Microsoft2024合成+精选数据3.3T tokens小模型大能力
UltraChat清华大学2023多轮对话生成1.5M对话数据合成
UltraFeedback清华大学2023偏好数据合成64K对齐数据合成
LIMAMeta2023少而精策略1K质量>数量证明

Self-Instruct vs Evol-Instruct vs 传统数据

维度人工标注基础Self-InstructEvol-Instruct2026合成数据
数据质量高中中高高(接近人工)
数据多样性中中高高极高
数据复杂度中低中高可控制
生成成本极高低低极低
可扩展性低高高极高
领域覆盖受限广广极广
时效性慢快快实时
隐私风险有(人类接触)低低无
迭代速度天到周小时小时分钟
典型数据量1K-100K50K-500K100K-1M+1M-100M+

2026年:合成数据作为主导范式

为什么合成数据成为主导?

  1. 规模需求:千亿/万亿参数模型需要万亿级训练tokens,人工标注不可能满足
  2. 成本优势:合成数据成本仅为人工标注的1/100-1/1000
  3. 质量提升:2026年的合成数据质量已接近甚至部分超越人工标注
  4. 多样性保障:AI可以生成人类难以想象的数据组合
  5. 迭代速度:从数据生成到模型训练的全自动化流水线

2026合成数据生态

方向2026状态代表方法
指令合成成熟Self-Instruct + Evol-Instruct + 多Agent协作
对话合成成熟UltraChat + 角色扮演生成
偏好数据合成成熟UltraFeedback + LLM-as-Judge
代码合成成熟执行反馈驱动的代码生成
数学推理快速成熟逐步推理验证 + 自洽性检查
多模态数据快速发展文本到图像/视频/音频的合成描述
多语言数据快速发展翻译+本地化合成
领域专业数据发展中专家知识注入 + 领域验证

关键挑战

挑战描述2026缓解方案
模型崩溃合成数据训练的模型逐渐失去多样性数据混合、多样性约束
幻觉放大合成数据中的错误被下一代模型放大事实校验、多源验证
评估污染合成数据可能包含benchmark泄露数据溯源、去污处理
质量退化多轮合成后数据质量下降质量过滤、人工审核循环
版权问题合成数据可能包含原始数据痕迹数据审计、合规检查

相关笔记

来源

关联6

知识图谱

局部图谱 · 点节点跳转