课程来源: 台大李宏毅《生成式人工智慧與機器學習導論》2025 Fall 第7講
影片链接: YouTube 播放列表
投影片: 官方网页
#一、SFT 是什么?
SFT 是大型语言模型训练的第二阶段。
- 目标:把预训练好的 Base Model,变成会「听指令、正常回答问题」的助手。
- 核心做法:人类提供「问题 + 标准答案」的成对数据,让模型学习这些示范。
SFT 和 RLHF 一起被称为 Alignment(对齐),目的是让模型从「会接龙」变成「有用的 AI」。
#二、SFT 的具体方案
#2.1 数据形式
- 人类写好「指令(Instruction)」和对应的「标准回答」。
- 示例:
- 问题:「台灣最高的山是哪座?」
- 标准答案:「玉山。」
- 同时会教模型使用特定的对话模板(如
User:/Assistant:)。
#2.2 训练方式
- 本质上还是在做「文字接龙」(Next Token Prediction)。
- 模型根据人类给的标准答案来调整参数。
- 关键点:SFT 主要不是在教新知识,而是在改变模型的输出风格——从「只会接龙、自说自话」变成「会正确回答问题」。
#2.3 数据量与质量
- 数据量通常很少(因为要人工标注,成本高)。
- Llama 2 只用了约 2.7 万笔 SFT 数据。
- 有研究甚至只用 1000 笔精心挑选的高质量数据就能取得不错效果(LIMA 论文)。
- 质量远比数量重要。低质量数据堆再多也没用。
#2.4 重要限制
- SFT 很难真正注入「全新知识」。
- 如果模型在预训练阶段完全没见过某个知识点,只靠 SFT 很难学会。
- 最有效的是那些模型「可能已经知道」的问题,SFT 负责把正确回答的概率拉高。
#2.5 降低成本的方法
- 用更强的模型(如 GPT-4、Gemini)当「老师」,自动生成标准答案(知识蒸馏)。
- 甚至可以随机找一句话当问题,让强模型续写当答案来训练。
#三、论文中的「奇奇怪怪」技巧
李宏毅老师在课程中提到许多反直觉的研究发现:
| 技巧 | 做法 | 效果 |
|---|---|---|
| LIMA | 只用 1000 条精心挑选的高质量数据 | 43% 的情况媲美或超过 GPT-4 |
| 选最长回答 | 只挑数据集里回答最长的样本来训练 | 效果意外地好 |
| 奇葩数据 | 用无厘头问题数据集(如银行卡煮高压锅) | 反而效果最好 |
| 知识蒸馏 | 用强模型生成标准答案来训练小模型 | 大幅降低成本 |
| NIFT | 网上抓半句话当问题,强模型续写当答案 | 也能激发指令遵循能力 |
| Response Tuning | 不给问题,只让模型看「AI:答案」学风格 | 实际回答效果也不错 |
| 几乎不训练 | 直接用代码调高结束符概率、惩罚重复 | 模型表现大幅提升 |
核心结论:SFT 的成功关键在于用极少但极高质量、多样性强的示范数据,去激活预训练模型已经学到的能力,并教会它正确的回答格式与风格。
#四、一句话总结
用少量、高质量的「问题 + 标准答案」数据,教预训练模型学会人类期望的回答方式和对话格式,从而激发它已经具备的能力。
这也是为什么小公司最常做的就是 SFT——成本相对可控,效果也最直接。