不到1ms在iPhone12上完成推理,苹果提出移动端高效主干网络MobileOne

2022 年 7 月 11 日 机器之心
选自arXiv

作者:Pavan Kumar Anasosalu Vasu等

机器之心编译

编辑:小舟

来自苹果的研究团队分析了现有高效神经网络的架构和优化瓶颈,提出了一种新型移动端主干网络。


用于移动设备的高效神经网络主干通常针对 FLOP 或参数计数等指标进行优化。但当部署在移动设备上,这些指标与网络的延迟可能并没有很好的相关性。

基于此,来自苹果的研究者 通过在移动设备上部署多个移动友好网络对不同指标进行广泛分析,探究了现有高效神经网络的架构和优化瓶颈 ,提供了缓解这些瓶颈的方法。该研究设计了一个高效的主干架构 MobileOne,它的变体在 iPhone12 上的推理时间少于 1 ms,在 ImageNet 上的 top-1 准确率为 75.9%。


论文地址:https://arxiv.org/abs/2206.04040

MobileOne 架构不仅实现了 SOTA 的性能,还在移动设备上提速了许多倍。其中,最好的模型变体在 ImageNet 上获得了与 MobileFormer 相当的性能,同时速度提高了 38 倍。MobileOne 在 ImageNet 上的 top-1 准确率比 EfficientNet 在相似的延迟下高 2.3%。


此外,该研究还表明 MobileOne 可以推广到多个任务 —— 图像分类、目标检测和语义分割,与部署在移动设备上的现有高效架构相比,准确度显著提高,延迟显著缩短。

方法概览

研究者首先分析了常用指标(FLOP 和参数计数)与移动设备延迟的相关性,并分析了架构中不同设计选择对手机延迟的影响。

指标相关性

比较两个或多个模型大小最常用的成本指标是参数计数和 FLOPs。但是,它们可能与实际移动应用程序中的延迟没有很好的相关性,该研究对此进行了深入的分析,对高效神经网络进行了基准测试。

该研究并使用近期模型的 Pytorch 实现将它们转换为 ONNX 格式。该研究使用 Core ML Tools 将每个模型转换成 coreml 包,然后开发了一个 iOS 应用程序来测量 iPhone12 上的模型延迟。

如下图 2 所示,该研究绘制了延迟与 FLOPs 和延迟与参数计数的关系图。研究者观察发现许多具有较高参数计数的模型延迟较低。在类似的 FLOPs 和参数计数下,MobileNets 等卷积模型对于比相应的 Transformer 模型延迟更低。


研究者还估计了下表 1 (a) 中的 Spearman 排名相关性,并发现延迟与 FLOPs 适度相关,而与移动设备上高效架构的参数计数弱相关,在台式机 CPU 上相关性会更低。


激活函数的关键瓶颈

为了分析激活函数对延迟的影响,该研究构建了一个 30 层的卷积神经网络,并在 iPhone12 上使用不同的激活函数对其进行基准测试,这些激活函数通常被用于高效的 CNN 主干网络。下表 3 中的所有模型除了激活函数之外,架构都是相同的,但它们的延迟却截然不同。


这种差异主要是由最近提出的激活函数(例如 SE-ReLU、Dynamic Shift-Max 和 DynamicReLUs)造成的。  MobileOne 中仅使用 ReLU 激活函数。架构块影响运行时性能的两个关键因素是内存访问成本和并行度。

在多分支架构中,内存访问成本显著增加,因为必须存储来自每个分支的激活函数来计算图中的下一个张量。如果网络的分支数较少,则可以避免此类内存瓶颈。强制同步的架构块(如 Squeeze-Excite 块中使用的全局池化操作)也会因同步成本而影响整体运行时间。为了演示内存访问成本和同步成本等隐藏成本,该研究在 30 层卷积神经网络中大量使用残差连接(skip connection)和 Squeeze-Excite 块,表 1b 展示了它们对延迟的影响。

基于此,该研究采用了在推理时没有分支的架构,从而降低了内存访问成本,并在 MobileOne 的最大变体中使用 Squeeze-Excite 块以提高准确性。最终,MobileOne 架构如下图所示。


为了提高性能,模型在以下几个方面进行了扩展:宽度、深度和分辨率。该研究没有随着 FLOP 和内存消耗的增加而扩大输入分辨率,这对移动设备上的运行时性能是有害的。


由于新模型在推理时没有多分支架构,因此它不会产生数据移动成本。与多分支架构(如 MobileNet-V2、EfficientNets 等)相比,苹果的新模型能够积极地扩展模型参数,而不会产生很高的延迟成本。

增加参数数量能够让该模型很好地泛化到其他计算机视觉任务上,如目标检测和语义分割。表 4 将新模型与最近的训练时间过参数化工作进行了比较,结果表明 MobileOne-S1 变体的性能优于 RepVGG-B0,约比后者高 3 倍。


实验及结果

在移动设备上获得准确的延迟测量可能很困难。在 iPhone 12 上,没有命令行访问或功能来保留所有计算结构以仅用于模型执行。同时也无法将往返延迟分解为网络初始化、数据移动和网络执行等类别。为了测量延迟,该研究使用 swift 开发了一个 iOS 应用程序对这些模型进行基准测试。该应用程序使用 Core ML 运行模型。

在基准测试期间,应用程序会多次运行模型(默认为 1000 次)并累积统计信息。为了实现最低延迟和最高一致性,手机上的所有其他应用程序都将关闭。

如下表 8 所示,该研究报告了完整的模型往返延迟。其中大部分时间可能不是来自该模型本身的执行进程,但在实际应用程序中,这些延迟是不可避免的。因此,该研究将它们包含在报告的延迟中。为了过滤掉来自其他进程的中断,该研究报告了所有模型的最小延迟。


此外,该研究还报告了几种模型在 MS COCO 数据集上的目标检测任务性能和在 Pascal VOC 、ADE 20k 数据集上语义分割任务性能,MobileOne 的性能普遍优于其他模型,具体结果如下表 9 所示。


感兴趣的读者可以阅读论文原文,了解更多研究细节。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

Transformer如何用于视频?最新「视频Transformer」2022综述
专知会员服务
75+阅读 · 2022年1月20日
专知会员服务
19+阅读 · 2021年8月5日
专知会员服务
49+阅读 · 2021年6月28日
华为等发布《视觉Transformer转换器》综述论文,21页pdf
专知会员服务
85+阅读 · 2020年12月25日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
23+阅读 · 2019年11月4日
【泡泡图灵智库】GCNv2:高效关联预测实时SLAM(arXiv)
泡泡机器人SLAM
44+阅读 · 2019年4月15日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
国家自然科学基金
3+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年9月5日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
国家自然科学基金
3+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员