Back to blog

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模型在推理时面临严重的计算效率问题:

  1. 大规模token计算开销:Transformer架构对序列长度N具有O(N²)的二次复杂度
  2. 自回归解码延迟:逐步生成动作的方式限制了实时部署能力
  3. 双重冗余:
    • 动作级冗余:连续时间步的动作输出高度相似(方向变化极小),存在大量语义冗余
    • 视觉token冗余:大量视觉token对推理过程贡献甚少,注意力分布在初始几层之后高度稀疏

这些瓶颈使得VLA模型难以在高频控制场景和边缘设备上部署,限制了其在复杂双臂操作等精细任务中的应用。

解决方案概述

FlashVLA 提出了一个免训练 (training-free) 且即插即用 (plug-and-play) 的双路径加速框架,核心理念是”Think Twice, Act Once”(三思而后行):

  1. Token感知动作复用机制 (Token-Aware Action Reuse):通过比较动作相似性和视觉token稳定性,决定是否跳过当前推理步骤,直接复用上一步的动作输出
  2. 信息引导视觉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的注意力输出矩阵 T^v∈RN×d\hat{T}^v \in \mathbb{R}^{N \times d} 进行奇异值分解:

T^v=UΣV⊤\hat{T}^v = U \Sigma V^\top

其中 U∈RN×NU \in \mathbb{R}^{N \times N} 包含左奇异向量,V∈Rd×dV \in \mathbb{R}^{d \times d} 包含右奇异向量,Σ∈RN×d\Sigma \in \mathbb{R}^{N \times d} 为奇异值对角矩阵(σi\sigma_i 按降序排列)。

Token表示分解(公式1):

T^v(x)=∑i=1ruxiσivi⊤\hat{T}^v(x) = \sum_{i=1}^{r} u_{xi} \sigma_i v_i^\top

其中 rr 为矩阵的有效秩。

信息贡献分数 ICS(公式2):

C(x)=∑i=1r∣uxiσi∣C(x) = \sum_{i=1}^{r} |u_{xi} \sigma_i|

该分数衡量token在主要奇异方向上的投影幅度(以对应奇异值加权)。C(x)C(x) 越高的token对整体表示的贡献越大。

2. 理论保证:ICS vs 随机选择

保留信息量(公式3):

对选中的token子集 S⊂{1,…,N}S \subset \{1, \ldots, N\}(∣S∣=K|S| = K),保留信息量通过Frobenius范数衡量:

I(S)=∥TSvVr∥F2=∑x∈S∑i=1r(uxiσi)2\mathcal{I}(S) = \|T_S^v V_r\|_F^2 = \sum_{x \in S} \sum_{i=1}^{r} (u_{xi} \sigma_i)^2

Cauchy-Schwarz不等界(公式4):

C(x)2≤r∑i=1r(uxiσi)2C(x)^2 \leq r \sum_{i=1}^{r} (u_{xi} \sigma_i)^2

ICS选择的保留信息(公式5):

I(SC)=∑x∈SC∑i=1k(uxiσi)2\mathcal{I}(S_C) = \sum_{x \in S_C} \sum_{i=1}^{k} (u_{xi} \sigma_i)^2

随机选择的期望保留信息(公式6):

E[I(Srand)]=KN∑x=1N∑i=1r(uxiσi)2\mathbb{E}[\mathcal{I}(S_{rand})] = \frac{K}{N} \sum_{x=1}^{N} \sum_{i=1}^{r} (u_{xi} \sigma_i)^2

结论: 由于按 C(x)C(x) 排序的Top-K tokens主导了全局求和,因此 I(SC)≥E[I(Srand)]\mathcal{I}(S_C) \geq \mathbb{E}[\mathcal{I}(S_{rand})],即ICS选择策略在实践中保留了更多的结构信息。

3. Token感知动作复用策略

动作角度变化(公式7):

Action Memory存储前两帧动作输出 A⃗(s−2)\vec{A}(s-2) 和 A⃗(s−1)\vec{A}(s-1),计算夹角:

α(s)=arccos⁡(A⃗(s−2)⋅A⃗(s−1)∥A⃗(s−2)∥×∥A⃗(s−1)∥)\alpha(s) = \arccos\left(\frac{\vec{A}(s-2) \cdot \vec{A}(s-1)}{\|\vec{A}(s-2)\| \times \|\vec{A}(s-1)\|}\right)

视觉token集合交集率(公式8):

Token Memory动态更新并存储前两帧的ICS选中集合 I(s−2)I(s-2) 和 I(s−1)I(s-1),计算交集比率:

ϕ(s)=Len[I(s−2)∩I(s−1)]Len[I(s−1)]\phi(s) = \frac{\text{Len}[I(s-2) \cap I(s-1)]}{\text{Len}[I(s-1)]}

token变化阈值(公式9):

设 δ\delta 为允许的最大token集合变化数,阈值 ε2\varepsilon_2 定义为:

ε2=1−δLen[I(s−1)]\varepsilon_2 = 1 - \frac{\delta}{\text{Len}[I(s-1)]}

