资讯

知识蒸馏是什么?让大模型“老师”教出小模型“学生”

2026-11-052 分钟阅读百科
TL;DR知识蒸馏(Knowledge Distillation)是把大型预训练模型(教师)学到的知识转移给较小模型(学生)的技术,学生模型模仿教师的输出概率分布等信息,以较小的规模获得接近教师的效果,是模型压缩和部署的常用方法,由 Hinton 等人在 2015 年推广。

知识蒸馏(Knowledge Distillation)是把大模型学到的知识转移到小模型上的机器学习技术。大型的预训练模型被称为“教师模型”,较小的模型被称为“学生模型”。它在深度学习中被用作模型压缩和知识迁移的一种方式,特别适用于大规模的深度神经网络。这一方法由 Geoffrey Hinton 等人在 2015 年的论文《蒸馏神经网络中的知识》中推广开来,此前 Buciluǎ 等人在 2006 年就提出过类似的模型压缩思想。

为什么需要它

大模型效果好,但运行起来又慢又贵,难以部署到手机、摄像头等资源有限的设备上,也难以支撑海量的在线请求。直接训练一个同样大小的小模型,效果往往远不如大模型。知识蒸馏的目标,是让小模型在保持较小规模的同时,尽可能地获得接近大模型的能力。

它是怎么做的

常规训练一个分类模型时,用的是“硬标签”:一张猫的图片,标签就是“猫”,其他类别都是 0。但一个训练好的大模型,输出的是对所有类别的概率分布,比如这张图是猫的概率是 90%,是老虎的概率是 8%,是狗的概率是 1%,是汽车的概率接近 0。这个分布里蕴含着很多有用的信息:它告诉我们,这只猫和老虎有一定的相似之处,和汽车则毫不相干。Hinton 把这种信息称为“暗知识”。

知识蒸馏让学生模型去学习教师模型输出的这种“软标签”,而不只是硬标签。为了让分布中那些小概率的信息更明显,通常会用一个“温度”参数把概率分布变得更平滑。学生模型同时学习软标签和真实的硬标签,从而学到教师模型对类别之间关系的理解,比只用硬标签训练效果更好。除了模仿最终的输出,学生也可以模仿教师模型中间层的特征、注意力分布等。

在大模型时代

知识蒸馏在大模型时代变得更加重要。很多小模型是通过从大模型蒸馏得到的:比如 DistilBERT 是 BERT 的蒸馏版本,参数减少约 40%,速度快约 60%,保留了大部分能力。对于大语言模型,一种常见的做法是用强大的教师模型生成大量高质量的回答或推理过程,再用这些数据训练小模型。DeepSeek 发布 R1 推理模型时,就把它的推理能力蒸馏到了多个基于 Qwen 和 Llama 的小模型上,让小模型也获得了不错的推理能力。不过需要注意,用某些商业模型的输出来训练其他模型,可能违反其服务条款。