什么是 指令微调(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 策略、去重、不可变切分和污染报告
  • 评测未见任务族、格式约束、安全、过度拒答、能力回归和服务模板一致性

常见用途

  1. 把基础语言模型训练成可遵循多样自然语言任务的助手
  2. 教授抽取、分类、改写、摘要、工具调用或结构化输出行为
  3. 把指令遵循适配到特定语言、领域、策略或产品交互契约
  4. 为 DPO、RLHF 或其他偏好阶段建立监督 Checkpoint 与对照基线
  5. 验证任务混合与模板变化能否改善刻意留出的未见任务族

示例

loading...
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 和留出基准,不能外推为普遍保证。指令遵循训练还可能增强不安全服从或造成过度拒答。发布前应评测未见任务族、对抗与策略样本、多语言和领域切片、格式约束、数据污染及通用能力回归。

相关术语

相关文章

LLM 微调实战:SFT、LoRA、QLoRA 与评测

系统讲解 LLM 微调的完整工程路径,覆盖 SFT、全参数更新、LoRA、QLoRA、数据血缘、聊天模板、防泄漏切分、可复现实验清单、未触碰测试集、产物身份、安全门禁、部署与回滚。通过 Go 数据校验与评测示例,帮助团队区分训练目标、可训练参数和量化策略,避免照搬固定显存、数据量、超参数或质量承诺。

2026-02-21

LoRA 微调教程:QLoRA、PEFT 与参数配置实战(2026)

LoRA 微调教程,系统讲解低秩适配原理、rank、alpha、target_modules 与 dropout 参数配置,提供 Hugging Face PEFT 和 QLoRA 训练示例,对比显存占用、全量微调与量化微调差异,并覆盖适配器合并、推理部署、过拟合控制和多任务维护,帮助开发者在目标硬件上评估并定制大语言模型。

2026-02-21

RAG vs 微调:基于证据的大模型架构选型指南

系统比较 RAG、微调与长上下文的真实工程边界,覆盖知识更新、行为适配、检索质量、幻觉与引用、延迟、成本、数据删除、评测协议和混合架构,帮助团队用同一测试集选择能通过生产门禁的方案,而不是套用“知识用 RAG、行为用微调”的口号。文章进一步拆解语料覆盖、授权召回、排序、生成、训练泄漏与适配器生命周期等失败模式,并给出可运行的 Go 验收门禁、成本口径、安全控制与可逆实验流程。

2026-04-08