A Study on Inference Latency for Vision Transformers on Mobile Devices

该研究通过对比 190 个真实世界视觉 Transformer 与 102 个卷积神经网络在移动设备上的性能,揭示了影响延迟的关键因素,并构建了包含 1000 个合成模型的大规模数据集,成功实现了对新视觉 Transformer 推理延迟的准确预测。

Zhuojin Li, Marco Paolieri, Leana Golubchik

发布于 2026-02-20
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是一份**“手机跑图大揭秘”**,主要研究了为什么现在的手机在运行一种叫"Vision Transformer (ViT)"的高级 AI 模型时,有时候会慢得像蜗牛,有时候又挺快。

为了让你更容易理解,我们可以把整个过程想象成**“在一个拥挤的厨房里做一顿复杂的晚餐”**。

1. 背景:为什么我们要关心这个?

以前,只有超级计算机(像云端服务器)才能处理复杂的图像识别(比如识别猫、狗、或者增强现实游戏)。现在,手机越来越强,也能干这些活了。

但是,AI 界有两种主要的“厨师”:

  • CNN(传统卷积神经网络): 像是一个经验丰富的老厨师。他切菜、炒菜很有章法,一次只处理一小块区域(比如先切葱,再切肉),虽然步骤多,但很稳,手机跑起来很顺手。
  • ViT(视觉 Transformer): 像是一个天才但有点“强迫症”的新厨师。他看菜的时候,不是只看眼前这一小块,而是一眼扫过整个盘子,思考每一块菜和盘子里其他所有菜的关系(这就是论文里说的“自注意力机制”)。虽然做出来的菜(识别结果)可能更美味、更精准,但他思考的过程非常烧脑,而且特别费内存。

论文的核心问题就是: 在资源有限的手机厨房里,这位“天才新厨师”(ViT)到底会不会把厨房(手机)搞崩溃?我们怎么知道他在不同手机上跑得快不快?

2. 研究发现:为什么 ViT 在手机上这么“难搞”?

作者测试了 190 种真实的 ViT 模型和 102 种 CNN 模型,发现了一些有趣的现象:

  • 现象一:同样的工作量,ViT 更慢。

    • 比喻: 假设老厨师(CNN)和天才厨师(ViT)都要切 1000 刀。老厨师切得行云流水,而天才厨师虽然也切了 1000 刀,但他每切一刀都要停下来思考“这块肉和那块菜有什么关系”,导致总时间变长了。
    • 结论: 即使计算量(FLOPs)差不多,ViT 在手机上跑起来通常比 CNN 慢。
  • 现象二:ViT 是个“内存饥渴症”患者。

    • 比喻: 老厨师只需要一个小案板(内存)就能干活。但天才厨师需要把整个厨房的食材都摆在桌子上,还要随时拿起来对比,所以他的案板(内存)需求大得多。
    • 结论: ViT 对手机内存的占用更大,而且随着图片变清晰(分辨率变高),它需要的内存会像火箭一样飙升。
  • 现象三:手机里的“工具”不一样,速度天差地别。

    • 比喻: 就像做菜,用“中式菜刀”和用“西式主厨刀”切出来的速度不一样。
    • 结论: 手机里运行 AI 的软件框架(比如 PyTorch Mobile 和 TensorFlow Lite)就像不同的刀具。有时候同一个模型,用 A 框架跑要 10 秒,用 B 框架跑只要 5 秒。而且,内存的排列方式(像切菜是横着切还是竖着切)也会极大地影响速度。
  • 现象四:有些“调料”(激活函数)很看心情。

    • 比喻: 做菜的“激活函数”(比如 GELU)就像一种特殊的调料。有时候加一点,味道(计算速度)很好;有时候加多了,或者食材(输入数据)稍微变一点,这调料就变得很难处理,导致速度突然变慢。
    • 结论: 传统的计算方法(数有多少刀)算不准 ViT 的速度,因为这种“调料”的速度取决于具体的食材(数据值)。

3. 作者做了什么?(造了一个“模拟器”)

既然直接测试所有可能的模型太慢、太贵,作者决定**“造一个虚拟厨房”**。

  • 构建数据集: 他们设计了一个“乐高积木”式的生成器,可以组合出 1000 种不同的虚拟 ViT 模型。
  • 全面测试: 他们在 6 种不同的手机(从苹果到三星,从高端到低端)和 2 种主流软件框架上,把这些虚拟模型跑了一遍,记录了详细的数据。
  • 结果: 他们得到了一个超级详细的**“手机 AI 跑分数据库”**。

4. 这个数据库有什么用?(预测未来的速度)

有了这个数据库,作者训练了一个**“预言家”(AI 预测模型)**。

  • 场景一:自动设计 AI(NAS)。

    • 以前,想设计一个新的 AI 模型,得把它真正放到手机上跑一遍才知道快不快,这太慢了。
    • 现在,有了这个“预言家”,设计师只要输入模型的结构,它就能秒级预测出:“这个模型在 iPhone 12 上大概需要 50 毫秒”。这让设计师可以像试衣服一样,快速筛选出既聪明又跑得快的模型。
  • 场景二:云端协作(Split Inference)。

    • 有些模型太大,手机跑不动。这时候可以把模型切两半,一部分在手机算,一部分在云端算。
    • “预言家”可以告诉我们要切在哪里最划算:是手机多算一点省流量,还是云端多算一点省时间?它能精准计算出每一部分的耗时,帮你找到最佳平衡点。

5. 总结

这篇论文就像给手机 AI 开发者提供了一张**“避坑指南”和“导航地图”**:

  1. 提醒: 别盲目用最新的 ViT 模型,它们在手机上可能比传统模型更慢、更吃内存。
  2. 工具: 我们提供了一个巨大的数据集和预测工具,让你不用真的去跑模型,就能知道它快不快。
  3. 未来: 只要有了这个工具,未来的手机 AI 就能更聪明、更流畅,让我们在手机上看高清视频、玩 AR 游戏时不再卡顿。

简单来说,就是**“用大数据和预测算法,帮我们在手机这个‘小厨房’里,把‘大厨师’(ViT)安排得明明白白,让他干活既快又好。”**

在收件箱中获取类似论文

根据您的兴趣定制的每日或每周摘要。Gist或技术摘要,使用您的语言。

试用 Digest →