术语表

模型修剪

通过模型剪枝优化机器学习模型。针对资源有限的部署,实现更快的推理、更少的内存使用和更高的能效。

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

了解更多

模型剪枝是机器学习中的一项重要技术,主要用于优化训练有素的模型。它通过降低模型的复杂度和大小来精简模型,具体做法是删除神经网络中的权重和连接等不太重要的参数。这一过程使模型更加高效,而不会明显牺牲性能,从而带来更快的处理速度、更少的内存使用和更低的能耗等优势,尤其有利于在资源有限的环境中部署。

为什么使用模型修剪?

采用模型剪枝有几个令人信服的理由。首先,它大大缩小了机器学习模型的大小,使其更容易部署到存储空间有限的设备上,如手机或边缘系统。更小的模型还能加快推理速度,因为生成预测所需的计算量更少。这种速度提升对于实时应用(如自动驾驶汽车中的物体检测实时视频分析)至关重要。此外,修剪后的模型能耗更低,这对于使用电池的设备和旨在实现可持续人工智能实践的大型数据中心来说是一个至关重要的优势。

模型修剪类型

模型修剪大致可分为两大类:

  • 权重剪枝:这种技术主要是去除神经网络中的单个权重。它可进一步分为结构化修剪和非结构化修剪。非结构化修剪会删除单个权重,而不考虑其位置,从而导致稀疏性,但可能会导致不规则的内存访问模式。另一方面,结构化剪枝会移除整个结构,如过滤器或通道,从而生成更紧凑、硬件更友好的模型。
  • 神经元修剪神经元剪枝也称为节点或单元剪枝,是指从神经网络中删除整个神经元或节点。与权重剪枝相比,这种方法能更有效地简化网络架构,有时还能带来更显著的提速和模型尺寸的缩小。

模型剪枝与其他优化技术的比较

模型剪枝通过删除参数来缩小模型大小,而模型量化知识提炼等其他技术则提供了替代优化策略。量化降低了权重的精度(例如,从 32 位浮点到 8 位整数),这也在不改变模型结构的情况下减小了模型大小并加快了计算速度。知识提炼可以训练一个较小的 "学生 "模型来模仿一个较大、较复杂的 "教师 "模型的行为。这些技术通常与剪枝技术结合使用,以提高效率。例如,可以首先对模型进行剪枝,以缩小其规模,然后对其进行量化,以进一步优化其部署性能。

模型剪枝的实际应用

模型剪枝被广泛应用于各个领域,尤其是在计算资源有限或效率至关重要的情况下。一些主要应用包括

  • 移动和边缘设备在移动设备上部署Ultralytics YOLO 模型进行实时物体检测和图像处理需要高效的模型。剪枝技术有助于减少模型大小和延迟,使在智能手机和物联网设备上运行复杂的人工智能任务变得可行。
  • 自动驾驶汽车:自动驾驶汽车需要根据传感器数据快速做出决策。剪枝模型可确保行人检测和车道保持等关键任务的快速推理,在这些任务中,低延迟对安全至关重要。

结论

模型剪枝是部署高效机器学习模型的重要优化技术。Ultralytics 提供了一整套工具和资源,帮助用户优化模型,包括剪枝等技术,以提高计算机视觉应用在不同部署场景下的实用性和效率。

阅读全部