FlashVLA: Think Twice, Act Once - Token-Aware Compression and Action Reuse for Efficient Inference in Vision-Language-Action Models
首个免训练、即插即用的VLA推理加速框架,通过动作复用和视觉token剪枝实现55.7% FLOPs降低和36.0%延迟降低
FlashVLA: Think Twice, Act Once - Token-Aware Compression and Action Reuse for Efficient Inference in Vision-Language-Action Models
一、论文概述
| 项目 | 内容 |
|---|---|
| 标题 | Think Twice, Act Once: Token-Aware Compression and Action Reuse for Efficient Inference in Vision-Language-Action Models |
| 作者 | Xudong Tan†, Yaoxin Yang†, Peng Ye, Jialin Zheng, Bizhe Bai, Xinyi Wang, Jia Hao, Tao Chen (†同等贡献) |
| 机构 | 复旦大学、上海人工智能实验室、香港中文大学、张江实验室 |
| 论文 | https://arxiv.org/abs/2505.21200 |
| 代码 | 未公开 (截至发布时) |
| 发布 | 2025年5月27日 |
| 许可 | CC BY 4.0 |
| 领域 | Computer Vision and Pattern Recognition (cs.CV) |
二、核心思想
问题定义
Vision-Language-Action (VLA) 模型作为通用机器人控制的强大范式,通过自然语言指令实现机器人行为控制。然而,VLA模型在推理时面临严重的计算效率问题:
- 大规模token计算开销:Transformer架构对序列长度N具有O(N²)的二次复杂度
- 自回归解码延迟:逐步生成动作的方式限制了实时部署能力
- 双重冗余:
- 动作级冗余:连续时间步的动作输出高度相似(方向变化极小),存在大量语义冗余
- 视觉token冗余:大量视觉token对推理过程贡献甚少,注意力分布在初始几层之后高度稀疏
这些瓶颈使得VLA模型难以在高频控制场景和边缘设备上部署,限制了其在复杂双臂操作等精细任务中的应用。
解决方案概述
FlashVLA 提出了一个免训练 (training-free) 且即插即用 (plug-and-play) 的双路径加速框架,核心理念是”Think Twice, Act Once”(三思而后行):
- Token感知动作复用机制 (Token-Aware Action Reuse):通过比较动作相似性和视觉token稳定性,决定是否跳过当前推理步骤,直接复用上一步的动作输出
- 信息引导视觉token选择策略 (Information-Guided Visual Token Selection):基于信息贡献理论(Information Contribution Theory),通过SVD分解评估每个token的信息贡献分数,保留高贡献token,剪除低贡献token
FlashVLA与基于Flash Attention的VLA模型完全兼容,在推理前进行轻量级评估,在”跳过执行”和”轻量执行”之间选择,显著减少FLOPs和延迟的同时保持控制精度。
三、技术架构
整体框架
FlashVLA的框架由以下核心组件构成:
输入: 图像 + 语言指令
│
▼
┌─────────────────────────────────────────┐
│ 视觉编码器 (DINOv2 + SigLIP) │
│ + 投影层 (Projector) │
└─────────────┬───────────────────────────┘
│ 视觉token序列 T_v = {T_1^v, ..., T_N^v}
│ 语言token序列 T_l = {T_1^l, ..., T_M^l}
▼
┌─────────────────────────────────────────────────────────┐
│ FlashTrigger 决策模块 │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ Action Memory │ │ Token Memory │ │ Trigger Thinking│ │
│ │ 存储前2帧动作 │ │ 存储前2帧token │ │ 决策模块 │ │
│ │ 计算角度α(s) │ │ 集合I,交集率φ │ │ Reuse/Prune │ │
│ └──────────────┘ └──────────────┘ └───────────────┘ │
└────────┬────────────────────────────────┬────────────────┘
│ 满足复用条件 │ 不满足复用条件
▼ ▼
┌─────────────────┐ ┌──────────────────────────┐
│ Reuse Action │ │ Pruned Inference │
│ 直接复用上一帧 │ │ ┌────────────────────┐ │
│ 动作输出 A(s-1) │ │ │ ICS Token Selection │ │
│ │ │ │ 选择Top-K重要token │ │
│ │ │ └────────┬───────────┘ │
│ │ │ ▼ │
│ │ │ LLaMA语言模型推理 │
│ │ │ (使用剪枝后的token集) │
│ │ └──────────┬───────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ 输出: 动作 A(s) │
│ 更新 Action Memory & Token Memory │
└─────────────────────────────────────────┘
核心公式
1. 视觉Token选择:信息贡献分数 (ICS)
SVD分解:
对视觉token的注意力输出矩阵 进行奇异值分解:
其中 包含左奇异向量, 包含右奇异向量, 为奇异值对角矩阵( 按降序排列)。
Token表示分解(公式1):
其中 为矩阵的有效秩。
信息贡献分数 ICS(公式2):
该分数衡量token在主要奇异方向上的投影幅度(以对应奇异值加权)。 越高的token对整体表示的贡献越大。
2. 理论保证:ICS vs 随机选择
保留信息量(公式3):
对选中的token子集 (),保留信息量通过Frobenius范数衡量:
Cauchy-Schwarz不等界(公式4):
ICS选择的保留信息(公式5):
随机选择的期望保留信息(公式6):
结论: 由于按 排序的Top-K tokens主导了全局求和,因此 ,即ICS选择策略在实践中保留了更多的结构信息。
3. Token感知动作复用策略
动作角度变化(公式7):
Action Memory存储前两帧动作输出 和 ,计算夹角:
视觉token集合交集率(公式8):
Token Memory动态更新并存储前两帧的ICS选中集合 和 ,计算交集比率:
token变化阈值(公式9):
设 为允许的最大token集合变化数,阈值 定义为:
Trigger Thinking 决策(公式10):
- 当动作角度变化 且token交集率 时:复用上一帧动作,跳过推理
- 否则:执行剪枝推理,仅使用ICS选出的重要视觉token子集进行推理
关键设计: 无论是否复用动作,FlashVLA都持续加速推理过程——复用时跳过整个推理,非复用时通过token剪枝减少计算量。前两帧不应用复用以确保稳定性。
模型组件
| 组件 | 说明 | 关键参数 |
|---|---|---|
| 视觉编码器 | DINOv2 + SigLIP 双编码器 | 输入图像224×224,输出256个视觉token |
| 投影层 | 将视觉特征映射到语言嵌入空间 | 视觉token维度d与LLaMA隐藏维度对齐 |
| 语言模型 | LLaMA作为骨干网络 | 7B参数,Flash Attention加速 |
| Action Memory | 存储前2帧动作向量 | , |
| Token Memory | 存储前2帧ICS选中的token集合 | , |
| Trigger Thinking | 双条件决策模块 | (角度阈值), (token交集阈值) |
| ICS Calculator | 基于SVD的信息贡献分数计算 | 对注意力输出矩阵进行SVD分解 |
训练流程
FlashVLA是免训练的 (training-free),无需任何额外训练或微调。它直接应用于已训练好的VLA模型(如在LIBERO上微调的OpenVLA),作为推理时的加速插件使用。
实现细节:
- 所有实验在单张NVIDIA H100 GPU上进行
- 基础模型:在LIBERO仿真基准上微调的OpenVLA(7B参数)
- 默认超参数:, 根据视觉token数量设置:
- 192 tokens →
- 160 tokens →
- 128 tokens →
- 96 tokens →
四、核心创新
| 创新点 | 说明 | 理论/实验依据 |
|---|---|---|
| 双重冗余发现 | 首次识别VLA推理中的动作级和token级双重冗余 | 动作向量角度变化分析显示连续帧高度相似(Figure 1);注意力分布分析显示视觉token稀疏性(Appendix C) |
| 免训练加速框架 | 首个免训练、即插即用的VLA加速框架 | 无需额外训练或微调,直接应用于已训练模型 |
| ICS token选择策略 | 基于SVD的信息贡献分数,兼容Flash Attention | 理论证明ICS选择优于随机选择(Cauchy-Schwarz不等式);与Flash Attention完全兼容,而传统注意力分数方法不可行 |
| Token感知动作复用 | 同时考虑动作向量和视觉token稳定性的双信号复用机制 | 消融实验证明ActionVector和TokenSet互补:前者捕获时间连续性,后者反映环境变化 |
| ”Think Twice, Act Once”范式 | 推理前轻量评估,选择跳过或轻量执行 | 即使不复用动作,剪枝推理也减少计算;持续加速而非条件加速 |
五、实验结果
基准测试
评估环境: LIBERO仿真基准(Franka Emika Panda机械臂),包含4个任务套件:
- LIBERO-Spatial:不同空间布局下的操作
- LIBERO-Object:不同物体类型的操作
- LIBERO-Goal:不同目标规范的操作
- LIBERO-Long:长时序任务序列
每个套件包含500个专家演示,覆盖10个任务。
评估指标: 成功率 (SR)、推理延迟、视觉token FLOPs
主要结果(Table 1)
| 任务 | 指标 | 256 tokens (基线) | 192 (75%) | 160 (62.5%) | 128 (50%) | 96 (37.5%) |
|---|---|---|---|---|---|---|
| LIBERO-Spatial | SR (%) | 84.2 | 81.8 (-2.4) | 82.6 (-1.6) | 75.4 (-8.8) | 67.0 (-17.2) |
| FLOPs (×10¹²) | 1.31 | 0.80 (-38.9%) | 0.66 (-49.6%) | 0.51 (-61.1%) | 0.43 (-67.2%) | |
| Latency (ms) | 82.7 | 62.7 (-24.2%) | 61.2 (-26.0%) | 58.1 (-29.7%) | 58.9 (-28.8%) | |
| LIBERO-Object | SR (%) | 86.4 | 86.6 (+0.2) | 86.6 (+0.2) | 85.2 (-1.2) | 83.6 (-2.8) |
| FLOPs (×10¹²) | 1.31 | 0.74 (-43.5%) | 0.57 (-56.5%) | 0.42 (-67.9%) | 0.33 (-74.8%) | |
| Latency (ms) | 82.7 | 58.8 (-28.9%) | 53.1 (-35.8%) | 45.3 (-45.2%) | 47.2 (-42.9%) | |
| LIBERO-Goal | SR (%) | 75.4 | 76.2 (+0.8) | 78.8 (+3.4) | 76.8 (+1.4) | 70.2 (-5.2) |
| FLOPs (×10¹²) | 1.31 | 0.71 (-45.8%) | 0.60 (-54.2%) | 0.49 (-62.6%) | 0.37 (-71.8%) | |
| Latency (ms) | 82.7 | 55.2 (-33.3%) | 56.8 (-31.3%) | 54.1 (-34.6%) | 53.8 (-34.9%) | |
| LIBERO-Long | SR (%) | 51.4 | 50.2 (-1.2) | 46.8 (-4.6) | 46.4 (-5.0) | 45.2 (-6.2) |
| FLOPs (×10¹²) | 1.31 | 0.54 (-58.8%) | 0.47 (-64.1%) | 0.40 (-69.5%) | 0.32 (-75.6%) | |
| Latency (ms) | 82.7 | 42.43 (-48.7%) | 40.35 (-51.2%) | 38.31 (-53.7%) | 44.05 (-46.7%) | |
| 平均 | SR (%) | 74.4 | 73.7 (-0.7) | 73.7 (-0.7) | 71.0 (-3.4) | 66.5 (-7.9) |
| FLOPs (×10¹²) | 1.31 | 0.70 (-46.6%) | 0.58 (-55.7%) | 0.46 (-64.9%) | 0.36 (-72.5%) | |
| Latency (ms) | 82.7 | 54.8 (-33.7%) | 52.9 (-36.0%) | 49.0 (-40.7%) | 51.0 (-38.3%) |
关键发现:
- 160 tokens (62.5%) 为最优平衡点:FLOPs降低55.7%,延迟降低36.0%,平均成功率仅下降0.7%
- LIBERO-Object和LIBERO-Goal在160 tokens时甚至出现成功率提升(+0.2%和+3.4%),说明适度剪枝有助于减少冗余、稳定策略执行
- LIBERO-Long对剪枝更敏感,但在160 tokens时仍实现64.1%的FLOPs降低
VLAbench泛化实验(Table 4)
| Visual token | SR (%) | FLOPs (×10¹²) |
|---|---|---|
| 256 (基线) | 7.0 | 1.31 |
| 192 | 8.0 (+1.0) | 0.62 (-52.7%) |
| 160 | 5.0 (-2.0) | 0.62 (-52.7%) |
| 128 | 6.0 (-1.0) | 0.41 (-68.7%) |
| 96 | 7.0 (±0.0) | 0.30 (-77.1%) |
在更具挑战性的VLAbench(Select Painting任务)上,FlashVLA显著降低计算成本同时保持基线性能。
消融实验
核心模块消融(LIBERO-Spatial,Table 2)
| 方法 | 256 tokens SR/FLOPs | 192 tokens SR/FLOPs | 160 tokens SR/FLOPs | 128 tokens SR/FLOPs | 96 tokens SR/FLOPs |
|---|---|---|---|---|---|
| w/o Action Reuse | 84.2/1.31 | 84.6/1.00 | 83.6/0.85 | 78.2/0.69 | 67.8/0.54 |
| w/o Pruned Inference | 84.2/1.31 | 82.2/1.04 | 80.6/1.01 | 81.0/0.97 | 80.2/0.97 |
| w/o ActionVector | 84.2/1.31 | 81.6/0.68 | 79.6/0.56 | 73.2/0.44 | 65.4/0.35 |
| w/o TokenSet | 84.2/1.31 | 76.4/0.52 | 74.8/0.44 | 73.4/0.37 | 62.2/0.29 |
| FlashVLA (完整) | 84.2/1.31 | 81.8/0.80 | 82.6/0.66 | 75.4/0.51 | 67.0/0.43 |
消融分析:
-
Action Reuse的作用:移除Action Reuse后,主要影响效率而非精度。在160 tokens时FLOPs从0.66升至0.85,但SR仅从82.6%微升至83.6%,说明Action Reuse主要提升效率。
-
Pruned Inference的作用:移除Pruned Inference后,FLOPs显著增加(128 tokens: 0.51→0.97),但SR仅从75.4%提升至81.0%。说明token剪枝是FLOPs降低的主要贡献者。
-
ActionVector信号:移除后在tight token budget下SR显著下降(96 tokens: 67.0%→65.4%),说明动作时间连续性对可靠复用至关重要。
-
TokenSet信号:移除后模型倾向于过度复用,达到最低FLOPs(96 tokens: 0.29)但控制不稳定(SR降至62.2%)。说明token稳定性信号防止了过度激进的复用。
关键结论: ActionVector和TokenSet信号互补——前者捕获时间连续性,后者反映环境变化。两者结合使复用模块在效率和鲁棒性之间取得平衡。
超参数敏感性分析
- (角度阈值):对成功率和FLOPs影响可忽略不计,方法对此参数不敏感
- (最大token变化数):显著影响两个指标——增大降低计算成本但导致性能下降。这提供了根据应用需求灵活调整精度-效率权衡的能力
与现有方法对比
与FastV对比(LIBERO-Object,Table 3)
| 方法 / Visual token | 256 (基线) | 192 (75%) | 160 (62.5%) | 128 (50%) | 96 (37.5%) |
|---|---|---|---|---|---|
| FastV SR (%) | 86.4 | 86.2 (-0.2) | 84.8 (-1.6) | 85.2 (-1.2) | 85.2 (-1.2) |
| FastV FLOPs (×10¹²) | 1.31 | 1.00 (-23.7%) | 0.85 (-35.1%) | 0.69 (-47.3%) | 0.54 (-58.8%) |
| FastV Latency (ms) | 82.7 | 81.3 (-1.7%) | 79.9 (-3.4%) | 78.9 (-4.6%) | 77.8 (-5.9%) |
| FlashVLA SR (%) | 86.4 | 86.6 (+0.2) | 86.6 (+0.2) | 85.2 (-0.8) | 83.6 (-2.8) |
| FlashVLA FLOPs (×10¹²) | 1.31 | 0.74 (-51.1%) | 0.57 (-56.5%) | 0.42 (-67.3%) | 0.33 (-74.8%) |
| FlashVLA Latency (ms) | 82.7 | 58.8 (-28.9%) | 53.1 (-35.8%) | 45.3 (-45.2%) | 47.2 (-42.9%) |
对比分析:
- 在160 tokens时,FlashVLA达到更高的成功率(86.6% vs 84.8%)同时FLOPs更低(0.57 vs 0.85)
- FlashVLA的延迟降低远超FastV(35.8% vs 3.4%),因为FlashVLA兼容Flash Attention而FastV不兼容
- FlashVLA实现更低内存开销和更快推理,适合实时部署
六、总结
核心贡献
-
双重冗余识别:首次发现VLA推理中的动作级冗余(连续动作高度相似)和token级冗余(视觉token贡献不均),为加速提供了新视角
-
首个免训练VLA加速框架:提出FlashVLA,首个training-free、plug-and-play的VLA推理加速框架,集成token感知动作复用和信息引导视觉token选择
-
ICS理论与实践:提出基于SVD的信息贡献分数(ICS)进行token选择,理论证明其优于随机选择,且与Flash Attention完全兼容
-
显著效率提升:在LIBERO基准上,160 tokens配置下FLOPs降低55.7%、延迟降低36.0%,平均成功率仅下降0.7%
技术影响
- VLA部署可行性:使VLA模型在边缘设备和高频控制场景中的部署成为可能
- 新加速范式:开辟了VLA推理加速的新方向——从架构优化转向运行时冗余消除
- 跨领域启发:ICS token选择策略可推广至其他视觉-语言模型的加速
- 双信号复用机制:动作向量+token稳定性的双信号设计为时序模型的加速提供了通用思路
局限性
- 基线模型限制:实验主要基于OpenVLA(7B),尚未验证在更大规模VLA模型(如π₀、RDT-1B)上的效果
- 任务敏感性:LIBERO-Long等长时序任务对token剪枝更敏感,SR下降较大(-4.6% @ 160 tokens)
- 环境复杂度:在更复杂的真实世界场景中,动作复用的适用性需要进一步验证
- SVD计算开销:ICS计算涉及SVD分解,虽然相对轻量但仍有额外计算成本
- 超参数调优: 参数需要根据具体token数量和任务进行调整
- 代码未公开:截至论文发布时,代码尚未开源
七、参考资源
- 论文: https://arxiv.org/abs/2505.21200
- PDF: https://arxiv.org/pdf/2505.21200
- HTML: https://arxiv.org/html/2505.21200v1
- 相关工作:
- OpenVLA: https://arxiv.org/abs/2406.09246
- FastV: “An Image is Worth 1/2 Tokens After Layer 2” (ECCV 2024)
- FlashAttention: https://arxiv.org/abs/2205.14135
- LIBERO Benchmark: https://arxiv.org/abs/2306.03604
- VLAbench: https://arxiv.org/abs/2410.xxxxx