SFT (Supervised Fine-Tuning)的全称是**"监督微调"**。
它是大语言模型训练的第二阶段,是让 AI 从 "知识储备" 迈向 "实用对话" 的关键一步。
如果说:
预训练是 "读万卷书"(获得知识);
那么 SFT 就是 "上岗实习 ",由人类手把手教学,让 AI 学会如何对话和听懂指令,像是把一个满腹经纶却不知如何表达的学者,培养成能与人顺畅交流的实干者。
我们可以通过以下几个方面来深入理解:
1. 💡 为什么要进行监督微调?
还记得我们刚才说的基座模型(预训练后的产物)吗?它只是一个"续写机器"。
-
基座模型的表现:
-
你问它:"中国的首都是哪里?"
-
它可能会续写成:"...这个问题在小学生地理考试中很常见。日本的首都是东京..."
-
(因为它在互联网上看过太多类似的考卷或文章,它以为你在让它补全文章。)
-
-
我们需要它做什么?
- 我们需要它回答:"中国的首都是北京。"
监督微调的目的,就是把这个"博学的书呆子"改造成一个"懂礼貌、听指挥的助手"。
2. 🛠️ 具体是怎么做的?(Q&A 教学法)
在预训练阶段,数据是海量且无标注的(随便扔给它一本书)。
而在监督微调阶段,数据是高质量且有人工标注的。
人类标注员会编写成千上万组 "对话范例" ,格式通常是 [指令, 理想回答] 的配对。
🎓 教学场景模拟:
人类老师给出的范例数据 (Dataset):
输入 (Prompt): "请把这段话翻译成英文:今天天气真好。"
输出 (Response): "The weather is very good today."
输入 (Prompt): "解释一下量子力学。"
输出 (Response): "量子力学是物理学的一个分支,主要研究微观粒子的运动规律..."
训练过程:
把这些范例喂给模型,告诉它:"看清楚了,以后看到这种提问,就要按这种格式和语气来回答,不要再在那边瞎编故事续写了!"
通过学习这些高质量的问答对,模型学会了指令遵循 (Instruction Following) 的模式。
3. ⚖️ 数据量与质量
与预训练相比:
-
预训练 :数据量极大(万亿级 Token),质量参差不齐。追求广度。
-
监督微调 (SFT) :数据量相对较小(几万到几十万条),但质量极高。追求精度。
这就是为什么很多开源模型(如 Llama 3, Qwen)会发布两个版本:
-
Base 版本(预训练版):适合开发者拿去自己微调,不适合直接对话。
-
Instruct / Chat 版本(SFT 版):已经做过监督微调,可以直接拿来聊天。
4. 🚀 SFT 之后的下一步是什么?
虽然 SFT 让模型学会了说话,但它可能还不够完美。
-
它可能不知道哪种回答更好(更有礼貌、更安全)。
-
它可能还会一本正经地胡说八道。
为了解决这个问题,通常在 SFT 之后,还会有一个第三阶段:
👉 RLHF(基于人类反馈的强化学习)。
🎯 总结
监督微调 (SFT) 就是人类老师拿着标准答案,教 AI 模型如何正确回答问题的过程。
-
输入:懂知识但不懂对话的"基座模型"。
-
过程:投喂大量高质量的"问题+答案"数据。
-
输出:能够理解指令、可以正常交流的"对话模型"。