先进卷积神经网络架构在复杂的计算机视觉任务上获得了显著准确性。然而,其计算需求常常给实际部署带来重大障碍。当前先进模型可包含数亿甚至数十亿参数,并且在推理时需要大量计算资源(以每秒浮点运算次数,即FLOPS衡量)。这种性能代价高昂,在配备强大硬件的科研环境开发出的模型与实际应用中受限条件下的所需模型之间形成差距。本节概述了促使模型压缩和高效深度学习技术需求出现的主要动因。理解这些因素对于在不同环境中设计和部署高效的计算机视觉系统非常重要。资源限制的实际情况许多有吸引力的计算机视觉应用不在数据中心内,而是在资源有限的设备上运行:边缘AI和移动设备: 智能手机、智能手表、物联网传感器、自主无人机和车载系统拥有受限的计算能力(CPU/GPU/NPU)、有限内存、有限电池寿命以及通常受限的存储容量。由于以下原因,直接在这些设备上运行大型、复杂的CNN通常不可行:内存占用: 模型的参数必须适应设备的存储空间和可用的运行时内存。一个几GB的模型在只有几GB应用可用内存的设备上根本无法加载。计算负荷: 密集的计算会迅速耗尽电池电量,并可能导致热节流,降低性能。推理速度可能慢于应用需求。实时处理需求: 自动导航、交互式增强现实、安全实时视频分析或机器人控制等应用要求低延迟。模型处理输入(推理延迟)所需的时间必须最小化,通常以毫秒计。大型模型通常具有更高延迟,使其不适合需要即时响应的任务。功耗: 对于电池供电设备,能源效率是重要的设计限制。每次计算都会消耗电量。每个推理周期需要数十亿次操作的模型将比更精简、更优化的模型更快耗尽电池。这对于移动应用和充电不便或无法充电的远程物联网部署非常重要。带宽和更新: 部署模型通常涉及通过网络传输。大型模型需要大量带宽进行初始部署和后续更新。在连接受限或费用较高(如物联网设备的蜂窝网络)的情况下,频繁更新大型模型变得不切实际。高效模型可减少这种额外负担。成本: 虽然云计算提供可扩展性,但持续运行大型模型会产生高昂费用。同样,为边缘设备配备专门的强大硬件加速器会增加单位成本,这对于大众市场产品来说可能过高。高效模型可以在更便宜的硬件上有效运行,从而降低总系统成本。弥合部署差距上述限制使得使深度学习模型更小、更快、更节能的策略成为必要。网络剪枝、知识蒸馏、量化(例如,将精度从 $FP32$ 降低到 $INT8$)以及设计固有高效架构(如 MobileNets)等技术直接应对了这些挑战。它们旨在减少参数数量,最小化所需计算量,并降低内存带宽需求,同时不大幅损害模型的预测准确性。目标不仅仅是缩小模型,而是为特定应用和部署目标找到性能和效率之间的适当平衡。在本章后续内容中,我们将考察那些使复杂的计算机视觉能力能够部署到资源受限环境中,将强大的AI从实验室带入实际的方法。