深圳Yolo 视觉
深圳
立即加入
词汇表

知识蒸馏

了解知识蒸馏如何压缩 AI 模型,以实现更快的推理、更高的准确性和边缘设备部署效率。

知识蒸馏是一种复杂的 模型优化策略。 知识蒸馏是机器学习中一种复杂的模型优化策略。 学生 "模型进行训练,以重现更大、更复杂的 "教师 "模型的性能和行为。 "教师 "模型的性能和行为。其主要目标是将泛化能力和 "知识" 从庞大的教师网络转移到较小的学生网络。通过这一过程,可以在资源有限的硬件上 在资源有限的硬件上部署高精度模型,如 边缘计算设备上部署高精度模型,而不会出现 在较小的架构中,精度通常会大幅下降。通过压缩信息,开发人员 可以实现更快的推理延迟和更少的 内存使用量,同时保持强大的预测能力。

知识蒸馏的工作原理

这一过程依赖于 "软标签 "的概念。在标准的 监督学习中,模型是根据 训练数据中的 "硬标签"(例如,一张图像 100% 是 "猫",0% 是 "狗")来训练模型、 一张图片 100% 是 "猫",0% 是 "狗")。然而,预先训练的教师模型会产生 然而,预先训练好的教师模型会在所有类别中产生概率分布,即所谓的 "软标签"。例如,教师可能会预测一幅图像 90%是猫、9%是狗、1%是汽车。这些软标签包含了关于类之间关系的丰富信息。 表明特定的猫看起来有点像狗。

在提炼过程中,对学生模型进行训练,使其预测结果与教师软标签之间的差异最小化。 软标签之间的差值,通常使用特定的 损失函数,如库尔巴克-莱伯勒发散。这样 这样,学生就能学习到教师已经发现的 "暗知识 "或数据的细微结构。 的细微结构。对于基础知识的理解,研究人员通常会参考 Geoffrey Hinton 的开创性论文

虽然库通常会在内部处理复杂的损耗计算,但初始化一个学生模型进行训练 是实际操作的第一步。下面是加载轻量级学生模型的方法,例如 YOLO11 使用 ultralytics 包装

from ultralytics import YOLO

# Load a lightweight student model (YOLO11n)
# 'n' stands for nano, the smallest and fastest version
student_model = YOLO("yolo11n.pt")

# Train the student model on a dataset
# In a distillation workflow, this training would be guided by a teacher model's outputs
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

实际应用

在效率与准确性同样重要的行业中,知识蒸馏至关重要。

  • 移动计算机视觉:在需要 在需要实时推理的场景中,如自动驾驶无人机或智能手机上的增强现实应用 无人机或智能手机上的增强现实应用等需要实时推理的场景中,部署大规模模型是不可行的。工程师将大型 物体检测模型提炼成高效版本 如 YOLO11n。这样就能确保应用程序在移动处理器(如 高通 Snapdragon等移动处理器上流畅运行,而不会耗尽电池,同时还能 正确识别物体。
  • 自然语言处理(NLP):大型语言模型(LLM)往往过于繁琐,无法直接部署。 部署。蒸馏技术可用于创建更小、更快的版本(如 DistilBERT),这些版本保留了其较大版本的大部分 语言建模功能。 的大部分语言建模功能。这样,语音助手和聊天机器人就能以更低的延迟运行,提供更好的用户体验。 体验。

区分相关优化术语

必须将知识蒸馏与其他用于提高模型效率的技术区分开来,因为它们的工作原理不同。 它们的工作原理不同。

  • 模型修剪这种技术 从现有的训练有素的网络中删除多余的神经元或连接(权重),以缩小其规模。 其规模。与从头开始训练新的学生架构的蒸馏不同,剪枝修改了原模型的结构 原始模型的结构。
  • 模型量化 量化:降低模型数值权重的精度,例如将 32 位浮点数转换为 8 位整数。 数转换为 8 位整数。这样可以减小模型大小,加快在 TPU 等硬件上的计算速度。 TPU 等硬件上的计算速度,但不一定会改变 网络架构。
  • 迁移学习这种 这种方法是将预先训练好的模型 针对不同的任务,在新的数据集上对其进行微调。 虽然两者都涉及知识转移,但转移学习是关于领域适应(例如,将ImageNet 转换为医用 X射线),而蒸馏法侧重于将相同任务的知识从大型模型压缩到小型模型。

通过将这些技术相结合--例如,将教师提炼为学生,然后进行量化--开发人员可以最大限度地提高嵌入式系统的性能。 就能最大限度地提高嵌入式系统的性能。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入