通过模型剪枝优化机器学习模型。针对资源有限的部署,实现更快的推理、更少的内存使用和更高的能效。
模型剪枝是一种模型优化技术,可使神经网络更小、计算效率更高。其核心思想是从训练好的模型中识别并删除多余或不重要的参数(权重、神经元或通道)。这一过程缩小了模型的大小,并能显著加快推理速度,因此非常适合部署在内存和处理能力有限的边缘设备上。这一概念基于这样一种观察,即许多大型模型参数过多,这意味着它们包含的组件对最终预测的贡献很小。优化脑损伤等开创性论文很早就指出,并非所有参数都是相同的。
模型剪枝技术通常按照从网络中删除内容的粒度进行分类:
剪枝后,模型通常会进行微调,包括重新训练较小的网络几个历时,以恢复参数去除过程中损失的准确性。著名的 "彩票假说"(Lottery Ticket Hypothesis)表明,在一个大型网络中,存在一个较小的子网络,从头开始训练时也能达到类似的性能。PyTorch等框架提供了用于实现的内置工具,如官方PyTorch 修剪教程所示。
模型剪枝对于在各种场景中部署高效的人工智能模型至关重要:
模型剪枝是几种互补的模型优化技术之一:
最终,这些技术可以结合使用,创建出高效的模型。模型经过优化后,可以使用 Ultralytics 的导出选项导出为ONNX等标准格式,以便在不同的推理引擎中广泛部署。Ultralytics HUB等平台提供了管理计算机视觉模型从训练到优化部署的整个生命周期的工具。