论文信息
题目:Latency-aware Unified Dynamic Networks for Efficient Image Recognition
延迟感知的统一动态网络用于高效图像识别
作者:Yizeng Han; Zeyu Liu; Zhihang Yuan; Yifan Pu; Chaofei Wang; Shiji Song; Gao Huang
源码链接:https://www.github.com/LeapLabTHU/LAUDNet
论文创新点
统一动态推理框架(LAUDNet):提出了一个综合框架,将空间自适应计算、动态层跳过和动态通道跳过三种代表性的动态推理范式统一在一个框架下,以提高深度网络的推理效率。 延迟感知的算法设计与调度优化:通过一个延迟预测模型,准确估计不同动态操作员在各种计算平台上的实际延迟,并将此延迟预测结果用于指导算法设计和调度优化,以实现理论与实际效率之间的有效匹配。 粗粒度动态网络和批量推理:提出了粗粒度动态网络设计,通过在块/组级别而不是单个像素/通道级别上做出“是否计算”的决策,以减少内存访问延迟,并允许批量推理,进一步提升了网络的实际加速性能。
摘要
关键字
动态网络 高效推理 卷积神经网络 视觉Transformers
1 引言
提出了一个统一的动态推理框架。虽然初步论文[27]主要关注空间自适应计算,本文深入研究了两个额外的重要动态范式,特别是动态层跳过和通道跳过(图1和第3.1节)。此外,我们将这些范式整合到一个统一的框架中,并提供了更全面的架构设计和复杂性分析(第3.2节)。 延迟预测器已增强,以支持包括层跳过和通道跳过在内的更广泛的动态操作员集合(第3.3节)。此外,我们采用Nvidia Cutlass[28]来优化调度策略。硬件评估表明,我们的延迟预测器可以准确预测实际硬件上的延迟(图5)。 LAUDNet框架已扩展以适应Transformers架构,如第3.2节所述。这一扩展显著增强了通过实现动态令牌跳过(空间自适应计算)、头部(通道)跳过和层跳过来优化延迟。这些改进显著扩大了LAUDNet的适用性。实证评估,如图10(c)和第4.3.2节所讨论的,为高效Transformers的设计提供了有价值的见解,支撑了框架的多功能性和有效性。 我们首次将批量推理纳入我们的动态操作员(第3.4节)。这一创新导致了更一致的预测结果和在GPU平台上增强的加速比(图8、12)。 我们对各种动态粒度(图9)和范式(图10、11、13、表2、3)进行了详尽的分析,涵盖了不同的视觉任务和平台,并在当代GPU如RTX3060和RTX3090上增加了评估。我们相信我们的结果将为研究人员和实践者提供宝贵的见解。
III. 方法
3.1 准备工作
3.2 LAUDNet架构
概述
动态粒度
掩码器设计
计算复杂性
3.3 延迟预测器
硬件建模
延迟预测
3.4 调度优化
3.5 训练
IV. 实验
4.1 实验配置
4.2 延迟预测结果
尽管实施了我们的优化调度策略,像素级动态卷积(S=1)并不总是增强实际效率。这种细粒度自适应推理方法在以前的工作[20]、[21]、[60]中被采用。我们的发现有助于阐明为什么这些研究只在性能较低的CPU[21]或专用设备[60]上实现了实际加速; 相比之下,粗粒度设置(S > 1)在两个设备上显著缓解了这一问题。当S > 1时,可以在更大的激活值(rs)下获得实际加速(rℓ < 1)。
对于给定的r,延迟比率rℓ通常随着S的增加而减少在V100上; 过大的S(表示适应性推理不够灵活)在两个设备上提供了微不足道的改进。特别是,在TX2上,将LAUD-RegNetY-800MF的第二阶段的S从7增加到14对效率产生了负面影响。这可能是由于过大的补丁大小在该设备上引起了额外的内存访问成本,该设备的处理引擎(PEs)较少; 层跳过(用⋆标记)始终优于空间动态计算(用•标记)。我们将在第4.3节和第4.5节中分析它们在不同视觉任务中的性能。
4.3 ImageNet 分类
4.3.1 空间/通道粒度的对比
关于空间动态计算,最优粒度Snet取决于网络结构和硬件设备。例如,Snet=8-4-7-1在V100上对两个模型都实现了更好的性能,但在TX2上却造成了大量效率低下。这与我们在图6中的结果相符; 将通道粒度G从1提高到2确实为ResNet-50提供了一定程度的加速,但在RegNetY-800M的情况下性能相当。我们假设更大的G只对具有更多通道数的模型有益,这也与图7中的观察结果一致。
4.3.2 动态范式比较
层跳过和头部(通道)跳过在高激活率时更有利于保持高准确性,尽管两者在降低激活率时都会经历显著的准确性下降。 当评估实际延迟和准确性之间的平衡时,层跳过在所有平台上始终优于头部(通道)跳过。 尽管理论上的准确性上限较低,空间自适应计算(令牌跳过)可能在较低激活率时超过其他范式,这归因于在GPU上执行索引和选择操作的实际延迟优势,而无需像CNN中那样需要专门的操作。 综合应用所有三种范式进一步提升了准确性-效率权衡,展示了每种方法的互补优势。
4.4 可视化和可解释性
空间动态卷积和层跳过的激活率模式相似。激活率rs和rl在第1、2和4阶段似乎更加二值化(接近0或1)。动态区域/层选择主要发生在第3阶段; 这两种范式倾向于在第2、3和4阶段的第一个块中保持整个特征图(rs/l=1.0),其中卷积步长为1。这与[15]、[54]中的设置一致,这些研究中这些块的训练目标手动设置为1。值得注意的是,我们训练我们的LAUDNet以满足整体计算目标,而不是像[15]、[54]那样限制不同块的目标; 通道跳过导致的激活率在整个网络中更集中在0.5左右。