术语表

知识提炼

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

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

了解更多

知识蒸馏(Knowledge Distillation)是机器学习中的一种模型压缩技术,用于将大型复杂模型("教师 "模型)中的知识转移到更小更简单的模型("学生 "模型)中。其目的是训练学生模型,使其性能与教师模型相当,尽管学生模型的参数更少,计算成本更低。这对于在资源有限的设备上部署模型或在需要快速推理的应用中特别有用。

知识蒸馏的工作原理

知识蒸馏的核心思想是,除了硬标签(地面实况)之外,还使用教师模型的软输出(概率)作为学生模型的训练目标。教师模型通常在庞大的数据集上经过预先训练,能够捕捉数据中错综复杂的关系,并具有良好的泛化能力。通过从这些软目标中学习,学生模型可以学习到比仅从硬标签中学习更丰富的信息。这一过程通常包括在教师推理过程中使用较高的 softmax 函数 "温度 "来软化概率分布,从而为学生提供更细致入微的信息。

优势和应用

知识蒸馏具有多种优势,因此在各种人工智能应用中都是一项宝贵的技术:

知识蒸馏在现实世界中的应用非常广泛:

  • 自然语言处理 (NLP):在 NLP 中,知识蒸馏可用于将GPT-3BERT等大型语言模型压缩成更小、更高效的模型,以用于移动或边缘部署。例如,经过蒸馏的模型可以在移动设备上进行情感分析,而无需云连接。
  • 计算机视觉Ultralytics YOLOv8或类似的物体检测模型可以提炼出来,部署到边缘设备的实时应用中。例如,在智慧城市中,经过提炼的模型可直接在交通路口的边缘计算设备上运行,用于高效的交通监控和管理。另一个应用是医疗图像分析,经过提炼的模型可以在医疗点提供更快的初步诊断。

知识蒸馏与模型剪枝和量化

虽然知识蒸馏是一种模型压缩技术,但它不同于模型剪枝模型量化等其他方法。模型剪枝是通过删除不那么重要的连接(权重)来缩小模型的大小,而模型量化则是通过降低模型权重的精度来减少内存和计算量。知识蒸馏则是利用较大模型的知识从头开始训练一个新的、较小的模型。这些技术还可以结合使用;例如,可以对提炼出的模型进一步剪枝或量化,以达到更高的压缩率和效率。索尼的模型压缩工具包(MCT)OpenVINO等工具可用于在蒸馏后进一步优化模型,以便进行边缘部署。

阅读全部