文章目录
- 摘要
- 一、介绍
- 二、相关工作
- 三、与硬件无关的帕累托效率
- 四、通用倒置瓶颈
- 五、移动MQA
- 六、MNv4模型的设计
- 6.1 为增强的体系结构改进NAS
- 6.2 MNv4模型的优化
- 7. 结果
- 7.1 ImageNet分类
- 7.2 COCO目标检测
- 8. 强化蒸馏配方
- 9. 结论
MobileNetV4 - 移动生态系统的通用模型
摘要
我们介绍了最新一代的 MobileNets,即 MobileNetV4(MNv4),其特点是针对移动设备的通用高效架构设计。在其核心部分,我们引入了通用反向瓶颈(UIB)搜索块,这是一种统一而灵活的结构,融合了反向瓶颈(IB)、ConvNext、前馈网络(FFN)和一种新颖的 Extra Depthwise(ExtraDW)变体。除了 UIB,我们还提出了移动 MQA,这是一个专为移动加速器定制的注意力模块,可显著提高 39% 的速度。我们还引入了优化的神经架构搜索(NAS)方法,提高了 MNv4 的搜索效率。整合 UIB、Mobile MQA 和改进的 NAS 配方后,一套新的 MNv4 模型在移动 CPU、DSP、GPU 以及 Apple Neural Engine 和 Google Pixel EdgeTPU 等专用加速器上实现了帕累托最优,这是其他测试模型所不具备的。最后,为了进一步提高准确性,我们引入了一种新颖的蒸馏技术。通过该技术的增强,我们的 MNv4-Hybrid-Large 模型实现了 87% 的 ImageNet-1K准确率,而 Pixel 8 EdgeTPU 的运行时间仅为 3.8ms。
论文链接:http://arxiv.org/abs/2404.10518
代码链接:https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py
一、介绍
高效的设备上神经网络不仅能带来快速、实时和交互式体验,还能避免通过公共互联网传输私人数据。然而,移动设备的计算限制给平衡准确性和效率带来了巨大挑战。为此,我们引入了 UIB 和移动 MQA 这两个创新的构建模块,并通过精炼的 NAS 配方进行整合,从而创建出一系列普遍意义上的 "Pareto-optimal "移动模型。此外,我们还介绍了一种可进一步提高准确性的蒸馏技术。我们的通用倒置瓶颈(UIB)模块通过加入两个可选的深度卷积[19],改进了倒置瓶颈模块[36]。尽管 UIB 很简单,但它统一了著名的微架构–反向瓶颈(IB)、ConvNext [32] 和 FFN [12]–并引入了额外深度卷积(Extra Depthwise)技术。UIB 具有空间和信道混合的灵活性,可扩展接收场,并提高计算效率。
图 1:MNv4 模型普遍具有帕累托最优性:在各种硬件上,MNv4 与领先的高效模型相比具有很强的优势。所有模型仅在 ImageNet-1k 上进行了训练。大多数模型都针对一种设备进行了优化,但 MNv4 在大多数设备上都达到了帕累托最优。混合模型和 ConvNext 与 DSP 不兼容。由于 PyTorch-to-TFLite 导出工具的限制, EfficientViTs [13] [14] 没有在 CPU 和 EdgeTPU 上进行基准测试。由于 PyTorch 没有实现移动 MQA,MNv4-Hybrid 模型被排除在 CoreML 评估之外。
与多头注意力[44]相比,我们优化的移动 MQA 块在移动加速器上的推理速度提高了 39%。
我们的两阶段 NAS 方法将粗粒度搜索和细粒度搜索分开,大大提高了搜索效率,并有助于创建比以往最先进模型大得多的模型[41]。此外,结合离线蒸馏数据集可以减少 NAS 奖励测量中的噪音,从而提高模型质量。
通过整合 UIB、MQA 和改进的 NAS 配方,我们推出了 MNv4 模型套件,在包括 CPU、DSP、GPU 和专用加速器在内的多种硬件平台上实现了帕累托最优性能。我们的模型系列涵盖的计算范围从极其紧凑的 MNv4-Conv- S 设计(拥有 3.8M 参数和 0.2G MACs)(在 Pixel 6 CPU 上 2.4 毫秒内达到 73.8% 的 ImageNet-1K 最高精度),到 MNv4-Hybrid-L 高端变体(在 Pixel 8 EdgeTPU 上以 3.8 毫秒的速度运行,为移动模型精度建立了新的基准)。我们新颖的蒸馏配方混合了具有不同增强功能的数据集,并添加了平衡的同类数据,从而增强了泛化能力,进一步提高了准确性。使用这种技术,MNv4-Hybrid-L达到了令人印象深刻的87%的top-1精度,在ImageNet-1K上,尽管mac少了39倍,但与它的老师相比,只下降了0.5%
二、相关工作
对模型进行精度和效率优化是一个值得深入研究的问题。
移动卷积网络:主要工作包括:MobileNetV1[20] 采用深度分离卷积以提高效率;MobileNetV2[36] 引入线性瓶颈和倒置残差;MnasNet[40] 在瓶颈中集成轻量级注意力;MobileOne[43] 在推理时在倒置瓶颈中添加线性分支并重新参数化。
高效混合网络:这一研究方向整合了卷积和注意力机制。MobileViT [33]通过全局注意力块将 CNN 的优势与 ViT [12] 相结合。MobileFormer [6] 并行了 MobileNet 和 Transformer,并在两者之间建立了双向桥,用于特征融合。FastViT [42] 将注意力添加到最后阶段,并使用大型卷积核替代早期阶段的自我注意力。
高效关注: 研究重点是提高 MHSA [44] 的效率。EfficientViT [13] 和MobileViTv2 [34] 为线性复杂度引入了自注意近似值,但对准确性影响较小。EfficientFormer- V2 [27] 对 Q、K、V 下采样以提高效率,而 CMT [15] 和NextViT [26] 仅对 K 和 V 下采样。
硬件感知神经架构搜索(NAS):另一种常用技术是利用硬件感知神经架构搜索(NAS)实现模型设计过程的自动化。NetAdapt [49] 使用经验延迟值来优化目标延迟约束下的模型精度。MnasNet [40] 也使用延迟表,但应用了强化学习来实现硬件感知的 NAS。FBNet [47] 通过可变 NAS 加速多任务硬件感知搜索。MobileNetV3 [18]通过结合硬件感知 NAS、NetAdapt 算法和架构进步,对手机 CPU 进行了调整。MobileNet MultiHardware [8] 针对多种硬件目标优化了单一模型。Once-for-all [5] 将训练和搜索分开,以提高效率。
三、与硬件无关的帕累托效率
图2:脊点和延迟/精度权衡:脊点意味着测量在屋顶线性能性能模型中相关的内存带宽mac之间的关系。如果内存带宽不变,高计算硬件(加速器)具有比低计算硬件(cpu)更高的脊点。MobileNetV4主要是 从0到500 mac /字节的脊点的帕累托最优。这些从分析中获得(等式1)图表反映了图1中的实际硬件测量。
rooline模型:对于一个普遍有效的模型,它必须在具有限制模型性能的巨大不同瓶颈的硬件目标上表现良好。这些瓶颈很大程度上取决于硬件软件的峰值计算吞吐量和峰值内存带宽。
为此,我们使用rooline模型[46]来估计给定工作负载的性能,并预测它是内存瓶颈还是计算瓶颈。简而言之,它抽象了特定的硬件细节,只考虑工作负载的操作强度(LayerMACsi/ WeightBytesi+)
ActivationBytesi)) vs.硬件处理器和存储系统的理论极限。内存和计算操作大致并行进行,因此两者中较慢的那个决定了延迟瓶颈。为了将rooline Model应用于以i为索引层的神经网络,我们可以计算模型推理延迟ModelTime,如下所示:
在屋顶线模型中,硬件行为由Ridge Point (RP)——硬件的峰值mac与峰值成员bw的比率来总结。即达到最大性能所需的最小操作强度为了优化具有广泛瓶颈的硬件,如图2和图3所示,我们分析了算法的延迟,同时将RP从最低期望值(0 MAC/字节)扫描到最高期望值(500 MAC/字节)-参见附录F了解更多细节。rooline模型仅依赖于数据传输与计算的比率,因此具有相同RP的所有硬件将根据延迟对工作负载进行相同的排序这意味着如果新目标的RP包含在扫描范围内,则扫描-RP顶线分析(见下一段)适用于未来的硬件和软件。
脊点扫描分析:如图2和图3所示,车顶线模型揭示了MobileNetV4模型如何实现与硬件无关的大多数pareto最优性能,而不是其他卷积mobilenet。在低rp硬件(例如cpu)上,模型更可能是计算绑定而不是内存绑定。因此,为了改善延迟,即使以增加内存复杂性(mobilenetv3large -1.5倍)为代价,也要尽量减少mac的总数。数据移动是高rp硬件的瓶颈,因此mac不会显著降低模型速度,但可以增加模型容量(MobileNetV1-1.5x)。因此,针对低rps优化的模型在高rps下运行缓慢,因为内存密集型和低mac全连接(FC)层在内存带宽上成为瓶颈,无法利用高可用的峰值mac。
图3:Op Cost vs Ridge Point:每个子图都显示了网络ops的屋顶延迟(图1)。网络从左边开始。大型conv2d在低脊点(RP)硬件上是昂贵的(上排),但在高脊点(RP)硬件上增加了便宜的模型容量(下排)。FC层和dw - conv2d在低RPs时价格便宜,在高RPs时价格昂贵。MobileNetV4平衡了mac密集型的Conv2D层和内存密集型的FC层,它们分别对网络的开始和结束贡献最大。
MobileNetV4设计:MobileNetV4平衡了mac和内存带宽的投资,它们将为成本提供最大的回报,特别注意网络的开始和结束。在网络的初始阶段,MobileNetV4使用了大量且昂贵的初始层,以大幅提高模型的容量和下游精度。这些初始层由大量mac控制,因此它们只在低rp硬件上昂贵。在网络的末端,所有MobileNetV4变体都使用相同的大小尽管这会导致较小的MNV4变体在高rp硬件上遭受更高的FC延迟,但最终的FC层可以最大限度地提高准确性。由于大的初始Conv层在低rp硬件上是昂贵的,而在高rp硬件上不是昂贵的,并且最终FC层在高rp硬件上是昂贵的,而在低rp硬件上不是,因此MobileNetV4模型永远不会同时看到这两种减速。换句话说,MNv4模型能够使用昂贵的层,这些层可以不成比例地提高精度,但不会同时受到层的组合成本的影响,从而在所有脊点上获得大多数帕累托最优性能。
四、通用倒置瓶颈
我们提出了通用倒瓶颈(UIB)块,这是一种适用于高效网络设计的自适应构建块,它具有适应各种优化目标的灵活性,而不会爆炸搜索复杂性。UIB扩展了MobileNetV2[36]引入的倒转瓶颈(IB)块,它已经成为高效网络的标准构建块[12,18,32,41]。
图4:通用倒瓶颈(UIB)块。
基于最成功的MobileNet成分- 倒置瓶颈结构中的可分离深度卷积(DW)和点向(PW)展开和投影,本文引入了一个新的构建块-通用倒置瓶颈(UIB)块,如图4所示。它的结构相当简单。我们在倒瓶颈块中引入两个可选的dw,一个在扩展层之前,一个在扩展层和投影层之间。这些dw的存在与否是NAS优化过程的一部分,从而产生新的体系结构。尽管这种修改很简单,但我们的新构建块很好地统一了几个重要的现有块,包括原来的IB块、ConvNext块和ViT中的FFN块。此外,IB引入了一个新的变体:Extra depth IB (extradepth IB)块。
除了允许在NAS期间使用灵活的IB结构外,我们还避免了任何人工制作的缩放规则,例如在effentnet中使用的规则,而是针对每个模型大小单独优化结构。为了避免NAS SuperNet的大小爆炸,我们共享了常见的组件(点向扩展和投影),并简单地添加了DW作为额外的搜索选项。与基于SuperNet的网络架构搜索算法相结合,该方法可以在不同的网络中共享大部分参数(>95%)
实例化,使NAS非常高效。
UIB实例化 这两个可选深度卷积有四种可能的实例化(图4),导致不同的权衡。
倒置瓶颈(IB) 在扩展的模型上进行空间混合,以增加的成本提供更大的模型容量。
通过在扩展之前执行空间混合,ConvNext允许更便宜的空间混合和更大的内核大小。
本文介绍的是一种新的变体ExtraDW,它允许以低成本增加网络深度和接受域。它提供了ConvNext和IB的综合好处。
FFN是两个1x1点卷积(PW)的堆栈,中间有激活层和归一化层。PW是对加速器最友好的op操作之一,但在与其他块一起使用时效果最好。
在每个网络阶段,UIB提供灵活性(1)进行临时spa初始和信道混合权衡。(2)根据需要扩大感受野。(3)最大化计算利用率。
五、移动MQA
在本节中,我们介绍了Mobile MQA,这是一种专门针对加速器优化的新型注意力块,可提供超过39%的推理速度。
运算强度的重要性:最近对视觉模型的研究主要集中在减少算术运算(mac)以提高效率。然而,移动加速器性能的真正瓶颈通常不是计算,而是内存访问。这是因为加速器提供的计算能力远远大于内存带宽。因此,简单地最小化mac可能不会带来更好的性能。相反,我们必须考虑运算强度,即算术运算与内存访问的比率。
MQA在混合模型中是高效的:MHSA[44]将查询、键和值投射到多个空间中,以捕获信息的不同方面。多查询注意(MQA)[37]通过在所有头中使用共享键和值简化了这一点。虽然多个查询头是必不可少的,但大型语言模型可以有效地为键和值共享单个查询头,而不会牺牲准确性[7][25]。当批处理令牌的数量与特征维度相比相对较小时,键和值的共享磁头大大减少了内存访问需求,从而显著提高了操作强度。这是移动应用的混合视觉模型的典型情况,其注意力仅用于具有高特征维度的低分辨率后期阶段,批处理大小通常为1。我们的实验证实了MQA在混合模型中的优势。如表1所示,与MHSA相比,MQA在edgetpu和Samsung S23 GPU上实现了超过39%的加速,质量损失可以忽略不计(-0.03%)。MQA还将mac和模型参数降低了25%以上。据我们所知,我们是第一个将MQA用于移动视觉的公司。
表1:MQA的效率增益。基本型号为mnv4 - convl。额外的注意力块被添加到最后一个阶段。报告的百分比改进仅比较了注意力块的延迟(基线MHSA)。
结合非对称空间降采样:从MQA中获得灵感,MQA利用了查询、键和值之间的非对称计算,我们将空间减少注意(SRA)[45]结合到我们优化的MQA块中,以降低键和值的分辨率,同时保留高分辨率的查询。该策略的动机是观察到混合模型中空间相邻标记之间的相关性,归因于早期层的空间混合卷积滤波器。通过非对称空间下采样,我们在输入和输出之间保持相同的令牌计数,保持了注意力的高分辨率,显著提高了效率。与[45]不同的是,我们的方法用3 × 3深度卷积代替AvgPooling,使用2的步长进行空间缩减,提供了一种经济有效的方法来提高模型容量。这里我们展示我们的Mobile MQA模块:
其中SR表示空间缩减,即我们设计中步幅为2的DW,或者在不使用空间缩减的情况下表示恒等函数。如表2所示,结合非对称空间下采样可以获得20%以上的效率增益,同时精度损失最小(-0.06%)。
表2:不对称空间降采样在移动MQA中的改进:以MNv4-Hybrid-M为基本模型,在三星S23上进行评估。在16 × 16像素的倒数第二阶段应用步长为2的下采样。
六、MNv4模型的设计
我们的设计理念:简单满足效率。在开发最新的mobilenet时,我们的核心目标是在不同的移动平台上实现帕累托最优。为了实现这一点,我们首先对现有的模型和硬件进行广泛的相关性分析。通过实证检验,我们发现了一组组件和参数,它们都确保了跨各种设备的成本模型(延迟成本的预测)之间的高度相关性,并且ap在性能上接近帕累托边界。
我们的调查揭示了关键的见解:
多路径效率问题:卷积[52]和类似的多路径设计,尽管较低的FLOP计数,但由于内存访问复杂性,效率可能较低。
硬件支持问题:像Squeeze and Excite (SE)[21]、GELU[16]、LayerNorm[1]这样的高级模块在dsp上不被很好地支持,LayerNorm也落后于BatchNorm [23], SE在加速器上也很慢。
简单的力量:传统的组件——深度和点智能卷积、ReLU[35]、BatchNorm和简单关注(例如MHSA)——展示了卓越的效率和硬件兼容性。
基于这些发现,我们建立了一套设计原则:
- 标准组件:我们优先考虑广泛支持的组件,以实现无缝部署和硬件效率。
- 灵活的UIB模块:我们新颖的可搜索的UIB构建模块允许自适应的空间和通道混合,接受场调整和最大的最小化计算利用率,通过网络架构搜索(NAS)促进效率和准确性之间的平衡妥协。
- 采用直接的注意力:我们的移动MQA机制pri优先考虑简单的最佳性能。
这些原则使得MobileNetV4在所有被评估的硬件上都是最优的。在下文中,我们详细介绍了用于UIB模型搜索的精炼NAS配方,概述了针对各种MNv4-Conv模型大小的特定搜索配置,并解释了混合模型的构建。
6.1 为增强的体系结构改进NAS
为了有效地实例化UIB块,我们采用了TuNAS[3],并对其进行了量身定制的增强,以提高性能。
增强的搜索策略:我们的方法通过实现两阶段搜索,减轻了TuNAS对较小过滤器和扩展因子的偏见,这归因于参数共享。该策略解决了UIB深度层和其他搜索选项之间参数计数的差异。
粗粒度搜索:最初,我们专注于在保持固定参数的同时确定最佳过滤器大小:一个默认扩展因子为4的反向瓶颈块和一个3x3深度内核。
表3展示了与传统的单阶段搜索相比,通过我们的两阶段搜索获得的更高效率和模型质量,传统的单阶段搜索在单个TuNAS通道中探索统一的搜索空间。
表3:一级搜索和二级搜索的比较,突出了Pixel 6 EdgeTPU上精度的提高和延迟的减少。
以稳健训练加强TuNAS:TuNAS的成功取决于对建筑质量的准确评估,这对于奖励计算和策略学习至关重要。最初,TuNAS利用ImageNet-1k来训练超级网络,但是ImageNet上的模型性能明显受到数据增强、正则化和超参数选择的影响。考虑到TuNAS不断发展的架构样本,找到一组稳定的超参数是具有挑战性的。
我们通过离线蒸馏数据集解决了这个问题,消除了额外增强的需要,降低了对正则化和优化设置的敏感性。如第8节所述,JFT蒸馏数据集作为TuNAS的训练集,在表4中显示了显著的改进。认识到深度尺度模型在扩展训练课程中优于宽度尺度模型[2],我们将TuNAS训练扩展到750个epoch,从而产生更深、更高质量的模型。
表4:JFT蒸馏的性能提升:ImageNet-1k与JFT数据上的NAS训练。强调效率的改进和精度的细微差别。
6.2 MNv4模型的优化
我们从nas优化的UIB块中构建了MNv4-Conv模型,并根据特定的资源约束进行了定制。在附录a中给出了更多的细节。与其他混合模型一样,我们发现关注卷积模型的最后阶段是最有效的。在MNv4-Hybrid模型中,我们将移动MQA块与UIB块交叉放置以增强性能。综合型号规格请参见附录D。
7. 结果
在本节中,我们将展示MobileNet V4 (MNv4)模型在ImageNet-1K分类和COCO对象检测上的最优pareto性能。
7.1 ImageNet分类
实验设置:为了评估模型架构性能,我们遵循ImageNet-1k[11]训练分割的标准训练方案,并在其验证分割上测量Top-1精度。我们的延迟分析涵盖了多种具有代表性的移动硬件,包括ARM Cortex cpu (Pixel 6、三星S23)、高通Hexagon DSP (Pixel 4)、ARM Mali GPU (Pixel 7)、高通骁龙(S23 GPU)、苹果神经引擎和谷歌EdgeTPU。我们完整的训练设置详见附录c。在基准测试中,我们将我们的模型与领先的高效模型进行比较,包括混合模型(MiT-EfficientViT[13]、FastViT[42]、NextViT[26])和卷积模型(MobileOne[43]、ConvNext[32]和以前的MobileNet版本[19][36][18]),基于他们报告的Top-1准确度和我们的延迟评估。值得注意的是,我们使用现代训练配方增强了MobileNet系列(V1, V2, V3),从而大幅提高了准确性:MobileNet V1增加3.4%至74.0%,V2增加1.4%至73.4%,V3增加0.3%至75.5%。这些增强的MobileNets基线在整篇论文中被用来隔离架构上的进步。
结果:
我们的结果(见图1和表5)表明,MNv4模型在一系列精度目标和移动硬件(包括cpu、dsp、gpu和专用加速器,如Apple Neural Engine和Google EdgeTPU)上大多是帕累托最优的。
在cpu上,MNv4模型的表现明显优于其他模型,大约是MobileNetV3的两倍,在同等精度目标下,比其他模型快几倍。在edgetpu上,MNv4模型在相同精度水平下的速度是MobileNet V3的两倍。具体来说,mnv4 - con - m模型比MobileOne-S4和FastViT-S12快50%以上,同时在相同的延迟下,也比MobileNet V2提高了1.5%的Top-1精度。在S23 GPU和iPhone 13 CoreML (ANE)上,MNv4型号大多位于Pareto前端。MIT-EfficientViT是S23 GPU上最接近的竞争对手,在相同的精度下,它的延迟是CoreML上MNv4的两倍以上。针对苹果神经引擎进行优化的FastViT在CoreML上排名第二,但延迟是S23 GPU上MNv4的5倍多。与许多混合模式一样,mnv4 -混合模式不兼容dsp。尽管如此,MNv4-Conv模型仍然是DSP上的顶级性能,强调其在不同硬件平台上的领先兼容性和效率。MNv4-Conv型号提供卓越的硬件兼容性和效率。这一成功突出了我们的UIB块、增强的NAS配方和精心设计的搜索空间的优势。MNv4-Hybrid在cpu和加速器上实现了出色的性能,展示了我们的移动MQA设计的跨平台效率。
表5:ImageNet-1K上的分类结果[11],以及设备上的基准测试。报告中值延迟。−表示由于缺少对应平台的模型文件,我们没有对模型进行基准测试。“Failed”表示平台不支持该模型。
对于移动模型来说,通用性是至关重要的,这要求它们在不同的硬件平台上表现最佳。我们的评估突出了现有模型在实现这一目标时所面临的挑战。MobileNet V3在cpu上表现不错,但在edgetpu、dsp和gpu上表现不佳。FastViT在苹果神经引擎上表现良好,但在cpu和gpu上表现不佳。EfficientViT在gpu上表现不错,但在苹果神经引擎上表现不佳。相比之下,MNv4-Conv模型表现出卓越的兼容性,并在各种硬件(包括cpu、gpu、Apple Neural Engine和Google edgetpu)上实现了普遍的pareto最优性能。这种多功能性确保了MNv4-Conv模型可以在整个移动生态系统中无缝部署,而无需任何特定平台的调整,为移动模型的通用性设定了新的基准。
7.2 COCO目标检测
实验设置:我们在COCO 17[31]数据集上评估了MNv4骨干网用于目标检测任务的有效性。我们比较了m大小的MNv4骨干网与mac数量相似的SOTA高效骨干网。对于每个主干,我们使用RetinaNet[30]框架构建一个对象检测器。我们将一个256 d的FPN[29]解码器连接到P3 - P7端点,以及一个256 d的预测头,具有4个卷积层。与通常的移动检测器一样,我们采用深度可分离卷积来降低FPN解码器和盒预测头的计算复杂度。我们在COCO 17[31]训练集上训练了600个epoch的所有模型。所有图像都调整为384px,并使用随机水平翻转,随机缩放以及Randaug[9]进行增强。我们从Randaug中排除了剪切和旋转增强,因为这些变形会破坏小物体检测AP。训练使用2048批大小Adam[24]进行,L2权重衰减为0.00003。我们使用24次预热的余弦学习率计划,并分别调整每个模型的学习率。对于所有基线,我们设置了过滤器乘数,以便mac大致具有可比性。在分类实验之后,使用0.2的随机下降率[22]对MobileNet V4骨干网进行训练。所有MobileNet基线都使用官方Tensorflow模型花园[17]实现进行训练。我们在Tensorflow中重新实现了EfficientFormer。
结果:实验结果见表6。参数、mac和基准是使用整个检测器在384px输入分辨率下计算的。中等大小的仅卷积mnv4 - convm检测器实现了32.6%的AP,类似于MobileNet Multi-AVG和MobileNet v2。然而,Pixel 6的CPU延迟比MobileNet Multi-AVG低12%,比MobileNet v2低23%。在Pixel 6 CPU延迟增加18%的情况下,添加Mobile MQA块使MNv4-Hybrid- m检测器的AP比MNv4- convm检测器增加了1.6%,证明了MNv4以Hybrid形式执行目标检测等任务的有效性和效率。
表6 COCO-17 [31] Val. set上的目标检测结果。在MobileNet骨干网旁边报告的宽度乘数是按比例放大的。
8. 强化蒸馏配方
作为架构创新的补充,蒸馏是提高机器学习效率的有力工具。它的好处对于移动机型来说尤其明显,在严格的部署限制下可能提供数倍的效率提升。基于强大的Patient Teacher蒸馏基线[4],我们引入了两种新技术来进一步提高性能。
动态数据集混合:数据增强对于每性能的蒸馏至关重要。虽然先前的方法依赖于固定的增强序列,但我们发现动态混合具有不同增强策略的多个数据集可以获得更好的蒸馏结果。我们实验了三个关键的蒸馏数据集:
D1:初始裁剪[39],然后是RandAugment [10], l2m9应用于500ImageNet-1k副本。
D2:盗梦裁剪,然后是极端混合[51],应用于1000个ImageNet-1k副本(镜像耐心教师方法)。
D1 + D2:训练时D1和D2的动态混合。
我们在表7中的结果显示,D2在学生准确率方面优于D1(84.1%对83.8%)。然而,动态混合数据集(D1 + D2)将准确性提高到84.4%(+0.3%)。这一发现表明,数据集混合扩展了增强图像空间,增加了难度和多样性,最终导致学生成绩的提高。
JFT数据增强:为了增加训练数据量,我们通过对JFT 300M[38]数据集重新采样到每个类130K张图像(总共130M张),在域添加类平衡数据。遵循嘈杂学生[48]协议,并使用ImageNet-1K训练的EfficientNet-B0,我们选择了相关阈值高于0.3的图像。对于数据丰富的类,我们选择前130K的图片;对于稀有类,我们复制图像以保持平衡。这个数据集被复制到,缩放了10倍。由于JFT的复杂性,我们应用较弱的增强(Inception Crop + RandAugment l2m5)。这形成了蒸馏数据集D3。表7显示单独使用JFT (D3)会导致2%的精度下降。然而,将JFT与ImageNet数据相结合,结果提高了0.6%,证明了额外数据对泛化的价值。
我们的蒸馏配方:我们的组合蒸馏配方动态地混合数据集D1、D2和D3,用于不同的增强,并利用类平衡的JFT数据。如表7和表8所示,与之前的SOTA相比,我们的方法实现了超过0.8%的top-1精度的一致性提高[4]。训练2000个epoch的mnv4 - convl学生模型获得85.9%的top-1准确率。这证明了我们方法的有效性:学生缩小了15倍在MACs上比它的老师EfficientNet-L2小48倍,但准确率只下降了1.6%。当将精馏与JFT上的预训练相结合时,mnv4 - convo - hybrid达到87.0%的top-1精度。
表7:使用mnv4 - convl作为学生的蒸馏结果,突出了SOTA的收益,并明确地标记了我们的贡献。
表8:训练方法之间的Top-1精度比较:这个表对比了基线ImageNet-1k训练、最先进的(SOTA)蒸馏和我们的蒸馏方法。
9. 结论
在本文中,我们介绍了MobileNetV4,这是一系列通用的、高效的模型,可在整个移动生态系统中高效运行。我们利用多项进步,使MobileNetV4在所有移动cpu, gpu, dsp和专用加速器上大多数是帕累托最优的,这是在任何其他测试模型中没有发现的特征。我们引入了新的通用倒瓶颈和移动MQA层,并将它们与改进的NAS食谱结合起来。将这些与一种新颖的、最先进的蒸馏方法相结合,我们在Pixel 8 EdgeTPU上以3.8ms延迟实现了87%的ImageNet-1K精度,推进了移动计算机视觉的发展。此外,我们介绍了一个理论框架和分析,以了解是什么使模型在异构设备上通用,为未来的设计指明了道路。我们希望新的贡献和分析框架进一步推动移动计算机视觉的进步。