有监督微调(SFT)

上一节讲过,经过预训练产出的模型,业界称为 “底座模型”。底座模型虽然肚子里装的知识极其丰富,却有一个致命的毛病:它只会顺着你的话往下接龙,根本不懂什么叫 “回答问题”。

比如,这时候你要是给它输入:

番茄炒蛋怎么做?

底座模型大概率会这样输出:

青椒炒肉怎么做?
酸菜鱼怎么做?

这是因为它在阅读互联网文章时,经常看到这类标题一个挨一个地排在一起。它根本不知道你是在 “提问”,还以为你只是在起草一份文章提纲呢。

为了让它学会像人一样一问一答,我们就得进入大模型训练的第二阶段——有监督微调(SFT)。

什么是有监督微调?

有监督微调,全称是 “Supervised Fine-Tuning(SFT)”。对于这个名字,我们可以拆成两个词来理解。

1. 有监督(Supervised)

在人工智能领域,“有监督” 的意思是:训练数据里包含了 “标准答案”。

有监督微调(SFT)概念图:将提问与标准答案,喂给大模型进行监督训练

2. 微调(Fine-Tuning)

这时候,大模型那几千亿个参数已经基本定型了(语言能力和世界常识都有了)。我们不需要把它的大脑清空重来,只需要使用少量的高质量数据,去稍微调整一下它局部的参数,这就叫 “微调”。

模型微调的本质:像给大学毕业生,做针对性的岗位专业培训

这就好比给一个已经满腹经纶的大学毕业生,专门做上几天岗前培训,教会他怎么做好一份 “绿叶网金牌客服” 的工作。

SFT 是怎么训练的?(核心原理)

SFT 的核心任务,就是让大模型学会 “遵循指令”。一般分两步走。

第一步:人工编写高质量问答

科技大厂会花高薪雇佣各个领域的专家(比如医生、律师、作家等),由他们手工编写规范的对话范本(Prompt 与 Completion)。这些范本通常长这样:

【提问 (Prompt)】:帮我写一封向老板请病假的短消息,语气要委婉。
【回答 (Completion)】:老板您好,非常抱歉打扰您。我今天突发高烧,身体实在不太舒服,想向您请假一天去医院看看。手头紧急的工作我已经交接给了同事。给您添麻烦了,望批准。

SFT 第一步:人工编写高质量问答对数据集,来构建标准指令范本

第二步:让模型死记硬背这个规律

研究人员会把几万条、甚至几十万条这样的高质量问答数据,一股脑喂给底座模型。

大模型在消化这些数据时,底层的参数会随之迅速调整。它会慢慢领悟出一条铁律:“只要用户用某种特定的语气给我下指令,我就得用对应的格式去回答他,而不能再傻乎乎地盲目接龙!”

这里有一个很关键的经验:SFT 拼的不是数据 “”,而是数据 “”。几千条人工精雕细琢的高质量问答,效果往往胜过几百万条粗制滥造的数据。所以这一步的钱,大多花在 “请专家把范本写好” 上,而不是 “一味堆数量” 上。

SFT 第二步:将大量问答数据喂给底座模型,以学会听懂人类指令

为什么大厂和开发者必须死磕 SFT?

既然使用提示词已经能够让大模型帮我们干活了,为什么大厂和开发工程师们,还要费尽心思自己去搞 SFT 微调呢?

这是因为在真实的商业落地中,SFT 有着提示词比不了的几大优势。

1. 100% 遵守格式,绝不多嘴

在企业自动化办公中,我们经常需要大模型将数据输出成指定的格式(如 Excel 表格或 JSON 数据)。

如果只靠提示词去约束,大模型偶尔还是会掉链子,比如多嘴说一句 “好的,以下是为您生成的数据:”。就这一句废话,就可能让企业的后台处理出岔子。

而经过针对性 SFT 微调的大模型,会把严格的输出格式死死刻进脑子里,做到极其稳定的精准输出,几乎不会再多说半个字的废话。

商业落地对比:SFT 微调模型,实现 100% 格式稳定输出与减少废话

2. 掌握企业私密知识

通用大模型,肯定没看过你们公司内部的产品手册、私有的业务流程、或是核心的业务代码。通过收集几千条企业内部的机密文档和标准操作规范来做 SFT,就能让大模型脱胎换骨,变成一个只懂你们公司业务的 “资深金牌员工”。

