Apple提出FastViT:快速卷积和Transformer混合架构

导读
本文提出了一种通用的 cnn 和 transformer 混合的视觉基础模型,移动设备和 imagenet 数据集上的精度相同的前提下,fastvit 比 cmt 快3.5倍,比 efficientnet 快4.9倍,比 convnext 快1.9倍
太长不看版
本文是 mobileone 原班人马打造,可以看做是 mobileone 的方法在 transformer 上的一个改进型的应用。作者取名 fastvit,是一种 cnn,transformer 混合架构的低延时模型。作者引入了一种新的 token mixer,叫做 repmixer,它使用结构重新参数化技术,通过删除网络中的 shortcut 来降低内存访问成本。
进一步使用大核卷积使得 fastvit 精度得到提升,而且不怎么影响延时。在移动设备和 imagenet 数据集上的精度相同的前提下,fastvit 比 cmt 快3.5倍,比 efficientnet 快4.9倍,比 convnext 快1.9倍。在类似的延迟下,fastvit 在 imagenet 上获得的 top-1 准确率比 mobileone 高 4.2%,是一种极具竞争力的混合架构模型。
1 fastvit:快速卷积 transformer 的混合视觉架构
论文名称:fastvit: a fast hybrid vision transformer using structural reparameterization
在cver微信公众号后台回复:fastvit,可以下载本论文pdf、代码
论文:https://arxiv.org/pdf/2303.14189
代码:https://github.com/apple/ml-fastvit
1.1 背景和动机
本文的目标是做一个卷积,attention 的低延时混合架构,因为这种架构有效地结合了 cnn 和 transformer 的优势,在多个视觉任务上有竞争力。本文的目标是建立一个模型,实现 sota 的精度-延时 trade-off。
本文的出发点是最近的像 cmt[1],lit[2]等 cnn 和 transformer 混合架构的模型都遵循 metaformer[3] 的架构,它由带有 skip-connection 的 token mixer 和带有 skip-connection 的前馈网络 (feed forward network) 组成。由于增加了内存访问成本 (memory access cost),这些跳过连接在延迟方面占了很大的开销。为了解决这个延迟开销,本文提出 repmixer,这是一个完全可以重参数化的令牌混合器,它的特点1是使用结构重参数化来删除 skip-connection。
repmixer 的特点2是在训练期间为主要的层添加一些过参数化的额外的分支,以在训练时提升模型的精度,在推理时全部消除。repmixer 的特点3是在网络中使用了大核卷积在前几个阶段替换掉 self-attention。具体是在前馈网络 (ffn) 层和 patch embedding 层中加入了大核卷积。这些更改对模型的总体延迟影响很小,同时提高了性能。
对于性能这块作者在 iphone 12 pro 设备和 nvidia rtx-2080ti desktop gpu 上进行了详尽的分析,实验结果如下图1所示。可以看到在两种设备上,fastvit 都实现了最佳的精度-延时的权衡。
图1:iphone 12 pro 设备和 nvidia rtx-2080ti desktop gpu 上的精度-延时比较
1.2 fastvit 模型架构
fastvit 整体架构如下图2所示。
stage 的内部架构
fastvit 采用了4个 stage 的架构,每个 stage 相对于前一个的分辨率减半,通道数加倍。前3个 stage 的内部架构是一样的,都是训练的时候采用下式:
推理的时候采用结构重参数化得到下式:
第4个 stage 的内部架构如图2 (a) 所示,采用 attention 来作为 token mixer,可能是为了性能考虑,宁愿不采用结构重参数化,牺牲延时成本,以换取更好的性能。
值得注意的是,每个 stage 中的 ffn 使用的并不是传统的 ffn 架构,而是如图2 (c) 所示的,带有大核 7×7 卷积的 convffn 架构。
图2:fastvit 模型架构
stem 的结构
stem 是整个模型的起点,如图2 (b) 所示,fastvit 的 stem 在推理时的结构是 3×3 卷积 + 3×3 depth-wise 卷积 + 1×1 卷积。在训练时分别加上 1×1 分支或者 identity 分支做结构重参数化。
patch embedding 的架构
patch embedding 是模型在 stage 之间过渡的部分,fastvit 的 patch embedding 如图2 (a) 所示,在推理时的结构是 7×7 大 kernel 的 depth-wise 卷积 + 1×1 卷积。在训练时分别加上 3×3 分支做结构重参数化。
位置编码
位置编码使用条件位置编码,它是动态生成的,并以输入 token 的局部邻域为条件。这些编码是由 depth-wise 运算符生成的,并添加到 patch embedding 中。
1.3 repmixer 的延时优势
如下图3所示,作者对比了 repmixer 和高效的 pooling 操作的延时情况。架构使用的是 metaformer s12,大概有 1.8 gflops。作者在 iphone 12 pro 移动设备上为从 224×224 到 1024×1024 的各种输入分辨率的模型计时。可以看到 repmixer 明显优于 pooling,尤其是在较高分辨率的时候。在分辨率为 384×384 时,使用 repmixer 可以降低 25.1% 的延迟,而在分辨率为 1024×1024 时,使用 repmixer 可以降低 43.9% 的延迟。
图3:repmixer 的延时优势
1.4 fastvit 的大核卷积
repmixer 的感受野是局部的。我们知道 self-attention 操作的感受野是全局的,但是 self-attention 操作计算量昂贵,因此之前有工作说使用大核卷积可以在计算量得到控制的情况下有效增加感受野的大小。fastvit 在两个位置引入了大核卷积,分别是 patch embedding 层和 ffn。对比实验的结果如下图4所示。将 v5 与 v3 进行比较,模型大小增加了 11.2%,延迟增加了 2.3 倍,而 top-1 精度的增益相对较小,只有 0.4%,说明使用大核卷积来替换 self-attention 是一种高效,节约延时的方式。v2 比 v4 大 20%,延时比 v4 高 7.1%,同时在 imagenet 上获得相似的 top-1 精度。
图4:大核卷积的消融实验
随着感受野的增加,大核卷积也有助于提高模型的鲁棒性。fastvit 各种模型的超参数配置如下图5所示。
图5:fastvit 的超参数配置
1.5 实验结果
imagenet-1k 图像分类实验结果
如下图6所示是 imagenet-1k 图像分类实验结果。对于 iphone 设备延时的测量,作者使用 core ml tools (v6.0) 导出模型,并在带有 ios 16 的 iphone12 pro max 上运行,并将所有模型的 batch size 大小设置为1。对于 gpu延时的测量,作者把模型导出为 tensorrt (v8.0.1.6) 格式,并在 nvidia rtx-2080ti 上运行,batch size 大小为8,报告100次运行的中位数。
与 sota 模型的性能比较如下图6所示。本文的 fastvit 实现了最佳的精度-延时均衡,比如 fastvit-s12 在 iphone 12 pro 上比 mobileone-s4 快 26.3%,gpu 上快 26.9%。在 83.9% 的 top-1 精度下,fastvit-ma36 比 iphone 12 pro 上优化的 convnext-b 模型快 1.9倍, gpu上快2.0倍。
图6:imagenet-1k 图像分类实验结果
知识蒸馏实验结果
如下图7所示是 fastvit 作为学生模型的知识蒸馏实验结果。作者遵循 deit 中的实验设置,regnet16gf 作为教师模型,使用 hard distillation,其中教师的输出设置为 true label,一共训练300个 epochs。fastvit 优于最近最先进的模型 efficientformer。fastvit-sa24 的性能与 efficientformer-l7 相似,但参数少3.8倍,flops 少2.7倍,延迟低2.7倍。
图7:知识蒸馏实验结果
目标检测和语义分割实验结果
对于语义分割,作者在 ade20k 上验证了模型的性能语义分割模型头使用的是 semantic fpn,所有的模型都是用预先训练好的对应图像分类模型的权重进行初始化。在 512×512 的设置上估计 flops 和延迟。由于输入图像的分辨率较高,在表9和表10中,gpu 延迟在测量时使用了大小为2的 batch size。在图8中,作者将 fastvit 与最近的工作进行了比较。fastvit-ma36 的 miou 比 poolformer-m36 高 5.2%,但是 poolformer 具有更高的 flops、参数量和延迟。
图8:语义分割实验结果
目标检测和实例分割实验实验 ms-coco 数据集,实验结果如下图9所示。所有模型都使用 mask-rcnn 目标检测和实例分割头按照 1x schedule 进行训练。所有的模型都是用预先训练好的对应图像分类模型的权重进行初始化。结果显示出 fastvit 在多种延迟机制下实现了最先进的性能。fastvit-ma36 模型的性能与 cmt-s 相似,但在桌面gpu 和移动设备上分别快2.4倍和4.3倍。
图9:目标检测和实例分割实验结果
总结
本文提出了一种通用的 cnn 和 transformer 混合的视觉基础模型,是由 mobileone 原班人马打造,可以看做是 mobileone 的方法在 transformer 上的一个改进型的应用。作者引入了一种新的 token mixer,叫做 repmixer,它使用结构重新参数化技术,通过删除网络中的 shortcut 来降低内存访问成本,尤其是在较高分辨率时。作者还提出了进一步的架构更改,以提高 imagenet 分类任务和其他下游任务的性能。在移动设备和 imagenet 数据集上的精度相同的前提下,fastvit 比 cmt 快3.5倍,比 efficientnet 快4.9倍,比 convnext 快1.9倍。在类似的延迟下,fastvit 在 imagenet 上获得的 top-1 准确率比 mobileone 高 4.2%,是一种极具竞争力的混合架构模型。

char *和char数组的区别及内核访问用户区
【知识】聊一聊BMS系统上适用连接器有哪些性能要求
还不快些升级!升级iOS10.3后iPhone可用容量立即暴升
盘点:电机故障五大元凶,及其故障处理
存储产品成为了本次CES的一大亮点,引领市场发展新趋势
Apple提出FastViT:快速卷积和Transformer混合架构
康佳特推出基于英特尔凌动® x6000E系列处理器的五种模块
超级电容器用在儿童玩具上,能起到什么作用?
华为首款台式机MateStation跑分测试
解析SMT生产FPC工艺要点
贴片电容材质的种类
Diodes公司推出行业最小双极型晶体管
诺基亚X拆解 结构简单但做工一点也不马虎
第二届“计量”科普节启动仪式暨元宇宙计量博物馆发布会隆重举行
北京开放自动驾驶出租车服务,市民可免费试乘体验
第二届百度AI开发者大会:全球首款自动驾驶巴士—“阿波龙”量产下线
振动电子装置可以减轻皮肤癌切除带来的疼痛
Aerotenna借助赛灵思Zynq SoC 器件的处理能力和I/O功能
30V的驱动晶体管降压DC/DC转换器
快速实现Modbus和Profinet互转的方案