session://14:29:34
~/ / posts / 2015-03-knowledge-distillation.md

Hinton 的知识蒸馏:让小模型喝下大模型的“暗知识”

2015-03-09· 1 min read · [论文解读]
// TL;DR
  • 大模型输出的概率分布(软标签)里藏着类间相似度信息,Hinton 称之为 dark knowledge。
  • 用带温度的 softmax 软化分布,让小模型同时拟合软标签和真实标签。
  • 蒸馏让“训练用大模型、部署用小模型”成为标准做法。

一句话版本

Hinton、Vinyals 和 Dean 这篇论文回答了一个很实际的问题:大模型(或者一堆模型的 ensemble)效果好但太重,怎么把它的本事转移到一个小模型上?答案:别只用 one-hot 标签训练小模型,用大模型输出的概率分布当目标。

直觉在哪?一张宝马车的图片,大模型可能给“垃圾车”0.001 的概率,但给“胡萝卜”只有 0.000001。这种“错误之间的相对关系”就是所谓的暗知识——它编码了类别之间的相似结构,而 one-hot 标签把这些信息全扔了。

# 蒸馏的核心损失(示意)
soft_targets = softmax(teacher_logits / T)
soft_preds   = softmax(student_logits / T)
loss = alpha * kl_div(soft_preds, soft_targets) * T**2 \
     + (1 - alpha) * cross_entropy(student_logits, labels)

为什么我觉得它重要

这篇论文表面上讲模型压缩,实际上提出了一个更深的问题:模型学到的知识到底存在哪?答案显然不只在权重里,也在它对输入的整个响应分布里。从工程角度,蒸馏给了我们一条标准路径:研究阶段堆算力堆出最好的模型,部署阶段蒸馏成小模型上线。这个“教师-学生”范式,感觉会用很多年。

深度学习论文解读工程实践
cat newsletter.txt

每周一封,<5 分钟读完

把这一周我读过、想过、动手做过的东西,压缩成一封信。订阅者目前 5210+ 人,0 干扰。