Trigger Thinking 决策(公式10):

TriggerThinking={ReuseAction,if α(s)>ε1 and ϕ(s)>ε2PrunedInference,else\text{TriggerThinking} = \begin{cases} \text{ReuseAction}, & \text{if } \alpha(s) > \varepsilon_1 \text{ and } \phi(s) > \varepsilon_2 \\ \text{PrunedInference}, & \text{else} \end{cases}

  • 当动作角度变化 α(s)>ε1\alpha(s) > \varepsilon_1 且token交集率 ϕ(s)>ε2\phi(s) > \varepsilon_2 时:复用上一帧动作,跳过推理
  • 否则:执行剪枝推理,仅使用ICS选出的重要视觉token子集进行推理

关键设计: 无论是否复用动作,FlashVLA都持续加速推理过程——复用时跳过整个推理,非复用时通过token剪枝减少计算量。前两帧不应用复用以确保稳定性。

模型组件

组件说明关键参数
视觉编码器DINOv2 + SigLIP 双编码器输入图像224×224,输出256个视觉token
投影层将视觉特征映射到语言嵌入空间视觉token维度d与LLaMA隐藏维度对齐
语言模型LLaMA作为骨干网络7B参数,Flash Attention加速
Action Memory存储前2帧动作向量A⃗(s−2)\vec{A}(s-2), A⃗(s−1)\vec{A}(s-1)
Token Memory存储前2帧ICS选中的token集合I(s−2)I(s-2), I(s−1)I(s-1)
Trigger Thinking双条件决策模块ε1\varepsilon_1 (角度阈值), ε2\varepsilon_2 (token交集阈值)
ICS Calculator基于SVD的信息贡献分数计算对注意力输出矩阵进行SVD分解

训练流程

FlashVLA是免训练的 (training-free),无需任何额外训练或微调。它直接应用于已训练好的VLA模型(如在LIBERO上微调的OpenVLA),作为推理时的加速插件使用。

实现细节:

  • 所有实验在单张NVIDIA H100 GPU上进行
  • 基础模型:在LIBERO仿真基准上微调的OpenVLA(7B参数)
  • 默认超参数:ε1=2\varepsilon_1 = 2,δ\delta 根据视觉token数量设置:
    • 192 tokens → δ=3\delta = 3
    • 160 tokens → δ=4.5\delta = 4.5
    • 128 tokens → δ=5\delta = 5
    • 96 tokens → δ=5.5\delta = 5.5

四、核心创新

创新点说明理论/实验依据
双重冗余发现首次识别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-SpatialSR (%)84.281.8 (-2.4)82.6 (-1.6)75.4 (-8.8)67.0 (-17.2)
FLOPs (×10¹²)1.310.80 (-38.9%)0.66 (-49.6%)0.51 (-61.1%)0.43 (-67.2%)
Latency (ms)82.762.7 (-24.2%)61.2 (-26.0%)58.1 (-29.7%)58.9 (-28.8%)
LIBERO-ObjectSR (%)86.486.6 (+0.2)86.6 (+0.2)85.2 (-1.2)83.6 (-2.8)
FLOPs (×10¹²)1.310.74 (-43.5%)0.57 (-56.5%)0.42 (-67.9%)0.33 (-74.8%)
Latency (ms)82.758.8 (-28.9%)53.1 (-35.8%)45.3 (-45.2%)47.2 (-42.9%)
LIBERO-GoalSR (%)75.476.2 (+0.8)78.8 (+3.4)76.8 (+1.4)70.2 (-5.2)
FLOPs (×10¹²)1.310.71 (-45.8%)0.60 (-54.2%)0.49 (-62.6%)0.37 (-71.8%)
Latency (ms)82.755.2 (-33.3%)56.8 (-31.3%)54.1 (-34.6%)53.8 (-34.9%)
LIBERO-LongSR (%)51.450.2 (-1.2)46.8 (-4.6)46.4 (-5.0)45.2 (-6.2)
FLOPs (×10¹²)1.310.54 (-58.8%)0.47 (-64.1%)0.40 (-69.5%)0.32 (-75.6%)
Latency (ms)82.742.43 (-48.7%)40.35 (-51.2%)38.31 (-53.7%)44.05 (-46.7%)
平均SR (%)74.473.7 (-0.7)73.7 (-0.7)71.0 (-3.4)66.5 (-7.9)
FLOPs (×10¹²)1.310.70 (-46.6%)0.58 (-55.7%)0.46 (-64.9%)0.36 (-72.5%)
Latency (ms)82.754.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 tokenSR (%)FLOPs (×10¹²)
256 (基线)7.01.31
1928.0 (+1.0)0.62 (-52.7%)
1605.0 (-2.0)0.62 (-52.7%)
1286.0 (-1.0)0.41 (-68.7%)
967.0 (±0.0)0.30 (-77.1%)

在更具挑战性的VLAbench(Select Painting任务)上,FlashVLA显著降低计算成本同时保持基线性能。

消融实验

核心模块消融(LIBERO-Spatial,Table 2)

方法256 tokens SR/FLOPs192 tokens SR/FLOPs160 tokens SR/FLOPs128 tokens SR/FLOPs96 tokens SR/FLOPs
w/o Action Reuse84.2/1.3184.6/1.0083.6/0.8578.2/0.6967.8/0.54
w/o Pruned Inference84.2/1.3182.2/1.0480.6/1.0181.0/0.9780.2/0.97
w/o ActionVector84.2/1.3181.6/0.6879.6/0.5673.2/0.4465.4/0.35
w/o TokenSet84.2/1.3176.4/0.5274.8/0.4473.4/0.3762.2/0.29
FlashVLA (完整)84.2/1.3181.8/0.8082.6/0.6675.4/0.5167.0/0.43

消融分析:

  1. Action Reuse的作用:移除Action Reuse后,主要影响效率而非精度。在160 tokens时FLOPs从0.66升至0.85,但SR仅从82.6%微升至83.6%,说明Action Reuse主要提升效率。

  2. Pruned Inference的作用:移除Pruned Inference后,FLOPs显著增加(128 tokens: 0.51→0.97),但SR仅从75.4%提升至81.0%。说明token剪枝是FLOPs降低的主要贡献者。

  3. ActionVector信号:移除后在tight token budget下SR显著下降(96 tokens: 67.0%→65.4%),说明动作时间连续性对可靠复用至关重要。

  4. TokenSet信号:移除后模型倾向于过度复用,达到最低FLOPs(96 tokens: 0.29)但控制不稳定(SR降至62.2%)。说明token稳定性信号防止了过度激进的复用。

关键结论: ActionVector和TokenSet信号互补——前者捕获时间连续性,后者反映环境变化。两者结合使复用模块在效率和鲁棒性之间取得平衡。

超参数敏感性分析

  • ε1\varepsilon_1(角度阈值):对成功率和FLOPs影响可忽略不计,方法对此参数不敏感
  • δ\delta(最大token变化数):显著影响两个指标——增大δ\delta降低计算成本但导致性能下降。这提供了根据应用需求灵活调整精度-效率权衡的能力

与现有方法对比

与FastV对比(LIBERO-Object,Table 3)

方法 / Visual token256 (基线)192 (75%)160 (62.5%)128 (50%)96 (37.5%)
FastV SR (%)86.486.2 (-0.2)84.8 (-1.6)85.2 (-1.2)85.2 (-1.2)
FastV FLOPs (×10¹²)1.311.00 (-23.7%)0.85 (-35.1%)0.69 (-47.3%)0.54 (-58.8%)
FastV Latency (ms)82.781.3 (-1.7%)79.9 (-3.4%)78.9 (-4.6%)77.8 (-5.9%)
FlashVLA SR (%)86.486.6 (+0.2)86.6 (+0.2)85.2 (-0.8)83.6 (-2.8)
FlashVLA FLOPs (×10¹²)1.310.74 (-51.1%)0.57 (-56.5%)0.42 (-67.3%)0.33 (-74.8%)
FlashVLA Latency (ms)82.758.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实现更低内存开销和更快推理,适合实时部署

六、总结

核心贡献

  1. 双重冗余识别:首次发现VLA推理中的动作级冗余(连续动作高度相似)和token级冗余(视觉token贡献不均),为加速提供了新视角

  2. 首个免训练VLA加速框架:提出FlashVLA,首个training-free、plug-and-play的VLA推理加速框架,集成token感知动作复用和信息引导视觉token选择

  3. ICS理论与实践:提出基于SVD的信息贡献分数(ICS)进行token选择,理论证明其优于随机选择,且与Flash Attention完全兼容

  4. 显著效率提升:在LIBERO基准上,160 tokens配置下FLOPs降低55.7%、延迟降低36.0%,平均成功率仅下降0.7%

技术影响

  • VLA部署可行性:使VLA模型在边缘设备和高频控制场景中的部署成为可能
  • 新加速范式:开辟了VLA推理加速的新方向——从架构优化转向运行时冗余消除
  • 跨领域启发:ICS token选择策略可推广至其他视觉-语言模型的加速
  • 双信号复用机制:动作向量+token稳定性的双信号设计为时序模型的加速提供了通用思路

局限性

  1. 基线模型限制:实验主要基于OpenVLA(7B),尚未验证在更大规模VLA模型(如π₀、RDT-1B)上的效果
  2. 任务敏感性:LIBERO-Long等长时序任务对token剪枝更敏感,SR下降较大(-4.6% @ 160 tokens)
  3. 环境复杂度:在更复杂的真实世界场景中,动作复用的适用性需要进一步验证
  4. SVD计算开销:ICS计算涉及SVD分解,虽然相对轻量但仍有额外计算成本
  5. 超参数调优:δ\delta 参数需要根据具体token数量和任务进行调整
  6. 代码未公开:截至论文发布时,代码尚未开源

七、参考资源