[论文解读] 26ms Inference Time for ResNet-50: Towards Real-Time Execution of all DNNs on Smartphone
CADNN 是一个编程框架,通过结合基于 ADMM 的高级权重重剪枝与架构感知优化,实现在智能手机上实时 DNN 推理,ResNet-50 推理时间达到 26ms,相较于 TensorFlow Lite 在 CPU 和 GPU 上分别实现最高 8.8× 和 6.4× 的加速。
With the rapid emergence of a spectrum of high-end mobile devices, many applications that required desktop-level computation capability formerly can now run on these devices without any problem. However, without a careful optimization, executing Deep Neural Networks (a key building block of the real-time video stream processing that is the foundation of many popular applications) is still challenging, specifically, if an extremely low latency or high accuracy inference is needed. This work presents CADNN, a programming framework to efficiently execute DNN on mobile devices with the help of advanced model compression (sparsity) and a set of thorough architecture-aware optimization. The evaluation result demonstrates that CADNN outperforms all the state-of-the-art dense DNN execution frameworks like TensorFlow Lite and TVM.
研究动机与目标
- 解决移动硬件峰值性能与智能手机上实际 DNN 推理性能之间的性能差距。
- 克服由模型压缩(如剪枝导致的稀疏性)引起的不规则计算模式与内存访问问题。
- 在最大限度提升模型压缩率的同时,将精度损失最小化,采用先进的剪枝技术。
- 为压缩后的 DNN 开发一个全面的优化堆栈,专门针对移动 CPU 和 GPU 架构进行定制。
- 在消费级移动设备上实现大型 DNN(如 ResNet-50)的实时推理(延迟低于 30ms)。
提出的方法
- 采用 ADMM(交替方向乘子法)进行结构化权重重剪枝,实现在极小精度损失下实现高剪枝率。
- 通过融合多个层(如卷积 + 批归一化 + ReLU)为更大内核,优化计算模式,提升内存访问效率与 SIMD 利用率。
- 将 1×1 卷积转换为矩阵乘法操作,提升内存与计算效率。
- 应用内存布局转换,包括分块、对齐与填充,以提升 CPU 和 GPU 上的数据局部性。
- 通过基于重复滤波器访问模式的编译器级代码转换,实现冗余内存加载消除。
- 采用基于知识引导的、基于编译器的调优策略,为不同 DNN 与硬件选择最优优化参数(如分块大小、展开因子)。
实验结果
研究问题
- RQ1通过 ADMM 实现的高级模型压缩是否能在移动 DNN 上实现高剪枝率,同时实现近乎零精度损失?
- RQ2架构感知优化在多大程度上可缓解剪枝 DNN 中因不规则内存访问导致的性能下降?
- RQ3计算融合与内存布局转换在多大程度上可提升移动 CPU 和 GPU 上的推理延迟?
- RQ4在执行压缩模型时,CADNN 相较于最先进的密集 DNN 框架(如 TensorFlow Lite 与 TVM)的性能提升如何?
- RQ5统一的优化框架是否能有效处理多样化的 DNN 与移动硬件平台,同时实现最小化人工调优?
主要发现
- CADNN 对 LeNet-5、AlexNet 和 ResNet-18 分别实现了 348×、36× 和 8× 的权重重剪枝率,且精度损失接近于零。
- 在小米 6 智能手机上,CADNN 实现了 ResNet-50 21ms 的推理时间,满足实时性要求(<30ms)。
- 在包含 Inception-V3 和 MobileNet 的四个基准 DNN 上,CADNN 在 CPU 上相比 TensorFlow Lite 最高提升 8.8×,在 GPU 上相比 TVM 最高提升 6.4×。
- 通过层融合与冗余加载消除,框架显著降低了内存访问不规则性,显著提升了数据局部性。
- 内存布局转换(分块、对齐、填充)与优化参数选择带来了 CPU 和 GPU 上可测量的性能提升。
- CADNN 证明,将高级模型压缩与架构感知编译相结合,相比密集 DNN 执行框架可实现更优性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。