什么是监督微调 SFT?让模型学会特定任务与格式

SFT 是什么?它如何用高质量示例调整模型行为,和预训练、RAG、RLHF 有何区别,哪些业务场景值得做监督微调,一文讲清。

什么是监督微调 SFT?让模型学会特定任务与格式
编辑部 ·

基础模型懂很多通用知识,却未必知道你的客服话术、数据字段或输出格式。**监督微调(Supervised Fine-Tuning,SFT)**就是用一批“输入—理想输出”示例继续训练模型,让它在特定任务上更像你期望的样子。

它可以理解为给通才上一门有标准答案的专业课。

它是怎么工作的

训练数据通常是一对对示例:用户问什么,助手应该怎样答。模型读入输入后生成答案,再与标准答案比较,逐步调整参数,使下次更可能输出相似结果。

例如要做订单信息提取,训练集不只要有“订单号是什么”,还应覆盖缺字段、多个订单、日期格式错误、用户表达不完整等真实情况。SFT 学到的不是某一条答案,而是从输入到输出的行为模式。

SFT、RAG 和 RLHF 的区别

方法主要解决什么依赖什么
SFT让模型学会任务、格式和风格高质量输入输出示例
RAG给模型补充可更新的外部知识文档检索与上下文
RLHF让模型更符合偏好与安全要求人类或模型的偏好反馈

产品里经常组合使用:用 SFT 固定输出结构和专业流程,用 RAG 提供最新制度与资料,再用偏好训练改善交互。具体取舍可参考微调、RAG 与提示词工程

什么场景适合做 SFT

  • 输出必须稳定符合固定格式,例如 JSON、表格、抽取结果
  • 有大量高质量历史案例,例如客服、标注、审计记录
  • 任务长期稳定,知识更新不频繁
  • 提示词已经很长,仍难保证模型遵循行为

反过来,若主要问题是“资料经常变”,先用 RAG;若只是少量简单规则,提示词和校验代码往往更便宜。不要因为“能训练”就训练。

数据质量比数据数量重要

SFT 最容易失败的地方不是训练参数,而是示例本身。低质量、互相矛盾或带有错误答案的数据会被模型放大。好的数据集应做到:

  • 输出标准一致,字段和格式明确
  • 覆盖真实用户的常见与边界表达
  • 删除敏感信息、错误标注与重复样本
  • 留出独立测试集,不参与训练

训练后还要在未见过的真实问题上评测,避免模型只是“记住训练集”。

总结

监督微调是让通用模型适应特定任务的基础方法:用清晰、高质量的示例教它怎么做,而不是只告诉它做什么。它擅长稳定行为和格式,不替代实时知识检索。先确认问题是“模型不会按要求做”,还是“模型没有最新资料”,再决定是否值得投入 SFT。