知识蒸馏
一句话定位:让小模型(Student)去学大模型(Teacher)的输出分布而非仅学标准答案,从而以远低的推理成本继承大模型的能力。
1. 机制:软标签承载类间相似性
- 硬标签(one-hot 真实标签)只告诉模型”正确答案是猫”;
- 软标签是 Teacher 输出的完整概率分布,它还告诉模型”这张图有 70% 像猫、25% 像狐狸、0.01% 像卡车”——即类间相似性结构。这部分信息(Hinton 称为 dark knowledge)是硬标签完全没有的,也是蒸馏有效的根本原因。
温度(Temperature)T 的作用:
1 | p_i = softmax(z_i / T) |
- T=1 即普通 softmax,Teacher 的分布通常非常尖锐(正确类接近 1),其余类的相对信息被压平、几乎学不到;
- T > 1 使分布变平滑,放大非目标类之间的相对差异,让 Student 能学到这些相似性信息;
- 推理时恢复 T=1。
2. 联合 Loss
Student 用软标签 + 硬标签的加权组合训练:
1 | L = α · L_soft(Student(T), Teacher(T)) + (1-α) · L_hard(Student, 真实标签) |
L_soft通常用 KL 散度,在温度 T 下对齐两者分布(梯度需乘 T² 做尺度补偿);L_hard是常规交叉熵,防止 Student 被 Teacher 的错误带偏;- α 控制两者权重,是主要调参点。
3. 适用场景与工程价值
- 把大模型能力迁到小模型以降本:这是压缩语境下的核心用途——线上用小模型服务,推理成本(显存、延迟、卡数)成倍下降;
- 常见形态:大 LLM 生成高质量输出/推理过程 → 作为训练信号蒸馏到小模型(如生成式蒸馏、思维链蒸馏);
- 与量化/剪枝的区别:蒸馏是换一个更小的模型(结构可自由设计),量化是保持结构降低位宽,剪枝是删掉部分结构。三者可叠加。
在 4.7 的四维评估体系里,”小模型替换(蒸馏)”应与量化、剪枝放在同一张表里比较,而不是被当作另一类问题。
参考:论文《Distilling the Knowledge in a Neural Network》(Hinton et al., 2015)