什么是 指令微调(Instruction Tuning)?
指令微调(Instruction Tuning)是一种监督微调方法,它在由指令表达的任务和目标回答上继续训练预训练模型,目标是改善指令遵循和跨任务族迁移能力。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
区分指令目标与训练机制
Instruction Tuning 描述预期行为和任务混合,SFT 通常提供 Token 级优化机制。原始 [FLAN 论文](https://arxiv.org/html/2109.01652v3)在指令化任务簇上训练,并刻意留出完整任务簇评测。该结果不代表每次 SFT 都是指令微调、任意指令数据都会迁移到未见任务,也不代表偏好优化属于同一目标函数。
按任务族切分后再声称迁移
切分前应为 Task Family、来源、Template 和样本分配稳定身份。评估跨任务迁移时,把已声明任务族完全留在训练集之外,同时另设同分布 Validation 和未参与调参的发布 Test。还要检测模板、改写、源文档与 Synthetic Teacher 重叠;随机按行切分可能让近似任务跨集合出现,把格式记忆误报成 Zero-shot 能力。
固定准确的 Token 与服务契约
使用发布 Tokenizer 和 Chat Template 渲染代表性样本,检查 Role Marker、Special Token、Truncation、EOS 和 Loss Mask 选中的位置。当前 [Transformers Chat Template 指南](https://huggingface.co/docs/transformers/main/en/chat_templating)表明,共享同一 Base 的模型也可能要求不同控制 Token。最终模型必须经过生产 Renderer 与 Runtime 测试,并覆盖 Schema、安全、过度拒答和能力回归切片。
主要特点
- 使用监督式指令、上下文和目标回答,而不是偏好对或单一奖励分数
- 目标是改善跨任务族指令遵循,不只是记住训练集中出现过的 Prompt
- 把全序列、Completion-only 或 Assistant-only Token Loss 作为显式版本化策略
- 要求训练与推理复用相同 Tokenizer、Chat Template、角色标记、Special Token 和 EOS 行为
- 追踪人工或合成回答的来源、许可、PII 策略、去重、不可变切分和污染报告
- 评测未见任务族、格式约束、安全、过度拒答、能力回归和服务模板一致性
常见用途
- 把基础语言模型训练成可遵循多样自然语言任务的助手
- 教授抽取、分类、改写、摘要、工具调用或结构化输出行为
- 把指令遵循适配到特定语言、领域、策略或产品交互契约
- 为 DPO、RLHF 或其他偏好阶段建立监督 Checkpoint 与对照基线
- 验证任务混合与模板变化能否改善刻意留出的未见任务族
示例
Loading code...常见问题
指令微调和 SFT 是一回事吗?
不总是。指令微调属于 SFT,其样本用指令和目标回答表达任务,通常覆盖多个任务族;SFT 范围更广,也可以训练固定分类器、续写任务或其他不以指令遵循为目标的有标注映射。部分论文会混用名称,因此训练记录应明确数据格式、目标函数和预期行为,不能只依赖方法标签。
指令微调应该只对 Assistant 回答计算 Loss 吗?
这是设计选择,不是通用规则。Completion-only 或 Assistant-only Mask 让梯度聚焦目标回答;全序列 Loss 还会训练 Prompt 和角色 Token。应根据数据格式与目标选择,检查实际生成的 Label,记录 Mask 策略,并比较留出集表现。当前 TRL 的 Assistant-only Loss 还要求 Chat Template 能返回正确 Generation Mask。
为什么训练和推理必须使用同一 Chat Template?
Chat Template 会把角色和内容转换为因果语言模型实际看到的控制 Token。角色标记、轮次边界、Special Token、EOS 或 Generation Prompt 任一变化,都会改变输入序列。模板错位可能让模型续写用户消息、无法停止或质量下降,因此必须把模板与制品共同版本化,并验证真实服务路径。
合成指令数据可以安全用于训练吗?
可以,但必须具备来源与验证。记录 Teacher Model 和 Prompt Revision、采样与过滤策略、许可、PII 处理和去重结果;评测数据应独立于 Teacher 生成过程,并审查相关性错误、风格坍缩和人工复核切片。数据量大本身不能证明答案正确、任务多样或许可兼容。
指令微调能保证安全或零样本泛化吗?
不能。FLAN 与 T0 的提升来自特定模型、任务混合、Prompt 和留出基准,不能外推为普遍保证。指令遵循训练还可能增强不安全服从或造成过度拒答。发布前应评测未见任务族、对抗与策略样本、多语言和领域切片、格式约束、数据污染及通用能力回归。