敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

模型剪枝

使用模型剪枝优化机器学习模型。实现更快的推理、更少的内存使用以及更高的能源效率,以用于资源受限的部署。

模型剪枝是一种模型优化技术,可以使神经网络更小、计算效率更高。其核心思想是从训练好的模型中识别并删除冗余或不重要的参数(权重、神经元或通道)。这个过程减少了模型的大小,并能显著加快推理速度,使其非常适合在内存和处理能力有限的边缘设备上部署。这个概念基于这样一个观察:许多大型模型都是过度参数化的,这意味着它们包含的组件对最终预测的贡献很小。像Optimal Brain Damage这样的开创性论文早就确立了并非所有参数都是相同的。

模型剪枝的类型

模型剪枝技术通常根据从网络中移除的内容的粒度进行分类:

  • 权重剪枝(非结构化): 这是最细粒度的方法,其中值低于某个阈值的单个模型权重设置为零。这将创建一个“稀疏”模型,该模型可以高度压缩。但是,它通常需要专门的硬件或软件库(如NVIDIA的稀疏模型工具)才能在推理期间实现显着的加速。
  • 神经元剪枝: 在这种方法中,如果整个神经元及其所有传入和传出连接被认为是不重要的,则会被移除。这是一种比移除单个权重更结构化的剪枝形式。
  • 过滤器/通道剪枝(结构化): 这种方法与卷积神经网络 (CNN)尤其相关,它会删除整个过滤器或通道。因为它保留了网络层的密集、规则结构,所以这种方法通常会在标准硬件上直接获得性能提升,而无需专门的库。诸如Neural Magic 的 DeepSparse之类的工具旨在加速 CPU 上的这些稀疏模型。

剪枝后,模型通常会进行微调,这涉及重新训练较小的网络几个 epoch,以恢复在参数移除过程中损失的任何准确性。著名的彩票假设表明,在一个大型网络中,存在一个较小的子网络,当从头开始训练时,可以实现类似的性能。像PyTorch这样的框架提供了用于实现的内置工具,如官方PyTorch剪枝教程中所示。

实际应用

模型剪枝对于在各种场景中部署高效的AI模型至关重要:

  1. 优化边缘设备上的目标检测: 可以对像 Ultralytics YOLO 这样的模型进行剪枝,使其能够在资源受限的硬件(如 Raspberry PiNVIDIA Jetson)上高效运行,以执行目标检测任务。这支持了诸如交通管理、智能监控和将计算机视觉集成到机器人技术中等实时应用。
  2. 在本地部署大型语言模型 (LLM): 剪枝用于缩小基于Transformer架构的大型模型,使其能够在智能手机等设备上运行,以执行自然语言处理 (NLP)任务。这种方法有时与其他技术(如量化)相结合,可以实现强大的设备上人工智能助手和翻译应用程序,同时增强数据隐私并减少延迟。Hugging Face等组织的研究和工具探索了LLM剪枝

剪枝与其他优化技术对比

模型剪枝是几种互补的模型优化技术之一:

  • 模型量化: 这种技术降低了模型权重和激活的数值精度(例如,从32位浮点数到8位整数)。与移除参数的剪枝不同,量化使现有参数的尺寸更小。它通常在剪枝后应用,以实现最大程度的优化,尤其是在针对具有专门支持的硬件(如TensorRT)时。
  • 知识蒸馏:此方法涉及训练一个较小的“学生”模型来模仿较大的、预训练的“教师”模型的输出。目标是将教师学到的知识转移到更紧凑的架构。这与剪枝不同,剪枝是精简已经训练好的模型,而不是训练新模型。

最终,这些技术可以结合使用,以创建高效的模型。一旦优化,模型可以使用 Ultralytics 的 导出选项 导出为标准格式,如 ONNX,以便在不同的 推理引擎 上进行广泛部署。诸如 Ultralytics HUB 等平台提供了管理 计算机视觉 模型整个生命周期的工具,从训练到优化部署。

加入 Ultralytics 社区

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

立即加入
链接已复制到剪贴板