术语表

知识提炼

了解知识蒸馏如何压缩人工智能模型,以加快推理速度、提高准确性和边缘设备部署效率。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

知识蒸馏Knowledge Distillation)是机器学习(ML)中的一种技术,即训练一个较小的紧凑型模型("学生")来模仿一个较大、较复杂的模型("教师")的行为。其主要目标是将教师模型学到的 "知识 "传授给学生模型,使学生模型能够达到与教师模型相当的性能,但对计算的要求却大大降低,例如体积更小,推理延迟更快。这使得复杂的深度学习(DL)模型可以部署在移动设备或边缘计算平台等资源受限的环境中。Geoffrey Hinton 及其同事在他们的论文《提炼神经网络中的知识》中推广了这一概念。

知识蒸馏的工作原理

这一过程通常包括一个预先训练好的教师模型,它可以是一个功能强大的单一模型,也可以是一个以高精度著称的模型集合。学生模型通常参数较少或架构较浅(如较小的卷积神经网络 (CNN)),然后以教师模型的输出为指导进行训练。学生通常从教师的 "软目标"--教师对所有类别预测的全部概率分布--中学习,而不是只使用训练数据中的硬标签(基本事实)。这些 "软目标 "包含更丰富的信息,说明教师模型如何概括和表示类之间的相似性。一种特殊的损失函数(通常称为 "蒸馏损失")被用来最小化学生预测与教师软目标之间的差异,有时还与使用实际标签计算的标准损失相结合。

益处和重要性

知识蒸馏具有几个关键优势:

  • 模型压缩:创建更小的模型,减少所需的存储空间。
  • 推理速度更快:降低模型复杂度可加快预测速度,这对实时推理应用至关重要。
  • 能源效率:更小的型号耗电量更低,这对电池供电设备和可持续人工智能实践非常重要。参见Ultralytics 环境健康与安全指南
  • 在边缘设备上部署:在内存和处理能力有限的硬件(如Raspberry PiNVIDIA Jetson)上实现强大的人工智能功能。
  • 潜在的性能改进:有时,学生模型的泛化效果会好于直接根据硬标签训练的同类模型,因为它能从教师提供的更丰富的监督信号中学习。

实际应用

知识蒸馏被广泛应用于各个领域:

  1. 计算机视觉:大型物体检测图像分割模型,如复杂版本的 Ultralytics YOLOVision Transformers (ViT) 等复杂版本,可以提炼成适合移动应用程序Ultralytics HUB App)或自动驾驶汽车机器人嵌入式系统的轻量级版本。例如,Intuitivo 利用知识提炼技术将知识从大型基础模型转移到更小、更经济的模型中,用于扩展数百万个自主购买点,大大加快了注释速度(资料来源:YOLO Vision 2023 Talk)
  2. 自然语言处理(NLP):BERTGPT这样的大型语言模型 (LLM)通常会被提炼成较小的版本(例如,DistilBERT 通过 Hugging Face),用于在计算预算有限的设备上执行情感分析问题解答等任务,或用于要求较低延迟的应用,如聊天机器人

相关概念

知识蒸馏与其他模型优化技术既有联系又有区别:

  • 模型剪枝包括从已训练好的网络中删除不太重要的权重或连接,以缩小其规模。蒸馏会训练出一个新的、更小的网络。
  • 模型量化降低模型权重的数值精度(例如,从 32 位浮点数到 8 位整数),以减小体积并加快计算速度,通常与蒸馏同时使用或在蒸馏之后使用。请参见 ONNXTensorRT.
  • 迁移学习重复使用预训练模型的部分内容(通常是主干部分),并在新的数据集或任务上对其进行微调。蒸馏的重点是将教师的预测行为转移到可能不同的学生架构上。
  • 联合学习在不共享原始数据的情况下,通过分散的设备训练模型,注重隐私。蒸馏法侧重于模型压缩。

知识蒸馏(Knowledge Distillation)是一种功能强大的工具,可使最先进的人工智能模型更易于使用且更加高效,从而缩小大规模研究模型与实际现实世界模型部署之间的差距。Ultralytics HUB等平台有助于训练和部署潜在的蒸馏模型,如 YOLOv8YOLO11.

阅读全部