知识蒸馏

别名:Knowledge Distillation / KD / Student Model / Teacher Model / 学生模型 / 教师模型

用教师模型的软标签/分布教学生模型;学生更小更快,但会继承教师偏差。

更新于 2026/11/08
训练蒸馏压缩

一句话定义

知识蒸馏(KD)是用教师模型的输出(软标签/概率分布,或中间特征)指导学生模型训练;学生通常更小、更快,但会继承教师的偏差。

为什么需要它

大模型效果好但部署贵。蒸馏把教师的知识压到小模型,降低延迟/成本;也可用于领域适配、模型合并前的能力迁移。

怎么工作

  1. 教师模型对样本输出 logits/概率。
  2. 用温度 T 软化分布,保留类别间相似性。
  3. 学生同时学硬标签(真实答案)和软标签(教师分布)。
  4. 加权求和 KD loss,反向传播。
  5. 变体:特征/注意力/中间层蒸馏、在线蒸馏、自蒸馏。

软标签是教师 logits 经温度 softmax;KD loss 常是 KL 散度 + 交叉熵。变体包括 response/feature/attention/online/self-distillation,选择取决于学生容量和任务。

数据可以用无标注/伪标签/合成样本,但教师推理有成本。评测要对比学生、教师和同尺寸 baseline,看任务效果、延迟和成本。风险包括继承教师偏差、过拟合教师输出和版权/许可问题。部署时可与量化/剪枝叠加,先小规模验证。

知识蒸馏:教师教学生,不只是抄答案

LLM Distillation

用强 LLM 生成/标注/评分数据,再蒸馏到小模型;数据质量和教师偏差是关键。

关键取舍

  • 学生容量太小会学不动;容量差距要匹配。
  • 温度太高/太低都影响软标签信息量。
  • 教师偏差/错误会被学生继承。
  • 蒸馏不等于量化:一个换模型,一个换数值精度。

常见误区

  • 蒸馏就是复制答案:软标签包含类别间关系。
  • 学生一定比教师差:特定任务/数据上可能更专精。
  • 蒸馏能替代预训练:通常仍需基础训练/数据。
  • 教师越大越好:容量差距过大时收益有限。

用在哪里

  • 小模型/端侧部署。
  • 领域模型压缩、推理加速。
  • 合成数据/伪标签管线。

相关概念

  • SFT:蒸馏常接在 SFT 之后。
  • 预训练:学生的基础能力来源。
  • 数据治理:蒸馏数据的质量控制。