把聊天总结成笔记,不是模型蒸馏;写一份 Skill,也不会改变模型参数。它们分别解决知识保存与流程复用。

模型蒸馏用教师模型的输出或分布作为训练信号,让学生模型学习相应行为。学生往往更小或部署成本更低,但“教师一定更大”不是定义的必要条件。

三种做法,改变的是不同层

做法改变什么适合解决的问题
整理项目记忆、Skill运行时提供的材料和流程重复交代项目事实与步骤
检索增强(RAG)回答时取得的外部资料私有知识、经常更新的信息
模型蒸馏学生模型的参数稳定任务的成本、延迟或部署限制

“把官网资料蒸馏成一本手册”在日常语言里可能指整理压缩,但没有发生训练时,不应把它说成掌握了模型蒸馏技术。

经典蒸馏与输出蒸馏

Hinton 等人的论文使用教师的软目标:除了正确标签,还让学生学习各类别的相对概率。温度缩放可以使分布更平滑,训练时同时匹配教师分布与真实标签。

例如一个演示用分布

开发测试:0.70
网络检测:0.25
其他:    0.05

它比单独的“开发测试”标签多表达了一层相似性,但这些数字必须来自真实可访问的模型信号。让聊天模型随口写“置信度 0.70”,不等于取得了 softmax 概率。

闭源接口未提供分布时,可以在条款允许下收集教师正常输出,审核后作为输入—输出训练对。这通常称为输出蒸馏;不需要也不应索取隐藏的内部思维过程。

教学例子:给工具说明分类

假设你维护一个很大的工具目录,每条新收录都要分到固定类别。这是假设业务;本站只有少量工具,没有为它训练模型的必要。

输入和教师候选输出可以长这样:

{
  "input": "查询域名的 A、AAAA 和 MX 记录",
  "teacher_output": {"category": "网络检测"},
  "review": "人工确认"
}

这个对象是数据记录示例,不是某家微调 API 的上传格式。开始训练前,要按目标模型支持的格式转换。

另一个输入“格式化 JSON”应归开发测试;“同时提供账号管理和网络测试”可能需要多标签或人工处理。先把规则定清楚,不能让教师替你悄悄发明分类标准。

真正实施时要做的六步

  1. 先跑基线。 用规则、小模型加少量例子、教师模型分别分类,看错误和耗时。简单关键词规则足够时不训练。
  2. 先划分数据。 对获授权、已脱敏的输入去重,将同源变体放同组,再划训练、验证与留出测试集。
  3. 生成并审核教师答案。 检查类别合法、边界合理、无隐私泄漏;教师答错的样本不能当金标准。
  4. 训练学生。 选择确实支持训练、数据用途允许的模型与环境;保留数据版本和训练配置。
  5. 用未参与训练的样本评估。 分类别看准确性与高风险错误,比较原始学生与蒸馏学生,不只比较教师。
  6. 小范围试用并保留回退。 输入分布或分类规则变化后重新检查,不把旧学生当成最新业务知识。

留出答案不用于筛选训练样本、调整提示词或挑选 checkpoint。否则最终分数已经参与优化,不能再作为独立证据。

怎样判断成本值得

使用不对应真实报价的演算单位

数据整理与训练的固定成本:1000 单位
每次调用节约的净成本:0.01 单位
忽略维护、重试与失败损失时,回本量:100000 次调用

一旦计入人工审核、回退到教师的调用和后续维护,回本量还会变化。只有几十条手动分类任务,训练可能比直接处理更贵。

产品接口要单独核对

OpenAI 的 model optimization 文档目前包含 Evals 与 fine-tuning 平台迁移/退役提示。本文不沿用旧产品文章里的“一键蒸馏”操作,也不保证某个账号、模型或接口仍可训练。

实施前重新核对可用模型、训练入口、输入输出的使用条款及数据授权。对个人 AI 手册而言,先把例子、记忆、Skill 和评估做好,通常比准备训练更贴近当前问题。