SFT 全流程实操:从数据到可用模型

05-对齐微调 核心≈ 30 分钟 #SFT#全流程#实操 reviewed
我的状态:

前置知识点

一句话定义

SFT(Supervised Fine-Tuning)实操是把前六个模块串成一条可复现的流水线:定目标 → 造数据 → 配模板 → 训练 → 评估 → 迭代归档,产出第一个可用的领域模型。

为什么重要

单个知识点都懂、串不成线,是「看完教程仍做不出东西」的原因。本节提供一条带时间预算与检查点的标准流程,照着走可以避开 80% 的返工;它也是后续 DPO(kp-022)与部署(kp-028)的母流程。

前置知识

kp-010 数据构造完成且已清洗;kp-016 超参起点表已就位。

核心概念

  • 8 步流程:目标定义(可度量验收指标)→ 数据构造冻结 → 模板确认 → 训练配置 → 冒烟训练 → 全量训练与监控 → 双评测验收 → 归档迭代。
  • base vs instruct 起点:base 学新格式自由度大但需更多数据;instruct 已会对话,少量数据即可微调风格与流程——多数业务场景选 instruct。
  • 冒烟训练:先用 50 条数据 + 少步数验证全链路,再投全量。
  • 验收指标:训练前定义(格式遵从率、抽检合格率、领域评测分),避免「训完再编标准」。

原理与机制

流程各步的失败传染性自前向后递减:目标不清则验收失据,数据差则一切白费,模板错则训练无效,超参错可重训补救。因此投入时间应前重后轻。时间预算参考(单张 4090):7B QLoRA、4000 条、seq 1024、3 epoch 约 1-2 小时;14B 约 3-5 小时。判断起点用 instruct 的机制原因:instruct 模型已具备指令遵循先验,SFT 只需把「领域分布」叠上去,样本效率高;base 起点的优势在于摆脱既有对齐风格(如拒绝回答的模式),需要时才选。

图示

①目标&指标 ─► ②数据冻结 ─► ③模板核对 ─► ④配置(kp-016起点表)
      ▲                                      │
      │                                      ▼
 ⑧归档迭代 ◄─ ⑦双评测验收 ◄─ ⑥全量训练+监控 ◄─ ⑤冒烟50条
                                    (kp-019 监控体系)

直观类比

像新菜上线:先定「好吃的标准」(验收指标),再备料(数据),核对菜谱格式(模板),小灶试做(冒烟),大锅出品(全量),试吃评审(双评测),最后把配方归档(可复现)。

实例或案例

医疗问答助手项目全程记录:①指标=格式遵从率 95% + 医生抽检合格率 80%;②4100 条冻结数据(kp-010 案例);③Qwen 模板 decode 核对无误(kp-014);④QLoRA r=16、lr 2e-4、B_eff 64、2 epoch;⑤冒烟 50 条 200 步,loss 正常下降、输出格式初现;⑥全量 1.5 小时,eval loss 第 1.5 epoch 拐平即取 best checkpoint;⑦双评测通过;⑧数据版本、配置、adapter、评测报告打包归档。全程约半个工作日。

操作步骤

  1. 写一页项目卡:任务、失败模式、验收指标、数据预算、时间预算。
  2. 数据冻结(kp-010 步骤 5),生成数据卡片(条数、来源、清洗剔除率)。
  3. 核对模板与 label masking(kp-014 步骤 3-4)。
  4. 按 kp-016 起点表填配置,先跑冒烟(50 条、200 步)确认 loss 下降、输出趋格式化。
  5. 全量训练并挂监控(kp-019):曲线、eval、定期抽查生成。
  6. 双评测验收:领域评测 + 通用回归(kp-025/kp-020)。
  7. 归档:数据版本 + 完整配置 + adapter + 评测报告,缺一不可复现。

排错清单

  • 冒烟就学不动:按 kp-030 的顺序查——先看 10 条样本能否过拟合,再查模板与 lr。
  • 全量后格式时好时坏:数据格式一致性不足,回 kp-010 抽检。
  • 领域分达标但通用塌方:回 kp-020 的缓解序列。
  • 训练完成后发现指标定义有歧义:停下重定义并补标注,不要带病上线。

常见误区

  • 跳过冒烟直接全量:链路问题(模板/数据/精度)应在前 10 分钟暴露,不是 2 小时后。
  • 验收指标事后编:先训后定标准会让「成功」失去意义,也无法横向比较迭代版本。
  • 不归档:三个月后「v2 比 v1 好在哪」答不上来,等于团队失忆。

与其他知识点的关系

偏好优化是 SFT 之后的下一阶段,见 kp-022;产出如何交付部署见 kp-028;流程中所有异常的系统手册见 kp-030。

延伸阅读

本节不适用:SFT 流程是工程综合实践,各环节的经典文献已在对应知识点给出。

自测题

  1. 为什么多数业务场景选 instruct 模型做 SFT 起点?

答:instruct 已具备指令遵循与对话先验,SFT 只需叠加领域分布,样本效率高;base 仅在需要摆脱既有对齐风格时选用。

  1. 冒烟训练要验证什么?

答:全链路正确性——数据能读、模板渲染对、loss 正常下降、输出开始趋格式化,把链路问题挡在全量训练之前。

  1. 归档至少要包含哪四样?

答:冻结的数据版本、完整训练配置、adapter(或合并权重)、双评测报告。

相关知识点