概述
它可以支持更有效的部署,但学生的准确性和行为取决于其容量、训练数据和教师信号。
深入探讨
大模型很准确,但部署缓慢且昂贵。知识蒸馏通过让学生从教师的输出中学习而不仅仅是从硬标签中学习,将他们的能力转移到一个紧凑的模型中。 Hinton 及其同事的关键见解是,教师的完整概率分布带有“暗知识”:即使它预测“狗”,“狼”与“汽车”的相对概率也揭示了教师如何看待相似之处。用温度软化这些概率会暴露该结构,学生会接受训练来匹配它,通常与真实的标签一起。目标是成为一名高效的学生,并受益于教师的监督;必须衡量任务和实施的实际准确性和速度。 DistilBERT 和 TinyBERT 是著名的蒸馏语言模型。
现实世界的实施
DistilBERT 将 BERT 的参数压缩了大约 40%,同时保留了大部分语言理解,以实现更快的推理。
缩小大型视觉模型,以便图像分类器可以在智能手机相机应用程序上实时运行。
将大模型的思维链推理提炼成更小的模型,使其更便宜地回答数学或编码问题。
将模型集合压缩为单个学生,从而降低生产服务成本和延迟,而不会损失太多准确性。
知识蒸馏的未来
蒸馏现在是交付高效模型的标准步骤,并且是当今小型、功能强大的开放模型浪潮的核心。一个快速增长的趋势是从大型语言模型中进行序列级蒸馏,其中强大的模型生成训练数据或推理轨迹(包括思维链)来教授较小的学生,从而模糊了与合成数据的界限。当从输出成为竞争对手训练信号的专有模型中提取时,预计会与量化和修剪进行更紧密的配对,更多的设备上部署,以及有关许可和质量的持续争论。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是知识蒸馏?
知识蒸馏使用教师模型的输出或表示作为监督来训练学生模型。它可以支持更有效的部署,但学生的准确性和行为取决于其容量、训练数据和教师信号。
在知识蒸馏中,训练的学生模型是做什么的?
蒸馏将大教师的能力转化为紧凑、更快的学生模型。
老师的“暗知识”是什么意思?
暗知识是老师全概率分布中的结构,就像“狼”和“狗”有多相似,而不仅仅是最上面的答案。
温度 (T) 在蒸馏中起什么作用?
较高的温度使概率分布变得平坦,揭示了学生应该学习的相对相似性。
经典的蒸馏损失结合了哪两个组成部分?
学生匹配老师的软化分布(KL 项),同时也拟合真实标签(交叉熵)。
哪个是蒸馏语言模型的示例?
DistilBERT 是从 BERT 中提炼出来的著名模型,以更少的参数保留了大部分性能。