大模型企业级微调应用:学习内部产品手册与私密业务流程,来构建专属AI

3. 减少冗长提示词,降低 Token 成本

为了让没被微调过的大模型乖乖听话,我们往往要在每次提问前,先给它发长达几千字的 “背景设定” 和 “举例说明”。前面讲过,每次对话都要重复发送这些提示词,会耗掉非常多的 Token,账单自然就高得吓人。

而 SFT 直接把这些规矩和例子 “烧录” 进了模型里,调用时只需要发一句简短的指令它就能心领神会,这能帮企业省下一大笔 Token 成本(在某些场景下,甚至能省下一大半)。

SFT微调优势:缩短提示词长度,并大幅降低大模型API的Token成本

SFT 有什么缺点?

在享受 SFT 这些好处的同时,我们也得留意它的两个缺点。

1. 过拟合灾难

如果微调时给的范例太少、或者翻来覆去都是同一种句式,大模型就会把这些题目“死记硬背”下来。结果就是:用户一旦换个说法提问,它就懵了,只会把背过的原话生搬硬套,显得特别呆板。

这种现象,业界叫作 “过拟合(Overfitting)”。你可以把它理解成:模型读书读成了一个只会死记硬背、不会变通的 “书呆子”。

大模型SFT微调的缺点:过拟合(Overfitting)导致模型死记硬背不灵活

2. 复读机综合征

俗话说 “垃圾进,垃圾出”。如果我们喂给大模型的问答数据本身就啰里啰嗦,大模型就会把这个坏毛病全学过去。在跟用户聊天时,它会固执地使用某几个固定词汇,从而陷入重复说话的死循环。

遇到这种情况,我们就只能使用上一章学过的 “频率惩罚” 参数,来强行压制它了。

大模型SFT微调缺点:复读机综合征与频率惩罚参数应用

扩展知识:拟合(Fitting)

想要理解 “过拟合(Overfitting)”,我们首先得弄明白什么是 “拟合(Fitting)”。

在机器学习和统计学中,“拟合” 就是让模型去 “适应(fit)” 数据的过程,也就是寻找一条规律(通常用数学曲线表示),让它尽可能地贴合我们手里已有的数据点。

为了更直观地理解,你可以把它想象成 “裁缝做衣服”:

  • 数据(Data):就是你的身高、腰围、肩宽等身材尺寸。
  • 模型(Model):就是裁缝要做出来的那件衣服。
  • 拟合(Fitting):就是裁缝根据你的尺寸,不断修改图纸、裁剪布料,让衣服穿在你身上尽可能合身的过程。

在寻找这个 “规律” 的过程中,通常会出现 3 种状态:

1. 欠拟合 (Underfitting) —— “衣服做得太糙”

模型太简单,根本没有学到数据的内在规律。

  • 表现:给它什么问题,它都答不好。
  • 比喻:裁缝偷懒,直接套用了一个均码的直筒大麻袋给你。完全不贴合你的身材,根本没法穿。

2. 良好拟合 (Good Fit / Optimal Fit) —— “衣服刚刚好”

模型恰到好处地抓住了数据的核心规律和整体趋势,不仅对见过的数据表现好,对没见过的新数据(变通能力)也能处理得很好。这是我们训练大模型时的最终目标。

  • 表现:举一反三,融会贯通。
  • 比喻:衣服剪裁得体,既贴合你的身材曲线,又留有合理的活动空间(泛化能力)。你长胖一点点或者做个大动作,衣服依然合身且不会裂开。

3. 过拟合 (Overfitting) —— “衣服做得太死板”

模型太复杂或者被训练了太多次,以至于它把数据里的 “噪音”(偶然出现的错误、无用的细节)也当成真理背了下来。

  • 表现:死记硬背,做过的原题拿满分,稍微换个说法(新数据)直接交白卷。
  • 比喻:裁缝极其死板,做了一件 “真空紧身衣”。它不仅严丝合缝地贴着你的皮肤,甚至连你今天手臂上被蚊子咬的一个包(噪音)都专门缝了一个凸起。结果明天蚊子包消了(遇到了新情况),或者你稍微伸个懒腰,这衣服直接就穿不进去了或者崩裂了。
给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号