词元字典CIYUAN ZIDIAN

SFT 监督微调是什么意思?

更新于 2026-10-24 · ciyuanzidian.com

简答:SFT(监督微调)就是用“问题—标准答案”样本继续训练预训练模型,让它更稳定地按指定任务、格式和语气作答;它主要改变行为,不等于把新资料直接塞进模型。

定义:SFT(Supervised Fine-Tuning,监督微调)是用带有目标答案的示例数据继续训练预训练模型,使模型更稳定地完成特定任务。

先看结论:SFT 到底改变了什么

如果你刚看到“监督微调”这个词,可以先把它理解成:给已经会说话的模型一批“题目和标准答案”,让它反复学习应该怎样回答。输入是问题、指令或上下文,输出是人工认可的答案;训练过程会调整模型参数,使模型更倾向于生成这些目标答案。Amazon 的官方说明也将 SFT 定义为使用输入—输出配对数据继续训练模型,通常通过监督损失让预测结果接近目标输出。Supervised Fine-Tuning - Amazon Nova

生活化类比:预训练像是让学生先学会阅读、表达和一般知识;SFT 像是拿一套批改过的练习题,教学生按照公司的答题格式、客服口吻或分类规则完成任务。

方法主要解决什么问题需要什么数据是否直接改变模型参数
Prompt Engineering临时说明任务和输出格式提示词否
SFT稳定学习任务行为、格式和回答风格输入与标准输出样本是
RAG回答时参考外部文档或最新资料可检索的资料库通常否
继续预训练适应某个领域的语言和文本分布大量领域文本,通常不要求标准答案是
LoRA用较少可训练参数完成适配仍然需要任务数据是,但主要训练低秩适配器
DPO让模型偏向人类选择的回答同一问题下的偏好回答对是
RLHF通过奖励信号优化回答偏好偏好数据、奖励模型或奖励信号是

SFT 的基本原理:输入、标准输出与损失

SFT 的核心不是把一段资料简单上传给模型,而是让模型看到许多“给定输入,应该输出什么”的示例。训练时,模型先根据输入预测后续词元,再把预测结果与标准答案比较;差异越大,训练信号通常越强,模型参数也会朝着更接近标准答案的方向更新。官方训练文档把这种目标描述为对目标回答进行监督学习,常见损失是交叉熵。监督式微调(SFT)- Amazon Nova

对新手来说,可以先只记住三部分:输入是模型要处理的问题,标准输出是希望模型给出的答案,训练目标是让模型以后遇到相似输入时更接近标准输出。

一个简化的多轮对话样例可以写成 JSONL,也就是每行一个 JSON 对象:

{"messages":[{"role":"user","content":"把下面的文本归类为投诉、咨询或建议:电池续航不够。"},{"role":"assistant","content":"投诉"}]}

实际训练工具通常还会要求使用模型对应的对话模板。Hugging Face 的 SFT 文档列出了普通文本、提示词—补全和多轮对话等数据格式,并说明对话数据可以自动套用聊天模板。SFT Trainer 文档

SFT 能解决什么,不能解决什么

适合解决的问题

这些任务的共同点是:你能够比较清楚地写出“输入是什么,理想输出是什么”。AWS 官方文档也将任务分类、问答和格式转换列为适合使用输入—输出样本进行 SFT 的场景。Supervised Fine-Tuning - Amazon Nova

不适合单独依赖 SFT 的问题

因此,“知识注入”和“行为调整”要分开看:RAG 更像回答时查资料,SFT 更像训练模型形成稳定的做事方式。SFT 课程资料也明确强调,监督微调主要是调整模型如何应用已有能力,而不是从零开始教会模型全部知识。Supervised Fine-Tuning with SmolLM3

