PAPER DEEP DIVE
面向高效VLA推理的质心复用运动感知向量量化框架
提出运动感知向量量化框架与质心复用,降低VLA模型在GPU上的推理延迟,服务于实时具身AI部署。
1. 论文概览:运动感知向量量化与质心复用的 VLA 加速框架
VQVLA 由上海交通大学与中国科学院自动化研究所的 Zhuoran Song、Haozhe Jiang 等于 2026 年 7 月(MICRO 2026)提出,是一个算法-硬件协同设计框架,通过利用权重相似性与执行动态来加速 VLA 推理。其两大核心贡献为:(1) MotionVQ——一种运动感知向量量化方案,根据机器人执行状态动态调整量化精度,在保持任务成功率的同时减少内存访问;(2) 合并质心向量化 GEMM 范式——直接在码本-索引表示上运算,通过质心的空间聚合与时序复用消除冗余乘法。实验显示 VQVLA 相比 A100 GPU、Dadu-Corki、LUT-DLA、CodeGEMM、ShiftAddLLM 分别实现 6.5×、2.8×、1.9×、3.3×、4.3× 加速,精度几乎无损。
2. 核心问题:VLA 推理的内存与计算瓶颈
论文将 VLA 推理延迟分解为 tokenizer、ViT、transformer 骨干、动作头四阶段。在 A100 GPU 上评估 OpenVLA、OpenVLA-OFT、RDT 三个模型,四阶段平均占比分别为 2.7%、16.6%、80.6%、0.1%——transformer 骨干是绝对瓶颈,原因有二:(1) 高片外内存带宽需求:LLaMA2-7B 含 14GB 参数,片上缓存有限导致频繁访问片外内存;(2) 高计算强度:每层用 8 个 GEMM 提取特征,含 $N \times 4096 \times 4096$ 与 $N \times N \times 4096$ 运算($N$ 为输入令牌数,典型 200-600)。现有加速器如 Dadu-Corki 将 VLA 视为全精度负载,未利用量化冗余。
3. 动机:运动幅度与空间邻近性的相关性
分析机器人运动行为发现:运动幅度与空间邻近性存在清晰相关性。当运动幅度小($x \leq 0.8$)时,机械臂通常靠近目标物体($y \leq 0.16$),需精确调整;运动幅度大($x > 0.8$)时,机械臂远离物体($y > 0.16$),运动约束较少。据此将操作分为两状态:
$$\text{state} = \begin{cases} \text{执行态 (execution)} & \text{若 } D \leq T_d \text{(精细控制,影响成功率)} \\ \text{过渡态 (transition)} & \text{若 } D > T_d \text{(粗运动,不直接影响任务)} \end{cases}$$执行态需高精度,过渡态可低精度——这是 MotionVQ 动态精度的依据。
4. MotionVQ 算法
MotionVQ 含两阶段:状态预测与精度适配。状态预测计算运动幅度 $D$:
$$D = \sqrt{A_x^2 + A_y^2 + A_z^2}$$其中 $(A_x, A_y, A_z)$ 为机械臂 3D 动作(来自上次 VLA 推理输出)。$D$ 与阈值 $T_d$ 比较:$D \leq T_d$ 为执行态,$D > T_d$ 为过渡态。精度适配基于预测状态动态选择两套离线生成的量化配置:高精度配置用 256 质心的大码本,低精度用 64 质心的小码本:
$$\text{精度} = \begin{cases} \text{VQ}[256,2,256] \text{(4.125 比特,执行态)} & D \leq T_d \\ \text{VQ}[128,2,64] \text{(3.125 比特,过渡态)} & D > T_d \end{cases}$$这实现了内存效率与任务成功率的状态感知权衡。低精度配置在过渡态被取用,节省内存。设高/低精度码本大小为 $C_h$ 与 $C_l$,平均比特宽为:
$$\bar{b} = p_{\text{exec}} \cdot \lceil \log_2 C_h \rceil + (1-p_{\text{exec}}) \cdot \lceil \log_2 C_l \rceil$$其中 $p_{\text{exec}}$ 为执行态占比。过渡态越多,平均比特宽越低。
5. 合并质心向量化 GEMM 范式
该内核直接在码本-索引表示上运算,避免反量化步骤。利用质心的空间与时序局部性消除冗余计算:
5.1 空间合并
利用列内质心重复(空间级热质心)。索引矩阵中相同索引意味着对应权重向量映射到同一质心,涉及同一热质心与不同输入元素的多次乘法可合并为单次运算。设索引矩阵中位置 $k_1, k_2, \dots, k_s$ 共享同一索引 $idx$,则对应输入 $I_i^{k_1}, \dots, I_i^{k_s}$ 各乘同一质心 $C = \text{codebook}[idx]$。由分配律:
$$\sum_{j=1}^{s} I_i^{k_j} \times C \;\longrightarrow\; \left(\sum_{j=1}^{s} I_i^{k_j}\right) \times C$$先求和再单次乘法,大幅减少乘法次数。为高效实现,为每个权重组构建空间质心定位表。
5.2 时序复用
利用跨时间步的质心重复(时序级热质心)。若同一质心在连续时间步被访问,可在片上缓存复用,避免重复从片外加载。
6. 架构设计
设计的加速器高效支持动态精度选择与质心复用计算。含矩阵乘法引擎(空间合并 PE 阵列与时序复用 PE 阵列)、状态预测器与索引处理引擎。用 Verilog 实现,Synopsys Design Compiler 在 28nm、500MHz 下综合,缩放到 7nm 节点与 A100 对比。片外内存访问能耗估计为 3.9 pJ/bit。
7. 实验评估
7.1 算法评估
高精度集 VQ[256,2,256](4.125 比特),低精度集 VQ[128,2,64](3.125 比特)。VQVLA 平均成功率仅降 2.5%(可接受)。内存访问平均减少 79.4%,乘法平均减少 54.8%。不同模型/任务节省程度不同:OpenVLA 在 LIBERO-Object 上减少 71.4% 乘法,RDT 在 ManiSkill-StackCube 上减少 52.2%。
| 指标 | 平均结果 | 说明 |
|---|---|---|
| 成功率下降 | 2.5% | 可接受精度损失 |
| 内存访问减少 | 79.4% | 过渡态取低精度集 |
| 乘法减少 | 54.8% | 空间合并+时序复用 |
7.2 架构评估
对比 A100 GPU、Dadu-Corki、LUT-DLA、CodeGEMM、ShiftAddLLM 五种基线:
| 基线 | 加速比 | 类型 |
|---|---|---|
| NVIDIA A100 GPU | 6.5× | GPU |
| Dadu-Corki | 2.8× | VLA 专用加速器 |
| LUT-DLA | 1.9× | VQ 加速器 |
| CodeGEMM | 3.3× | GPU 量化方法 |
| ShiftAddLLM | 4.3× | 重参数化框架 |
VQVLA 全面领先,对最强 VLA 专用加速器 Dadu-Corki 也有 2.8× 加速。
7.3 状态预测与精度自适应细节
MotionVQ的状态预测器通过计算3D动作向量的大小$D=\sqrt{A_x^2+A_y^2+A_z^2}$来判断机器人执行状态,其中$(A_x,A_y,A_z)$为上一次VLA推理输出的机械臂3D动作。当$D \leq T_d$时,机械臂在目标物体附近执行精确调整,系统分类为执行态,使用256个质心的高精度码本;当$D > T_d$时,机器人执行较大幅度的过渡运动,系统分类为过渡态,使用64个质心的低精度码本。这种双精度设计在过渡态以4倍内存压缩换取可接受的精度损失,而在执行态保持高精度确保操作成功率。空间合并技术利用索引矩阵中相同索引值的重复性,将多个乘法运算合并为一次:$\sum(I_i \times \text{Centroid}) \rightarrow \sum(I_i) \times \text{Centroid}$,消除了去量化步骤,直接在压缩域执行GEMM计算。时序复用则跨时间步缓存热点质心,减少跨层重复访问。整体在压缩域计算的范式避免了传统VQ推理中浮点权重重建的开销。
8. 局限性
- 2.5% 成功率损失:虽可接受,但对精度敏感的执行态任务仍有影响,动态精度切换的阈值 $T_d$ 需任务特定调优。
- 质心重复依赖:空间合并效率依赖索引矩阵中热质心的重复频率,权重分布不利于聚类时节省有限。
- 两套精度配置固定:仅高/低两档,更细粒度的状态-精度映射可能更优但增加硬件复杂度。
- 28nm 综合:虽缩放到 7nm 对比,但未在真实 7nm 芯片流片验证,面积与功耗为估计值。
- 仅 VLA 骨干评估:tokenizer 与 ViT 阶段未量化加速,整体端到端加速可能低于骨干单独加速比。
9. 总结
VQVLA 是一个算法-硬件协同设计框架,通过 MotionVQ 运动感知向量量化根据执行状态动态切换量化精度(执行态 256 质心、过渡态 64 质心),并用合并质心向量化 GEMM 内核直接在压缩域运算消除反量化与冗余乘法(空间合并先求和再乘、时序复用缓存热质心)。相比 A100 GPU 实现 6.5× 加速,相比最强 VLA 专用加速器 Dadu-Corki 实现 2.8× 加速,成功率仅降 2.5%,内存访问减 79.4%,乘法减 54.8%。核心洞见是:机器人运动有状态——精细处需精度、粗运动可压缩,且量化后的权重天然可聚类复用——运动感知与质心复用的结合,让 VLA 推理既快又准。
flowchart LR
A["上次 VLA 输出动作 A"] --> B["计算运动幅度 D=√(Ax²+Ay²+Az²)"]
B --> C{"D ≤ Td?"}
C -->|是 执行态| D["高精度码本 VQ[256,2,256]
4.125 比特"]
C -->|否 过渡态| E["低精度码本 VQ[128,2,64]
3.125 比特"]
D --> F["码本+索引表示"]
E --> F
F --> G["合并质心向量化 GEMM"]
G --> H["空间合并: 先求和再乘质心"]
G --> I["时序复用: 缓存热质心"]
H --> J["VLA 推理输出"]
I --> J
J --> A



