SFT 是大模型能力构建中非常关键的第三块拼图。
SFT 的全称是 Supervised Fine-Tuning,中文叫监督微调。
如果说预训练(Pre-training)是让模型“读万卷书”变成博学但不懂规矩的“野生书呆子”,那么 SFT 就是 “岗前职业培训” 。它的核心目的是教会模型听懂人话,并按照人类的指令去行事。
为了让你彻底明白,我把它拆解为三个层面:
🎓 核心概念:从“接话茬”到“听指令”
-
SFT 之前(基座模型):
模型读了互联网上所有的书,但它只会做一件事:预测下一个字。- 你输入:“今天天气不错”,它会自动接:“适合出去散步”。
- 但如果你输入:“请把这句话翻译成英文”,它可能还是会接:“好的,这句话翻译成英文是...”,因为它不理解“请翻译”是一个任务,它只把这当成一段需要续写的文本。
-
SFT 之后(聊天模型):
人类准备大量高质量的“指令-回答”数据(比如 1 万到 10 万条),手把手教模型。-
训练数据示例:
- 指令: “请帮我写一首关于春天的诗。”
- 标准回答: “春眠不觉晓,处处闻啼鸟...”
-
通过这种训练,模型学会了:当看到“请写...”、“请翻译...”时,我不应该续写,而是要执行任务并给出结果。
-
🆚 SFT 与 RAG、MCP 的区别
你之前问了 RAG 和 MCP,我们可以把这三个技术放在一起,看看它们分别负责什么:
表格
| 技术 | 形象比喻 | 核心作用 | 解决的问题 |
|---|---|---|---|
| SFT | 职业培训 | 改本能 | 解决模型“听不懂人话”或“不会按要求格式回答”的问题。 |
| RAG | 开卷考试 | 补知识 | 解决模型“知识过时”或“不懂私有数据”的问题。 |
| MCP | 万能插座 | 连工具 | 解决模型“无法操作外部软件/数据”的问题。 |
💡 为什么 SFT 是“刻进骨子里”的?
你在之前的对话中提到过“指令是训练出来的”,这正是 SFT 的作用。
- RAG 是外挂的,关掉数据库,模型就变回原样了。
- SFT 是修改模型参数的。它把“听话”这个能力,通过调整数千亿个参数,深深地刻在了模型的“脑子”里。哪怕没有外部数据库,经过 SFT 的模型依然能听懂你的指令,依然能像人一样对话。
总结:
SFT 就是把一个只会“背书”的基座模型,调教成一个能听懂指令、能进行多轮对话、能遵守特定格式(比如只输出 JSON)的智能助手的过程。