Skip to content

监督微调 SFT

SFT(Supervised Fine-Tuning,监督微调)是在已有基础模型上继续训练,让模型更会按照指令、格式、语气和领域流程回答。它不是从零教模型语言,而是把一个已经有通用能力的模型,训练成更适合某个岗位的助手。

可以把 SFT 理解为岗位培训:基础模型已经会读写和推理,SFT 给它看一批“标准问法 -> 标准答法”,让它学会在类似场景里按组织要求输出。

SFT 在训练链路中的位置

在训练链路中的位置

阶段作用直观理解
预训练学语言、知识和通用模式读大量书和资料
SFT学指令、格式、角色和领域流程岗位培训和标准作业
偏好对齐学更符合人类偏好的回答根据反馈调整表达和边界
评估部署检查是否可靠可用考核后上岗

SFT 解决的是“模型会不会按样例办事”。如果问题是“模型不知道最新业务资料”,优先考虑检索增强或工具接入,而不是直接微调。

相关概念:

适合 SFT 的场景

适合:

  • 输出格式必须稳定,例如客服工单分类、质检结论、结构化摘要。
  • 领域问答有固定口径,例如企业内部政策、产品说明、服务流程。
  • 模型需要学习特定写作风格,例如法律文书、病历摘要、代码注释规范。
  • 任务有大量高质量样例,并且样例能覆盖常见边界。

不适合:

  • 只是补充少量新知识。
  • 业务规则经常变化。
  • 没有稳定样例,只有模糊偏好。
  • 希望模型自动学会工具权限、数据库实时状态或最新价格。

判断标准:如果目标是“让模型记住资料”,先用知识库;如果目标是“让模型按固定方式处理同类任务”,再考虑 SFT。

数据比训练方法更关键

SFT 的数据通常是成对样例:输入是什么,理想输出是什么。数据质量直接决定训练结果。

高质量样例应具备:

  • 指令清楚:用户问题和任务边界明确。
  • 答案标准:输出体现期望格式、语气和信息密度。
  • 覆盖边界:包含正常、异常、缺字段、拒答、低置信度场景。
  • 不互相矛盾:同类问题不应出现冲突答案。
  • 不含敏感泄露:训练数据不应包含不该被模型复述的密钥、隐私和内部凭证。

低质量数据会带来稳定的低质量模型。SFT 不会自动修复混乱样例,它会学习混乱。

SFT 与提示词、RAG 的区别

方式解决的问题适合情况
提示词临时指定角色、格式和步骤任务少、变化快、试验阶段
RAG提供外部知识和事实依据资料多、更新频繁、需要引用来源
SFT固化回答方式和任务模式样例多、口径稳定、格式要求强
工具调用获取实时状态或执行动作需要查数据库、调用 API、写入系统

实际项目常常组合使用:SFT 让模型学会工作方式,RAG 提供实时资料,工具调用处理外部动作。

微调方式

全参数微调

全参数微调会更新模型大量参数。它能力强,但成本高、风险大,需要更多数据、算力和评估。

适合:

  • 模型规模可控。
  • 数据量较大。
  • 团队有训练和部署能力。
  • 对效果提升有明确收益。

参数高效微调

参数高效微调只训练少量附加参数,例如 LoRA。它更像给模型加可切换的专业适配层,成本低,便于多版本管理。

适合:

  • 算力有限。
  • 需要为多个领域训练不同适配。
  • 想快速验证微调是否有收益。

评估方式

SFT 后不能只看训练损失下降。更重要的是任务效果:

维度观察点
格式稳定是否严格按目标结构输出
事实准确是否编造资料外的信息
任务完成是否解决原始业务问题
边界行为缺信息、越权、敏感问题时是否正确处理
泛化能力换一种问法是否仍然按规则回答
回归风险原有通用能力是否明显下降

评估集应与训练集隔离。把训练样例拿来评估,只能证明模型记住了样例,不能证明它会处理新输入。

常见问题

微调后更会胡说

可能原因:

  • 训练数据里有编造答案。
  • 样例没有教模型“不知道时怎么说”。
  • 评估只奖励完整回答,没有惩罚无依据回答。

处理方式是补充拒答、低置信度和引用依据样例,而不是继续堆正常样例。

格式还是不稳定

可能原因:

  • 训练数据格式不一致。
  • 提示词和训练样例格式冲突。
  • 输出 schema 没有明确字段和边界。

先统一样例,再考虑增加结构化输出约束。

领域知识更新后模型落后

这说明问题更适合 RAG 或工具调用。频繁更新的知识不应主要依赖 SFT 固化在参数里。

落地建议

一个更稳妥的顺序:

  1. 先用提示词和少量样例验证任务形态。
  2. 如果知识变化频繁,先接知识库或工具。
  3. 如果格式和口径长期稳定,再整理 SFT 数据。
  4. 训练前先建立独立评估集。
  5. 上线后监控失败样例,定期回流清洗。

总结

SFT 的价值是让模型学会稳定的任务方式,而不是替代知识库或实时工具。它最依赖高质量样例和独立评估。判断是否需要 SFT 时,先问清楚目标是“补知识”还是“固化行为”:前者优先 RAG,后者才适合微调。

别急,先让缓存热一下。