TIP
AI-generated content; reviewed by a human.
知识蒸馏(Knowledge Distillation, KD)的基本思想是:除了真实标签,还让学生模型拟合教师模型的输出分布。
one-hot 标签只告诉学生“这个样本属于第 3 类”,教师的概率分布还可能提供额外信息,例如“它更容易被误判为第 7 类,而不像第 1 类”。这类额外信息通常称为暗知识(dark knowledge)。它可能编码教师学到的类别混淆关系和泛化规律,因此一个软目标样本能够提供比单个标签更丰富的监督信号。不过,这些信息的质量仍取决于教师模型本身。[1]
问题在于,当教师模型对正确类别的预测非常确信时,其他类别的概率可能都很小。这些小概率之间的相对比例可能包含有用信息,却不一定能在原始概率尺度下对训练产生足够大的影响。
温度(Temperature)可以调节输出分布的平滑程度。增大温度会抬高非目标类别的相对概率,使它们之间的差异更容易进入训练信号。但温度并不是越高越好:当温度趋于无穷大时,分布会趋近均匀分布。
本文从温度 Softmax 出发,推导经典知识蒸馏损失中的 补偿项,并讨论相关方法在大语言模型蒸馏中的延伸。
为统一符号,设分类任务有 个类别,教师模型的 logits 为 ,学生模型的 logits 为 。对应的教师概率记为 ,学生概率记为 。
1. 温度
带温度的 Softmax 定义为
教师模型的软目标采用同样的定义:
其中 为温度参数。
当 时,就是普通 Softmax。当 时,分布会变得更加平滑;随着 ,概率趋向均匀分布。
对于任意正温度,Softmax 都保留 logits 的大小顺序,因此
温度改变的是概率分布的尺度,而不是预测类别的排序。对于蒸馏而言,适当提高温度可以让非目标类别的概率不再过于接近零,使它们之间的相对关系更容易影响学生模型的训练。
2. 损失函数
令真实标签为 ,通常用 one-hot 向量表示。经典知识蒸馏损失可写为
其中:
- 第一项是软目标蒸馏损失,用温度 软化教师和学生的概率分布。
- 第二项是真实标签交叉熵,使用 的学生预测。
- 用于平衡两项损失。
- 是经典蒸馏方法中用于补偿高温梯度衰减的因子。[1]
KL 散度定义为
由于教师分布 固定,第一项 与学生 logits 无关。因此,对学生 logits 求导时,KL 散度与交叉熵
具有相同的梯度。
注意, 的合适取值取决于任务、模型和数据,不能认为所有蒸馏任务都存在统一的最佳范围。即使显式损失系数相同,两项损失对参数更新的实际贡献也不一定相同。
3. 为什么要乘
3.1. 梯度
记软目标蒸馏损失为
其中 、。教师分布不随学生 logits 变化。
因为 KL 散度与交叉熵对学生 logits 的导数相同,所以
带温度的 Softmax 导数为
其中 是 Kronecker delta:
将 Softmax 导数代入梯度表达式:
由于教师概率满足 ,得到
梯度中已经出现了一个 。但这还不是全部:高温下,教师和学生的概率差 也会按 衰减。
3.2. 高温下的概率分布
为了看清概率差如何随温度变化,下面推导 时的近似表达式。
首先,Softmax 对 logits 的整体平移不变。对任意常数 ,
因此,可以分别将教师和学生 logits 减去各自的均值,而不改变它们对应的概率分布。为简化符号,下文仍将中心化后的 logits 记为 和 ,于是
下面令 ,并假设 logits 和类别数 固定。定义
这样有
且当 时,。
对 ,根据带拉格朗日余项的一阶泰勒展开,
所以余项满足
将其用于分子:
再看分母。由于 logits 已中心化,线性项之和为零:
其中
把分母中的 提出来:
记
由上式可知 。当 足够小时,有 ,因此可以使用
这里的 本身也是 ,不能误认为它是常数项;而 ,属于更高阶项。因此
代回式 (9),得
对教师分布采用同样的展开:
两式相减,常数项抵消:
这说明在高温极限下,教师与学生的概率差的主项也按 衰减。
这里的渐近结论是在 logits 和类别数固定的条件下成立的。余项中的常数可以依赖这些固定值。
3.3. 合并两部分结果
将式 (13) 代入式 (3):
由于 ,所以
因此,未乘温度补偿因子的蒸馏梯度,其主项按 衰减。原因有两个:
- Softmax 求导本身带有一个 。
- 高温下,教师和学生的概率差 的主项也按 衰减。
对蒸馏损失乘上 后,
因为 ,余项为 。于是,在高温近似下,梯度主项不再随温度增大而衰减。
这就是经典知识蒸馏中使用 的原因:补偿高温带来的主导梯度缩放,使改变温度时软目标损失与硬目标损失的相对贡献大致保持稳定。 [1]
不过, 并不能保证有限温度下两项损失的实际梯度贡献完全相等。实际训练效果仍然取决于教师和学生的预测分布、数据、模型状态、损失权重以及损失的归约方式等因素。
4. Softmax 的导数
上一节使用了带温度 Softmax 的导数。下面从头推导该公式。
令
4.1. 当 时
分子和分母都依赖 ,使用商法则:
4.2. 当 时
此时分子 不依赖 ,只有分母发生变化:
4.3. 合并表达式
用 Kronecker delta 将两种情况合并:
其中
验证可知:
- 当 时,式 (18) 变为 ,与式 (16) 一致。
- 当 时,式 (18) 变为 ,与式 (17) 一致。
因此,式 (18) 正是带温度 Softmax 的雅可比矩阵元素。
5. 经典蒸馏与大语言模型蒸馏
前面的公式描述的是经典的、基于输出概率分布的知识蒸馏。在这一设置下,教师向学生提供软目标,学生通过 KL 散度拟合教师分布,并可以结合真实标签训练。[1]
在大语言模型中,“蒸馏”还可能指其他形式的知识迁移。例如,教师可以生成推理过程或回答,再用这些生成数据对较小的学生模型进行监督微调。这种做法传递的是教师生成的文本行为,不一定直接计算每个 token 上完整的教师概率分布与学生概率分布之间的 KL 散度。
近年来的一些代表性工作包括:
- DeepSeek-R1:通过强化学习提升推理能力,并利用教师模型生成的推理数据训练较小模型。[2]
- On-Policy Distillation of Language Models:研究如何在学生自身生成的序列上获取教师反馈,缓解学生训练时的输入分布与实际生成分布不一致的问题。[3]
- MiniLLM:提出面向大语言模型的蒸馏方法,使用反向 KL 散度改变学生拟合教师分布的方式。[4]
这些工作说明,大模型蒸馏不只有一种实现方式。前向 KL、反向 KL、教师生成数据以及学生自生成序列,解决的问题和训练目标都可能不同。因此,不能把所有大模型蒸馏方法都视为式 (2) 的直接应用。
6. 参考资料
经典知识蒸馏
-
Hinton, G., Vinyals, O., & Dean, J. Distilling the Knowledge in a Neural Network. arXiv:1503.02531, 2015.
https://arxiv.org/abs/1503.02531本文公式 (1)–(3) 和 温度补偿解释的核心参考文献。 重点参考该文关于软目标、温度以及高温下梯度缩放的讨论。
大语言模型蒸馏与推理能力迁移
-
Guo, D. et al. DeepSeek-R1 incentivizes reasoning in LLMs through reinforcement learning. Nature, 645, 633–638 (2025).
https://doi.org/10.1038/s41586-025-09422-z原始预印本:DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948, 2025.
https://arxiv.org/abs/2501.12948可用于了解推理模型训练及通过生成的推理数据向较小模型迁移能力的做法。它并非式 (2) 中 KL 散度与 补偿的直接推导来源。
-
Agarwal, R. et al. On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes. International Conference on Learning Representations (ICLR), 2024.
https://arxiv.org/abs/2306.13649
ICLR 论文页面重点关注学生自生成序列、教师反馈,以及训练分布与实际生成分布之间的关系。
-
Gu, Y., Dong, L., Wei, F., & Huang, M. MiniLLM: Knowledge Distillation of Large Language Models. International Conference on Learning Representations (ICLR), 2024.
https://arxiv.org/abs/2306.08543
ICLR 论文页面重点关注反向 KL 蒸馏目标及其与经典前向 KL 蒸馏的区别。