SFT(有监督微调)
SFT教模型听指令
亦作、亦称:有监督微调
有监督微调(Supervised Fine-Tuning,SFT)是将预训练基座模型在人工标注的指令-回答数据对上继续训练的过程,目的是让模型从单纯的文本续写,转变为能够理解并执行用户指令的对话助手。它是当前大语言模型对齐流程(如 RLHF)的第一个也是最关键的阶段,数据质量直接决定指令遵循能力的上限。
概述
有监督微调(Supervised Fine-Tuning,SFT)是将预训练基座模型在人工标注的指令-回答数据对上继续训练的过程,目的是让模型从单纯的文本续写,转变为能够理解并执行用户指令的对话助手。它是当前大语言模型对齐流程(如 RLHF)的第一个也是最关键的阶段,数据质量直接决定指令遵循能力的上限。
什么是有监督微调
SFT 是迁移学习在大语言模型对齐中的核心应用形式。
- 基座模型(Base Model)通过海量无标注文本预训练,擅长「续写」但不擅长「听指令」
- SFT 以指令-回答对为训练样本,用标准交叉熵损失做监督学习,损失只计算在回答部分
- 训练目标是让模型在给定指令时,生成与示范回答分布一致的输出
- SFT 通常只需要相对少量的高质量数据(数千至数万条)即可显著提升指令遵循能力
- 训练完成后得到指令模型(instruction model / chat model),是后续奖励模型训练和强化学习(RLHF/DPO)的起点
训练数据格式
SFT 数据的质量直接决定微调效果,格式因应用场景而异。
- instruction-input-output 三元组:最早由 Stanford Alpaca 等工作普及,适合单轮指令任务
- 多轮对话消息列表(messages 格式):包含 system / user / assistant 角色轮次,适合对话场景
- 系统提示(System Prompt):可以在数据中嵌入角色设定,赋予模型特定人格或行为约束
- 数据来源包括:人工标注(如 OpenAI 的标注团队使用约 1.3 万条数据训练 InstructGPT)、Self-Instruct 自动生成、GPT-4 蒸馏(如 Alpaca、Vicuna)
- 数据多样性与准确性优先于单纯数量;低质量数据会导致模型出现幻觉或错误行为
发展脉络
SFT 的演进与大语言模型对齐研究密切相关。
- 2021:Google 发布 FLAN(Wei et al.),在多任务指令混合上微调语言模型,验证指令微调可大幅提升零样本泛化
- 2022:OpenAI 发表 InstructGPT 论文(Ouyang et al.),将 SFT 确立为 RLHF 第一阶段,并证明 1.3B 参数的 InstructGPT 在人类偏好上优于 175B 未对齐的 GPT-3
- 2023:Stanford Alpaca 以 5.2 万条 GPT-3.5 生成数据微调 LLaMA-7B;LIMA(Meta)用 1000 条精选数据媲美大规模 SFT,印证「质量优于数量」
- 2023:QLoRA 提出量化 + LoRA 组合,使单卡 24GB GPU 上对 65B 模型做 SFT 成为可能
- 2024 至今:合成数据大规模应用于 SFT,配合 Constitutional AI 原则成为主流数据策略
训练机制
SFT 的技术细节决定了微调的稳定性与泛化能力。
- 只对回答(output)部分计算损失,指令部分通常被 mask 掉,避免模型过拟合到输入格式
- 学习率一般远低于预训练阶段(如 1e-5 至 2e-5),以防止灾难性遗忘(catastrophic forgetting)
- 常配合 LoRA 等参数高效微调(PEFT)方法,大幅降低显存需求
- 训练轮数(epoch)通常 1-3 轮,过多会导致过拟合和多样性下降
- 数据混合比例(指令类型、领域分布)是影响最终能力的关键超参数
与相邻技术对比
理解 SFT 需要将其与相邻概念区分。
- SFT vs 预训练:预训练在数万亿 token 无标注语料上学语言规律;SFT 在数千到数十万条有标注数据上学行为规范,成本差距数个量级
- SFT vs 指令微调(Instruction Tuning):指令微调是 SFT 的一种特定形式,强调在多任务指令数据上训练以增强零样本能力
- SFT vs RLHF/DPO:SFT 解决「能不能按指令做事」;RLHF/DPO 在 SFT 基础上进一步解决「回答是否符合人类偏好」
- SFT vs 提示工程:提示工程只改变输入,不修改权重,门槛低但能力受限于基座;SFT 改变权重,效果更稳定
- SFT vs RAG:RAG 在推理阶段注入外部知识,不改变模型参数;SFT 在训练阶段改变行为模式,两者互补
局限与误区
SFT 并非万能,有几个关键边界需要清楚认识。
- 不能注入新知识:SFT 只能激活并引导预训练阶段已有能力,无法植入模型从未见过的事实知识;注入知识需继续预训练或 RAG
- 幻觉问题无法根治:即使经过 SFT,模型仍可能生成自信但错误的内容,还需结合 RLHF 或 RAG 缓解
- 对齐税(Alignment Tax):过度 SFT 或数据分布单一,可能导致模型过拟合到特定回答风格,牺牲创造力
- 格式错位(Template Mismatch):训练与推理阶段 chat template 不一致,会造成难以排查的隐性性能损失
- 数据量不等于质量:堆砌低质量数据反而会放大偏见并使模型行为退化
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「教模型听指令」
- 「教它听人话」
- 「指令微调」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 中级概念查看详解 →
什么是指令微调(Instruction Tuning)?它如何让模型学会听从指令?
用多样的(指令,回答)对做有监督微调,让基座模型学会把请求映射为期望回答,并泛化到未见任务。
- 中级概念高频查看详解 →
从预训练到对齐,大模型训练分哪几个阶段?
预训练学语言与世界知识,SFT 学指令格式,RLHF/DPO 对齐人类偏好,三阶段目标依次递进。
- 高级概念高频查看详解 →
RLHF 和 DPO 有什么区别?各自适用什么场景?
RLHF 通过奖励模型 + 强化学习优化偏好;DPO 直接用偏好对优化策略,省去 RM 训练,更稳定易部署。
- 高级概念查看详解 →
模型合并(Model Merging)的核心原理是什么?TIES 和 DARE 解决了什么问题?
模型合并通过算术运算组合多个微调模型的权重,无需额外训练即可获得多任务能力。TIES 解决参数冗余和符号冲突,DARE 用随机丢弃+重缩放进一步稀疏化任务向量。
延伸阅读
从知识库精选 2 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「SFT」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
