SFT 说明¶
SFT 是当前项目里另一条模型训练主线的基础概念。
SFT 是什么¶
SFT 全称是 Supervised Fine-Tuning,也就是监督微调。
它的基本做法是:
- 准备输入与理想输出的配对样本。
- 把这些样本送给模型训练。
- 让模型在已有能力基础上,更贴近目标场景的回答方式。
在这个项目里,SFT 的作用不是让模型学会“语言是什么”,而是让模型更像一个邮政客服助手。
为什么这里需要 SFT¶
只靠基座模型时,模型虽然已经具备通用对话能力,但它对邮政客服场景的表达、边界、术语和任务格式并不会天然对齐。
因此这里需要用 SFT 做几件事:
- 让模型更贴近邮政客服语气。
- 让模型更熟悉 EMS、中国邮政、物流异常、禁限寄、资费、赔付等场景。
- 让模型更稳定地输出项目里需要的结构化格式。
SFT 和 RAG 的关系¶
这个项目里,SFT 和 RAG 不是替代关系。
它们分别解决的是不同问题:
- SFT 负责让模型“更像这个场景里的助手”。
- RAG 负责让模型“回答时有外部知识依据”。
如果只有 SFT,没有 RAG,模型会更像邮政客服,但面对时效性、规则性很强的问题时,仍然容易脱离知识源自由发挥。
如果只有 RAG,没有 SFT,模型虽然能拿到知识片段,但回答风格、格式稳定性和场景表达未必会对齐。
当前项目里的训练口径¶
在当前整理版里,SFT 主线主要通过 Apple MLX 路线和 LoRA 方式组织。
也就是说:
- 训练形式是 SFT。
- 参数更新方式主要走 LoRA。
这样既保留了监督微调的效果,又控制了训练和实验成本。