摘要。我们介绍了最新一代 MobileNets,即 MobileNetV4 (MNv4),它具有适用于移动设备的通用高效架构设计。在其核心,我们引入了通用倒置瓶颈 (UIB) 搜索块,这是一种统一而灵活的结构,融合了倒置瓶颈 (IB)、ConvNext、前馈网络 (FFN) 和新颖的额外深度 (ExtraDW) 变体。除了 UIB,我们还介绍了 Mobile 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.8 毫秒。
1 简介
高效的设备内置神经网络不仅可以实现快速、实时和交互式体验,还可以避免通过公共互联网传输私人数据。 然而,移动设备的计算限制带来了平衡准确性和效率的重大挑战。为此,我们引入了 UIB 和 Mobile MQA,这两个创新的构建块通过精炼的 NAS 配方集成在一起,以创建一系列普遍的帕累托最优移动模型。 此外,我们还提出了一种进一步提高准确性的蒸馏技术。
我们的通用倒置瓶颈 (UIB) 块通过合并两个可选的深度卷积 [19] 改进了倒置瓶颈块 [36]。 尽管 UIB 很简单,但它统一了著名的微架构 - 倒置瓶颈 (IB)、ConvNext [32] 和 FFN [12] - 并引入了额外深度 (ExtraDW) IB 块。UIB 在空间和通道混合方面提供了灵活性、扩展感受野的选项以及增强的计算效率。
我们优化的移动 MQA 模块相对于多头注意力机制 (Multi-Head Attention) 在移动加速器上实现了超过 39% 的推理加速 [44]。
我们的两阶段 NAS 方法将粗粒度搜索和细粒度搜索分开,大大提高了搜索效率,并有助于创建比以前最先进的模型大得多的模型 [41]。此外,结合离线蒸馏数据集可减少 NAS 奖励测量中的噪音,从而提高模型质量。
通过集成 UIB、MQA 和改进的 NAS 配方,我们推出了 MNv4 模型套件,在包括 CPU、DSP、GPU 和专用加速器在内的各种硬件平台上实现了大部分帕累托最优性能。我们的模型系列涵盖了从极其紧凑的 MNv4-Conv-S 设计(具有 3.8M 个参数和 0.2G MAC,在 Pixel 6 CPU 上 2.4 毫秒内实现 73.8% 的 Top-1 ImageNet-1K 准确率)到 MNv4-Hybrid-L 高端变体(为移动模型准确率建立了新的参考),在 Pixel 8 EdgeTPU 上的运行时间为 3.8 毫秒)。我们新颖的蒸馏配方将数据集与不同的增强相结合,并添加平衡的类内数据,从而增强了泛化能力并进一步提高了准确率。 通过这种技术,MNv4-Hybrid-L 在 ImageNet-1K 上实现了令人印象深刻的 87% top-1 准确率:尽管 MAC 少了 39 倍,但与其老师相比仅下降了 0.5%。
图 1:MNv4 模型普遍符合帕累托最优:MNv4 与领先的高效模型相比,在不同硬件上的表现都十分出色。所有模型均在 ImageNet-1k 上进行训练。大多数模型都针对一种设备进行了优化,但 MNv4 在大多数设备上都符合帕累托最优。混合模型和 ConvNext 与 DSP 兼容。由于 PyTorch-to-TFLite 导出工具的限制,EfficientViTs [13] [14] 未在 CPU 和 EdgeTPU 上进行基准测试。由于缺乏 PyTorch 实现的 Mobile MQA,MNv4-Hybrid 模型被排除在 CoreML 评估之外。
2 相关工作
优化模型以提高准确性和效率是一个研究得很好的问题。
移动卷积网络:关键工作包括 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] 引入了自注意力近似,以降低线性复杂度,同时对准确性的影响很小。EfficientFormerV2 [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] 将训练和搜索分开以提高效率。
3 硬件独立的帕累托效率
图 2:脊点和延迟/准确度权衡:脊点测量屋顶线性能模型中内存带宽 MAC 之间的关系。如果内存带宽不变,则高计算硬件(加速器)的脊点高于低计算硬件(CPU)。MobileNetV4 从 0 到 500 MAC/字节的脊点大多是帕累托最优的。这些分析得出的(等式 1)图表反映了图 1 中的实际硬件测量值。
Roofline 模型:要使模型具有普遍的效率,它必须在具有截然不同的瓶颈的硬件目标上表现良好,这些瓶颈限制了模型的性能。这些瓶颈主要取决于硬件的峰值计算吞吐量及其峰值内存带宽。
为此,我们使用 Roofline 模型 [46],该模型可估算给定工作负载的性能并预测其是否存在内存瓶颈或计算瓶颈。简而言之,它抽象出特定的硬件细节,仅考虑工作负载的运行强度 (LayerMACsi/(WeightBytesi+ ActivationBytesi )) 与硬件处理器和内存系统的理论极限。内存和计算操作大致并行进行,因此两者中较慢的一个大致决定了延迟瓶颈。要将 Roofline 模型应用于以 i 为索引的层神经网络,我们可以计算模型推理延迟 ModelTime,如下所示:
在屋顶线模型中,硬件行为由脊点 (RP) 总结,即硬件的 PeakMACs 与 PeakMemBW 的比率。即实现最大性能所需的最小操作强度。2 为了针对具有各种瓶颈的硬件进行优化,如图 2 和图 3 所示,我们分析了算法的延迟,同时将 RP 从最低预期值 (0 MAC/字节) 扫描到最高预期值 (500 MAC/字节) — 请参阅附录 F 了解更多详细信息。屋顶线模型仅取决于数据传输与计算的比率,因此所有具有相同 RP 的硬件都会按延迟对工作负载进行相同的排序。3 这意味着,如果新目标的 RP 包含在扫描范围内,则扫描 RP 屋顶线分析(见下一段)适用于未来的硬件和软件。
脊点扫描分析:如图 2 和图 3 所示,屋顶线模型揭示了 MobileNetV4 模型如何实现与其他卷积 MobileNets 相比独立于硬件的帕累托最优性能。在低 RP 硬件(例如 CPU)上,模型更可能受到计算限制而不是内存限制。因此,为了改善延迟,您可以尽量减少 MAC 的总数,即使以增加内存复杂性为代价(MobileNetV3Large-1.5x)。数据移动是高 RP 硬件的瓶颈,因此 MAC 不会显著降低模型速度,但可以增加模型容量(MobileNetV1-1.5x)。因此,针对低 RP 优化的模型在高 RP 下运行缓慢,因为内存密集型和低 MAC 全连接 (FC) 层在内存带宽上成为瓶颈,无法利用高可用 PeakMAC。
MobileNetV4 设计:MobileNetV4 在投资 MAC 和内存带宽时取得平衡,以获得最大的成本回报,并特别关注网络的开始和结束。在网络开始时,MobileNetV4 使用大型且昂贵的初始层来大幅提高模型的容量和下游准确性。这些初始层由大量 MAC 主导,因此它们仅在低 RP 硬件上成本高昂。在网络结束时,所有 MobileNetV4 变体都使用相同大小的最终 FC 层来最大化准确性,即使这会导致较小的 MNV4 变体在高 RP 硬件上遭受更高的 FC 延迟。由于大型初始 Conv 层在低 RP 硬件上成本高昂,但在高 RP 硬件上成本不高,而最终 FC 层在高 RP 硬件上成本高昂,但在低 RP 硬件上成本不高,因此 MobileNetV4 模型永远不会同时出现这两种减速情况。换句话说,MNv4 模型能够使用昂贵的层来不成比例地提高准确性,但不会受到层的同时组合成本的影响,从而导致所有脊点都达到帕累托最优性能。
图 3:Op Cost vs Ridge Point:每个子图显示网络操作的 Roofline 延迟(等式 1)。网络从左侧开始。大型 Conv2D 在低脊点 (RP) 硬件上成本高昂(上行),但在高 RP 硬件上增加廉价模型容量(下行)。FC 层和 DW-Conv2D 在低 RP 时成本低廉,在高 RP 时成本高昂。MobileNetV4 在 MAC 密集型 Conv2D 层和内存密集型 FC 层对网络贡献最大的位置(分别是开始和结束)进行平衡。
4 通用倒置瓶颈
我们提出了通用倒置瓶颈 (UIB) 块,这是一种用于高效网络设计的可适应构建块,它能够灵活地适应各种优化目标,而不会增加搜索复杂性。UIB 扩展了 MobileNetV2 [36] 引入的倒置瓶颈 (IB) 块,后者已成为高效网络的标准构建块 [12、18、32、41]。
图 4:通用倒置瓶颈 (UIB) 块。
本文以最成功的 MobileNet 要素——可分离的深度卷积 (DW) 和逐点 (PW) 扩展和投影倒置瓶颈结构为基础,引入了一个新的构建块——通用倒置瓶颈 (UIB) 块,如图 4 所示。其结构相当简单。我们在倒置瓶颈块中引入了两个可选的 DW,一个在扩展层之前,一个在扩展层和投影层之间。 这些 DW 的存在或不存在是 NAS 优化过程的一部分,从而产生了新颖的架构。尽管这种修改很简单,但我们的新构建块很好地统一了一些重要的现有块,包括原始 IB 块、ConvNext 块和 ViT 中的 FFN 块。此外,UIB 引入了一个新变体:额外深度 IB (ExtraDW) 块。
除了允许在 NAS 期间使用灵活的 IB 结构外,我们还避免使用任何人为制定的缩放规则(例如 EfficientNet 中使用的规则),而是针对每个模型大小单独优化结构。为了避免 NAS SuperNet 的大小激增,我们共享了通用组件(逐点扩展和投影),并简单地将 DW 添加为额外的搜索选项。结合基于 SuperNet 的网络架构搜索算法,这种方法可以在不同的实例之间共享大多数参数(>95%),从而使 NAS 极其高效。
UIB 实例 UIB 块中的两个可选深度卷积有四种可能的实例(图 4),从而导致不同的权衡。
倒置瓶颈 (IB) - 对扩展的特征激活执行空间混合,以增加成本提供更大的模型容量。
ConvNext 通过在扩展之前执行空间混合,实现了更便宜的空间混合和更大的内核尺寸。
ExtraDW 是本文介绍的一种新变体,可以廉价地增加网络深度和接受域。它结合了 ConvNext 和 IB 的优点。
FFN 是两个 1x1 逐点卷积 (PW) 的堆叠,中间有激活层和规范化层。PW 是最适用于加速器的操作之一,但与其他块一起使用时效果最佳。
在每个网络阶段,UIB 都提供了灵活性,可以 (1) 实现临时的空间和通道混合权衡。(2) 根据需要扩大感受野。(3) 最大化计算利用率。
5 移动 MQA
在本节中,我们将介绍 Mobile MQA,这是一种专门针对加速器进行优化的新型注意力模块,可提供超过 39% 的推理速度。 操作强度的重要性:视觉模型的最新研究主要集中在减少算术运算 (MAC) 以提高效率。 然而,移动加速器性能的真正瓶颈往往不是计算,而是内存访问。这是因为加速器提供的计算能力远大于内存带宽。因此,简单地最小化 MAC 可能不会带来更好的性能。相反,我们必须考虑操作强度,即算术运算与内存访问的比率。 MQA 在混合模型中很有效:MHSA [44] 将查询、键和值投影到多个空间以捕获信息的不同方面。 多查询注意力 (MQA) [37] 通过在所有头上使用共享键和值来简化此过程。虽然多个查询头是必不可少的,但大型语言模型可以有效地共享一个用于键和值的头,而不会牺牲准确性 [7] [25]。当批处理 token 的数量与特征维度相比相对较小时,一个用于键和值的共享头可以大大减少内存访问需求,从而显著提高操作强度。 这通常是移动应用的混合视觉模型的情况,其中注意力只用于具有高特征维度的低分辨率后期阶段,并且批处理大小通常为 1。我们的实验证实了 MQA 在混合模型中的优势。如表 1 所示,与 MHSA 相比,MQA 在 EdgeTPU 和三星 S23 GPU 上实现了超过 39% 的加速,质量损失可以忽略不计(-0.03%)。MQA 还将 MAC 和模型参数减少了 25% 以上。据我们所知,我们是第一个将 MQA 用于移动视觉的公司。
结合非对称空间下采样:从 MQA(利用跨查询、键和值的非对称计算)中汲取灵感,我们将空间缩减注意力 (SRA) [45] 结合到优化的 MQA 块中,以缩小键和值的分辨率,但保留高分辨率查询。该策略的动机是观察到混合模型中空间相邻标记之间的相关性,这归因于早期层中的空间混合卷积滤波器。通过非对称空间下采样,我们在输入和输出之间保持相同的标记数,从而保持注意力的高分辨率并显著提高效率。与 [45] 不同,我们的方法用 3x3 深度卷积代替 AvgPooling,使用步幅为 2 进行空间缩减,提供了一种经济有效的方法来提高模型容量。 移动 MQA 我们在这里介绍我们的移动 MQA 块:
其中 SR 表示空间缩减,在我们的设计中是步长为 2 的 DW,或者在未使用空间缩减的情况下表示恒等函数。如表 2 所示,结合非对称空间下采样可使效率提高 20% 以上,同时准确度损失最小(-0.06%)。
表 1:MQA 带来的效率提升。基础模型是 MNv4-Conv-L。在最后阶段添加了额外的注意力模块。报告的百分比改进仅比较了注意力模块的延迟(基线 MHSA)。
表 2:通过移动 MQA 中的非对称空间下采样实现的改进:使用 MNv4-Hybrid-M 作为基础模型,在三星 S23 上进行评估。在倒数第二阶段的 16x16 像素处应用步长为 2 的下采样。
6 MNv4 模型设计
我们的设计理念:简洁与高效并存。在开发最新的 MobileNets 时,我们的核心目标是实现跨不同移动平台的帕累托最优。为了实现这一目标,我们首先对现有模型和硬件进行了广泛的相关性分析。通过实证研究,我们发现了一组组件和参数,它们既能确保不同设备之间的成本模型(延迟成本预测)具有高相关性,又能接近性能的帕累托前沿
我们的研究揭示了关键的见解:多路径效率问题:组卷积[52]和类似的多路径设计,尽管FLOP数量较低,但由于内存访问复杂性,效率可能会较低。
硬件支持至关重要:Squeeze 和 Excite (SE) [21]、GELU [16]、LayerNorm [1] 等高级模块在 DSP 上得不到很好的支持,LayerNorm 也落后于 BatchNorm [23],SE 在加速器上的速度很慢。
简单的力量:传统组件——深度和点式卷积、ReLU [35]、BatchNorm 和简单注意(例如 MHSA)——表现出卓越的效率和硬件兼容性。
根据这些发现,我们建立了一套设计原则:
– 标准组件:我们优先考虑广泛支持的元素,以实现无缝部署和硬件效率。
– 灵活的 UIB 块:我们新颖的可搜索 UIB 构建块允许自适应空间和通道混合、接受场调整和最大化计算利用率,通过网络架构搜索 (NAS) 促进效率和准确性之间的平衡折衷。
– 采用直接注意力:我们的移动 MQA 机制优先考虑简单性以实现最佳性能。
这些原则使 MobileNetV4 在所有评估的硬件上都达到帕累托最优。接下来,我们将详细介绍我们针对 UIB 模型搜索的改进的 NAS 配方,概述各种 MNv4-Conv 模型大小的特定搜索配置,并解释混合模型的构建。
6.1 完善 NAS 架构
为了有效地实例化 UIB 块,我们采用了 TuNAS [3],并进行了量身定制的增强以提高性能。 增强搜索策略:我们的方法通过实施两阶段搜索,减轻了 TuNAS 对较小过滤器和扩展因子的偏见(归因于参数共享)。该策略解决了 UIB 的深度层与其他搜索选项之间的参数数量差异。
粗粒度搜索:最初,我们专注于确定最佳过滤器大小,同时保持固定参数:具有默认扩展因子 4 的倒置瓶颈块和 3x3 深度核。
细粒度搜索:在初始搜索结果的基础上,我们搜索 UIB 的两个深度层的配置(包括它们的存在以及 3x3 或 5x5 的内核大小),保持扩展因子恒定为 4。
表 3 展示了通过我们的两阶段搜索实现的效率和模型质量的提高,相比传统的单阶段搜索,在单次 TuNAS 过程中探索统一的搜索空间
通过稳健训练增强 TuNAS TuNAS 的成功取决于准确评估架构质量,这对于奖励计算和策略学习至关重要。最初,TuNAS 利用 ImageNet-1k 来训练 Super-Net,但 ImageNet 上的模型性能受到数据增强、正则化和超参数选择的显著影响。鉴于 TuNAS 不断发展的架构样本,找到一组稳定的超参数具有挑战性。
我们通过离线蒸馏数据集解决了这个问题,从而无需额外的增强,并降低了对正则化和优化设置的敏感性。第 8 节详细介绍的 JFT 蒸馏数据集作为 TuNAS 的训练集,在表 4 中展示了显着的改进。我们认识到深度缩放模型在延长训练课程中超越了宽度缩放模型 [2],我们将 TuNAS 训练扩展到 750 个时期,从而产生更深、更高质量的模型。
表 4:JFT 蒸馏带来的性能提升:ImageNet-1k 上的 NAS 训练与 JFT 数据。重点突出了效率的提升和准确性的细微差异。
6.2 MNv4 模型的优化
我们从 NAS 优化的 UIB 块构建了 MNv4-Conv 模型,并针对特定的资源限制对其进行了定制。附录 A 中给出了更多详细信息。与其他混合模型一致,我们发现在卷积模型的最后阶段增加注意力是最有效的。在 MNv4-Hybrid 模型中,我们将 Mobile MQA 块与 UIB 块交织在一起以增强性能。有关全面的模型规范,请参阅附录 D。
7 结果
在本节中,我们展示了 MobileNet V4(MNv4)模型在 ImageNet-1K 分类和 COCO 对象检测中的大部分帕累托最优性能。
7.1 ImageNet 分类
实验设置:为了评估模型架构性能,我们遵循标准协议,仅使用 ImageNet-1k [11] 训练分割进行训练,并在其验证分割上测量 Top-1 准确率。我们的延迟分析涵盖了多种具有代表性的移动硬件选择,包括 ARM Cortex CPU(Pixel 6、Samsung S23)、Qualcomm Hexagon DSP(Pixel 4)、ARM Mali GPU(Pixel 7)、Qualcomm Snapdragon(S23 GPU)、Apple Neural Engine 和 Google 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-Conv-M 模型比 MobileOne-S4 和 FastViT-S12 快 50% 以上,同时在同等延迟下,Top-1 准确度比 MobileNet V2 提高了 1.5%。 在 S23 GPU 和 iPhone 13 CoreML (ANE) 上,MNv4 模型大多处于帕累托前沿。MIT-EfficientViT 是 S23 GPU 上最接近的竞争对手,在 CoreML 上,在相同准确度下,其延迟是 MNv4 的两倍多。针对 Apple Neural Engine 优化的 FastViT 在 CoreML 上排名第二,但在 S23 GPU 上的延迟是 MNv4 的 5 倍多。与许多混合模型一样,MNv4-hybrid 模型与 DSP 不兼容。尽管如此,MNv4-Conv 模型仍然是 DSP 上表现最好的模型,这凸显了它们在不同硬件平台上的领先兼容性和效率。MNv4-Conv 模型提供了卓越的硬件兼容性和效率。这一成功凸显了我们的 UIB 块、增强的 NAS 配方和精心设计的搜索空间的优势。MNv4-Hybrid 在 CPU 和加速器上实现了出色的性能,展示了我们的移动 MQA 设计的跨平台效率。
通用性对于移动模型至关重要,要求它们在不同的硬件平台上都能发挥最佳性能。我们的评估突出了现有模型在实现这一目标方面面临的挑战。MobileNet V3 在 CPU 上表现出色,但在 EdgeTPU、DSP 和 GPU 上表现不佳。FastViT 在 Apple 神经引擎上表现良好,但在 CPU 和 GPU 上表现不佳。EfficientViT 在 GPU 上表现良好,但在 Apple 神经引擎上表现不佳。 相比之下,MNv4-Conv 模型表现出卓越的兼容性,并在包括 CPU、GPU、Apple 神经引擎和 Google EdgeTPU 在内的各种硬件上实现了通用的帕累托最优性能。这种多功能性确保 MNv4-Conv 模型可以无缝部署在移动生态系统中,而无需进行任何特定于平台的调整,为移动模型通用性树立了新的标杆。
7.2 COCO 物体检测
实验设置:我们在 COCO 17 [31] 数据集上评估了 MNv4 主干在对象检测任务中的有效性。我们将 M 大小的 MNv4 主干与具有相似数量 MAC 的 SOTA 高效主干进行比较。 对于每个主干,我们使用 RetinaNet [30] 框架构建一个对象检测器。我们将一个 256 维 FPN [29] 解码器连接到 P3 - P7 端点,并将一个 256 维预测头连接到 4 个卷积层。与移动检测器一样,我们采用深度可分离卷积来降低 FPN 解码器和框预测头的计算复杂度。我们在 COCO 17 [31] 训练集上对所有模型进行了 600 次训练。所有图像都调整为 384px,并使用随机水平翻转、随机缩放以及 Randaug [9] 进行增强。 我们从 Randaug 中排除了剪切和旋转增强,因为这些变形会降低小物体检测的 AP。训练使用 2048 批量大小、Adam [24] 和 0.00003 的 L2 权重衰减进行。我们使用余弦学习率计划和 24 个时期预热,并分别调整每个模型的学习率。对于所有基线,我们设置滤波器乘数,以便 MAC 大致相当。在分类实验之后,MobileNet V4 主干使用 0.2 的随机下降 [22] 率进行训练。所有 MobileNet 基线均使用官方 Tensorflow Model Garden [17] 实现进行训练。我们在 Tensorflow 中重新实现了 EfficientFormer。
结果:实验结果报告于表 6 中。参数、MAC 和基准是使用整个检测器在 384px 输入分辨率下计算的。中等尺寸的仅卷积 MNv4-Conv-M 检测器实现了 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-Conv-M 增加了 +1.6%,证明了 MNv4 在其混合形式下对于物体检测等任务的有效性和效率。
表 6:COCO-17 [31] 验证集上的对象检测结果。宽度乘数在按比例放大的 MobileNet 主干旁边报告。
8 强化蒸馏配方
作为架构创新的补充,蒸馏是提高机器学习效率的有力工具。它的好处对于移动模型尤其明显,可能在严格的部署约束下提供数倍的效率提升。在强大的耐心教师蒸馏基线 [4] 的基础上,我们引入了两种新技术来进一步提高性能。 动态数据集混合:数据增强对于蒸馏性能至关重要。虽然先前的方法依赖于固定的增强序列,但我们发现动态混合具有不同增强策略的多个数据集可以获得更好的蒸馏结果。我们尝试了三个关键的蒸馏数据集:
D1:Inception Crop [39] 后跟 RandAugment [10] l2m9,应用于 500 个 ImageNet-1k 副本。 D2:Inception Crop 后跟极端 Mixup [51],应用于 1000 个 ImageNet1k 副本(镜像 Patient Teacher 方法)。
D1 + D2:训练期间 D1 和 D2 的动态混合。
表 7 中的结果表明,D2 在学生准确率方面优于 D1(84.1% vs. 83.8%)。但是,动态混合数据集(D1 + D2)可将准确率提高到 84.4% (+0.3%)。这一发现表明,数据集混合扩大了增强图像空间,增加了难度和多样性,最终提高了学生的表现。
JFT 数据增强:为了增加训练数据量,我们通过将 JFT-300M [38] 数据集重新采样为每类 130K 张图像(总共 130M 张)来添加域内、类别平衡的数据。遵循 Noisy Student [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 [4] 相比,我们的方法实现了超过 0.8% 的 top-1 准确率的持续提升。对 MNv4-Conv-L 学生模型进行 2000 次训练可获得 85.9% 的 top-1 准确率。 这证明了我们方法的有效性:与老师 EfficientNet-L2 相比,学生的参数小 15 倍,MAC 小 48 倍,但准确率仅下降 1.6%。当将蒸馏与 JFT 上的预训练相结合时,MNv4-Conv-Hybrid 的 top-1 准确率达到 87.0%。
表 7:使用 MNv4-Conv-L 作为学生的蒸馏结果,突出显示了相对于 SOTA 的收益并明确标记了我们的贡献。
表 8:跨训练方法的 Top-1 准确度比较:该表对比了基线 ImageNet-1k 训练、最先进 (SOTA) 蒸馏和我们的蒸馏方法。
9 结论
在本文中,我们介绍了 MobileNetV4,这是一系列通用、高效的模型,经过调整后可在整个移动生态系统中高效运行。我们利用多项进步,使 MobileNetV4 在所有移动 CPU、GPU、DSP 和专用加速器上都达到帕累托最优,这是其他测试模型所不具备的特性。我们引入了新的 Universal Inverted Bottleneck 和 Mobile MQA 层,并将它们与改进的 NAS 配方相结合。将这些与新颖的、最先进的蒸馏方法相结合,我们在 Pixel 8 EdgeTPU 上以 3.8 毫秒的延迟实现了 87% 的 ImageNet-1K 准确率,推动了移动计算机视觉的最新发展。此外,我们还引入了一个理论框架和分析,以了解是什么让模型在异构设备上具有通用性,为未来的设计指明了方向。我们希望新颖的贡献和分析框架能够进一步促进移动计算机视觉的发展。