从数据准备到上线:SFT 的最小实践流程

  1. 先写清任务边界:用一句话说明输入、输出和合格标准,例如“输入一条用户反馈,输出一个固定类别”。
  2. 整理输入—输出样本:每条样本都要有明确目标答案,删除重复、互相矛盾、带有错误格式的记录。
  3. 统一数据格式:多轮对话使用统一的 role 和 content 字段;结构化任务统一字段名、标签名称和输出顺序。
  4. 划分训练与验证数据:不要把完全相同或高度相似的样本同时放进训练集和验证集,否则评估结果可能虚高。
  5. 选择训练方式:资源充足且希望整体调整模型时,可考虑全参数微调;资源有限时,可考虑 LoRA。LoRA 的原始论文提出冻结预训练权重,只训练低秩更新矩阵,以减少需要训练的参数。LoRA: Low-Rank Adaptation of Large Language Models
  6. 需要进一步节省显存时:QLoRA 将量化后的基础模型与 LoRA 适配器结合,重点是降低训练时的内存占用;它不是另一种任务目标,仍然属于参数高效微调路线。QLoRA: Efficient Finetuning of Quantized LLMs
  7. 用未参与训练的样本评估:检查准确率、格式合规率、拒答边界、长文本表现和原有能力是否下降,不要只看训练损失。
  8. 小范围上线并持续复测:先观察真实输入中的错误类型,再决定是补充数据、修改提示词、接入 RAG,还是重新训练。

SFT、LoRA、DPO 和继续预训练,别把它们当成同一层概念

这几个词经常一起出现,但它们解决的问题不同。SFT 是一种训练目标和数据组织方式;LoRA 是一种减少可训练参数的实现方法,所以可以出现“用 LoRA 做 SFT”。QLoRA 则是在量化基础模型上训练 LoRA 适配器。DPO 使用偏好数据,让模型在两个或多个候选答案之间更偏向被选中的答案;其原始论文将 DPO 设计为直接利用偏好数据优化模型,而不必单独训练传统奖励模型。Direct Preference Optimization

继续预训练使用的是领域文本和语言建模目标,重点是让模型适应新的领域语言分布;SFT 使用带目标答案的示例,重点是让模型按指定方式完成任务。研究论文将持续预训练描述为让模型适应不断变化或专业化语料的过程。Lifelong Pretraining: Continually Adapting Language Models to Emerging Corpora

快速判断:如果你能写出大量“输入—理想输出”,先考虑 SFT;如果主要缺少最新资料,先考虑 RAG;如果只有领域原文,先考虑继续预训练或资料检索;如果已经有“回答 A 比回答 B 好”的标注,再考虑偏好优化方法。

常见失败原因与自查清单

最后可以用一句话做决策:想让模型“知道哪份资料”,优先解决检索或领域语料问题;想让模型“按照什么方式做事”,才重点考虑 SFT。

常见问题

SFT 是什么意思?

SFT 是 Supervised Fine-Tuning 的缩写,中文是监督微调,指使用带有标准答案的示例继续训练预训练模型,让模型更稳定地完成指定任务。

SFT 和微调是一个意思吗?

SFT 是微调的一种常见方式,但微调还可能包括其他训练目标和方法。SFT 的关键特征是训练样本中有输入和期望输出。

SFT 能不能让模型记住公司的知识库?

SFT 可以让模型学习知识库问答的回答方式,但不保证准确记住所有资料。知识经常更新时,通常还要考虑检索外部资料,并用测试集检查引用和事实准确性。

SFT 和 LoRA 有什么区别?

SFT 说明“用什么监督数据和目标训练”,LoRA 说明“训练哪些参数”。两者可以组合使用,也就是用 LoRA 方式完成 SFT。

没有代码基础,是否必须自己训练 SFT?

不一定。先用提示词和少量人工示例验证任务是否稳定;只有当任务边界清楚、样本质量可控且确实需要长期保持某种行为时,再评估 SFT 的训练门槛和维护成本。

相关阅读

参考资料

  1. Supervised Fine-Tuning - Amazon Nova
  2. 监督式微调(SFT)- Amazon Nova
  3. SFT Trainer
  4. Supervised Fine-Tuning with SmolLM3
  5. LoRA: Low-Rank Adaptation of Large Language Models
  6. QLoRA: Efficient Finetuning of Quantized LLMs
  7. Direct Preference Optimization
  8. Lifelong Pretraining: Continually Adapting Language Models to Emerging Corpora