术语表

修剪

通过剪枝优化人工智能模型--降低复杂性、提高效率,并在不牺牲性能的情况下更快地部署到边缘设备上。

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

了解更多

在人工智能和机器学习领域,剪枝指的是通过删除不那么重要的连接或参数来降低模型复杂度的技术。这一过程旨在精简模型,使其在计算和内存使用方面更有效率,同时又不会明显影响其准确性。当在资源受限的设备上部署模型或旨在加快推理速度时,剪枝技术尤为重要。

修剪的意义

剪枝的主要意义在于优化模型。随着深度学习模型的规模和复杂性不断增加,以实现更高的准确性,它们变得计算昂贵、内存密集。这给部署带来了挑战,尤其是在资源有限的智能手机或嵌入式系统等边缘设备上。剪枝技术通过创建更小、更快的模型来解决这一问题,这些模型更易于部署,所需的计算能力也更低,从而使各种应用中的实时推理成为可能。这是为模型部署优化模型的关键步骤,使人工智能在各种平台上更易于使用和实用。

修剪的应用

剪枝技术应用于人工智能和机器学习的各个领域。下面是几个具体的例子:

  • 移动计算机视觉:考虑 Ultralytics YOLO移动应用中用于物体检测等任务的模型。剪枝可以显著缩小这些模型的大小,使其在智能手机上高效运行,而不会耗尽电池寿命或影响性能。这对于移动安全系统或增强现实应用等实时应用至关重要。例如,在Raspberry Pi 上的 EdgeTPU 上部署经过剪枝处理的YOLO 模型,可以加快推理速度并降低功耗。

  • 自动驾驶系统:在自动驾驶汽车中,快速而准确的目标检测至关重要。自动驾驶汽车依靠复杂的模型来实时处理传感器数据。剪枝这些模型可以减少推理延迟,确保汽车的人工智能系统更快地做出决策。这对于动态驾驶环境中的安全性和响应速度至关重要。通过剪枝优化的模型还可以使用 TensorRT来进一步加速自动驾驶系统常用的NVIDIA GPU 上的性能。

类型和技术

修剪有不同的方法,大致可分为以下几种:

  • 权重剪枝:这包括删除神经网络中对模型输出影响最小的单个权重或连接。基于幅度的剪枝等技术可以去除绝对值最小的权重。
  • 滤波器剪枝:这种结构性更强的方法会从卷积层中删除整个滤波器(及其相关的特征图)。与权重剪枝相比,滤波器剪枝通常能更显著地缩小模型尺寸并提高速度,因为它能直接减少计算次数。

剪枝也可应用于模型开发过程的不同阶段:

  • 预训练剪枝:剪枝是在预训练模型上进行的。这是一种常见的方法,因为预训练模型通常会有冗余参数。
  • 培训期间的修剪:将剪枝整合到训练过程本身。这可以提高训练效率,并在剪枝后提高模型性能。
  • 训练后剪枝:剪枝是在模型完全训练完成后进行的。这是最简单的方法,通常涉及量化等技术,以进一步缩小模型规模并加快推理速度,有时与 ONNX.

总之,剪枝是一种重要的模型优化技术,可在资源有限的环境和对延迟敏感的应用中部署高效且性能良好的人工智能模型。通过降低模型的复杂性,剪枝技术有助于使人工智能更加实用和广泛应用。

阅读全部