什么是 知识蒸馏?
知识蒸馏是一种模型压缩技术,通过训练较小的「学生」模型来模仿较大「教师」模型的行为,将知识转移以创建保留大部分原始性能的高效模型。
快速了解
| 创建时间 | 2015 年由 Hinton 等人提出 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
知识蒸馏使 AI 能力能够部署在资源受限的环境中。该技术通过让学生模型学习教师输出的软概率分布(logits)而非仅仅是硬标签来工作。这会转移关于类别之间关系的「暗知识」。现代应用包括将 GPT-4 蒸馏成较小的模型、创建高效的推理模型,以及从通用教师构建专业模型。著名的例子包括 DistilBERT 和各种蒸馏的大语言模型。
主要特点
- 将知识从大型教师转移到小型学生
- 使用软标签(概率分布)进行训练
- 比仅使用硬标签训练保留更多知识
- 支持在边缘设备和移动端部署
- 可以组合多个教师进行集成蒸馏
- 温度参数控制分布的软度
常见用途
- 为移动部署创建高效模型
- 在保持质量的同时降低推理成本
- 从通用教师构建专业模型
- 压缩大语言模型
- 边缘 AI 和物联网应用
示例
loading...
Loading code...常见问题
知识蒸馏和模型剪枝有什么区别?
知识蒸馏训练一个较小的学生模型来模仿较大教师模型的输出,转移学到的知识。模型剪枝则是从现有模型中移除不必要的权重。蒸馏创建一个新的、更小的架构,而剪枝是减少现有模型的规模。
为什么温度在知识蒸馏中很重要?
温度软化教师模型的概率分布,揭示更多关于类别之间关系的信息。较高的温度产生更软的分布,传递更多关于类别相似性的「暗知识」,帮助学生学习更好的表示。
知识蒸馏可以用于大语言模型吗?
是的,知识蒸馏广泛用于大语言模型。例如 DistilBERT(从 BERT 蒸馏而来)和各种 GPT 模型的蒸馏版本。它使强大的语言能力能够部署在资源受限的设备上。
使用知识蒸馏通常会损失多少性能?
学生模型通常保留教师 90-99% 的性能,同时体积缩小 2-10 倍。具体性能取决于压缩比、学生架构和蒸馏过程的质量。
什么是集成蒸馏?
集成蒸馏将多个教师模型的知识组合到单个学生中。这可以产生超越任何单个教师的学生,因为它捕获了来自不同模型的互补知识。