摘要:视觉Transformer在计算机视觉任务领域发展循序,取得了令人深刻的优异表现。但是由于模型中注意力机制的设计和海量的参数使得基于ViT的模型往往比轻量级的卷积模型慢好几倍。因此使得VT的实时性部署就十分具有挑战性,尤其想在移动端这种资源受限的硬件上。近期有的研究尝试通过NAS或混合设计化简ViT的计算复杂度,但是推理速度仍然不尽如人意。从而衍生一个重要的问题:Transformer真的能在保持高性能的前提下达到和MobileNet一样的速度吗?为了回答这一问题本文首先回顾了ViT的网络结构额其中使用的运算操作,找到其中低效的部分。然后本文引入一个维度一致的Transformer模型作为设计范式。最后本文进行延迟驱动的裁剪惹怒来获得一系列EfficientFormer。实验结果显示获得的模型在移动端上性能和推理速度都十分有益,最优秀的模型在ImageNet-1K上达到了79.2%的分类精度同时在iPhone12上的推理速度进位1.6ms,比MobineNet的速度还快。本文最大的模型L7则达到了7.0ms推理速度下83.3%的分类精度,本文的工作证明了对Transformer进行设计后可以在移动端同时保证高精度和快速推理。
transformer 运行速度慢的原因分析:
(1)参数量大
(2)随着 token 长度增加计算复杂度呈二次增加
(3)norm layer 不可融合
(4)缺乏编译器级别优化 (比如 CNN 中的 Winograd)
本文提出了一种dimension-consistent的纯transformer网络,另外通过 latency-driven slimming来得到一系列最终模型 (面向运行时间优化,而不是 MAC 或参数量)
(1)大 kernel 和 stride 的 patch embedding 是在移动设备上的速