Supervised Fine-Tuning
8/23/26About 2 min
Supervised Fine-Tuning
Supervised Fine-Tuning(SFT)用高质量的输入—目标输出样本,把预训练模型调整为能遵循任务和对话协议的模型。它主要教模型“如何回答”,并不能凭空补足预训练阶段没有学到的事实与能力。
训练目标
对序列 ,常见目标是最小化目标 token 的负对数似然:
是参与损失计算的位置。对话训练通常 mask 掉 system/user token,只在 assistant 输出上计算 loss;工具调用任务还需保留结构化边界与调用结果。
数据比数量更重要
一条 SFT 样本至少包含任务意图、必要上下文、理想回答和格式约束。数据治理需要处理:
- 去重与近重复,避免模型记住模板;
- 难度、领域、语言和输出形式的覆盖;
- 错误事实、不可执行代码和相互冲突的答案;
- 训练集与评测集污染;
- 长度分布与实际请求不匹配;
- 敏感数据、授权和来源追踪。
合成数据可扩大覆盖,但应由可验证规则、强模型或人工抽样把关;模型自生成、自训练若缺少过滤,容易放大原有偏差。
Full Fine-Tuning 与 PEFT
全参数微调容量大、成本高,也更容易发生灾难性遗忘;LoRA 等参数高效方法只训练低秩增量,便于多任务管理与快速迭代。选择取决于数据规模、模型大小、部署方式和目标能力,而不只是显存。
训练配方
- 从可解释的小数据集和强基线开始;
- 按 token 而非样本数观察数据组成;
- 使用学习率 warmup、梯度裁剪与稳定的 packing;
- 同时监控训练 loss、保留验证集与能力回归集;
- 保存 data/model/tokenizer/template 的版本关系;
- 上线前做安全、格式、长上下文与工具调用评估。
若训练 loss 下降但真实任务无提升,应先检查数据分布、模板、mask 和评测设计,而不是直接增加 epoch。
SFT 的边界
SFT 擅长格式、风格、流程和领域适配。偏好冲突、拒答边界和复杂行为通常还需偏好优化;实时或私有知识更适合 RAG;需要可验证多步行动的任务还需 Agent 工具与运行时约束。
延伸:Fine-Tuning · Alignment · Training Systems
