Back to blog

SparseVILA: Decoupling Visual Sparsity for Efficient VLM Inference

通过解耦视觉稀疏性,在预填充和解码阶段分别进行查询无关剪枝和查询感知检索,实现高效VLM推理

SparseVILA: Decoupling Visual Sparsity for Efficient VLM Inference

一、论文概述

项目内容
标题SparseVILA: Decoupling Visual Sparsity for Efficient VLM Inference
作者Samir Khaki, Junxian Guo, Jiaming Tang, Shang Yang, Yukang Chen, Konstantinos N. Plataniotis, Yao Lu, Song Han, Zhijian Liu
论文https://arxiv.org/abs/2510.17777
发布2025-10-20

二、核心思想

问题定义

现有VLM加速方法存在多轮对话性能下降问题:

方法类型优势局限性
查询无关剪枝稳定,适用于多轮对话无法适应查询相关性
查询感知剪枝动态对齐视觉注意力不可逆信息丢失,后续轮次性能下降

Figure 1: 多轮对话性能对比

关键观察

  1. 预填充阶段:构建多模态上下文(一次计算)
  2. 解码阶段:迭代生成(主导延迟)
  3. 多轮对话:视觉token需跨轮次复用

解决方案概述

SparseVILA 提出解耦视觉稀疏性框架:

  1. 预填充阶段:查询无关剪枝(Query-Agnostic Pruning)

    • 基于视觉显著性分数移除冗余token
    • 保留足够覆盖度供后续轮次使用
  2. 解码阶段:查询感知检索(Query-Aware Retrieval)

    • 从KV缓存中仅检索查询相关token
    • 保持多轮对话保真度

Figure 4: SparseVILA框架

三、技术架构

整体框架

输入图像 → 视觉编码器 → 视觉Token序列
                              ↓
                    [预填充阶段: 查询无关剪枝]
                              ↓
                         KV缓存 (压缩后)
                              ↓
                    [解码阶段: 查询感知检索]
                              ↓
                         文本输出

核心公式

视觉显著性估计:

Salience(ti)=1N∑j=1NAttention(ti,tj)\text{Salience}(t_i) = \frac{1}{N} \sum_{j=1}^{N} \text{Attention}(t_i, t_j)

其中:

  • tit_i 是第 ii 个视觉token
  • NN 是token总数
  • 对于有summary token的模型(如CLIP),计算token对summary token的注意力

查询感知检索:

Selected=TopK(Query⋅KV_Cache,k)\text{Selected} = \text{TopK}(\text{Query} \cdot \text{KV\_Cache}, k)

其中:

  • Query\text{Query} 是当前查询的token嵌入
  • KV_Cache\text{KV\_Cache} 是压缩后的视觉KV缓存
  • kk 是检索的token数量

模型组件

组件说明关键参数
显著性估计器基于注意力图计算token重要性无需文本输入
Triton内核高效显著性计算加速3-10×
部分KV缓存驱逐防止轮次间信息泄漏保留视觉缓存
查询感知检索器基于查询动态选择tokentop-k选择

训练流程

SparseVILA是训练无关的:

  1. 无需训练:直接在现有VLM上部署
  2. 即插即用:作为推理加速插件
  3. 架构无关:适用于多种VLM架构

四、核心创新

创新点说明优势
解耦稀疏性预填充和解码阶段使用不同策略兼顾效率和保真度
查询无关剪枝仅基于视觉显著性,不依赖文本多轮对话稳定
查询感知检索解码时动态选择相关token适应查询需求
Triton内核高效显著性计算支持长上下文
部分KV缓存驱逐防止轮次间信息泄漏保持对话连贯性

五、代码实现分析

关键代码逻辑:

def query_agnostic_pruning(visual_tokens, salience_threshold):
    salience = compute_attention_salience(visual_tokens)
    mask = salience > salience_threshold
    return visual_tokens[mask]

def query_aware_retrieval(query, kv_cache, top_k):
    scores = torch.matmul(query, kv_cache.keys.T)
    top_indices = torch.topk(scores, top_k).indices
    return kv_cache[top_indices]

def partial_kv_cache_eviction(kv_cache, qa_pairs):
    # 保留视觉token,移除上一轮问答的token
    visual_mask = kv_cache.token_type == 'visual'
    qa_mask = ~kv_cache.token_ids.is_in(qa_pairs)
    return kv_cache[visual_mask | qa_mask]

六、实验结果

图像基准测试

LLaVA-NeXT-7B模型结果:

方法AI2DChartQADocVQAGQAPOPE平均
原始(100%)72.368.573.264.887.273.2
SparseVILA (75%)72.167.872.564.687.072.8
VisionZip (75%)70.564.268.363.185.470.3
FastV (75%)71.265.869.563.886.171.3
PruMerge (75%)70.864.568.863.485.770.6
SparseVILA (50%)71.566.270.164.086.571.7
FastV (50%)68.560.263.561.282.367.1
VisionZip (50%)67.858.561.860.581.566.0

关键发现:

  • 75%稀疏度:SparseVILA保持98.9%性能,仅下降0.4%
  • 50%稀疏度:SparseVILA保持97.9%性能,大幅超越其他方法
  • 文档理解任务(ChartQA, DocVQA)性能下降比其他方法少15%以上

Figure 2: 图像基准测试结果

视频基准测试

LongVILA-7B模型结果(256帧):

方法LVBMLVUNExT-QAVideo-MME平均
原始(100%)53.864.978.658.864.0
SparseVILA (75%)53.564.578.258.563.7
VisionZip (75%)47.060.475.552.258.8
PruMerge (75%)47.560.875.852.559.2
FastV (75%)50.262.176.555.161.0
SparseVILA (50%)52.863.877.557.863.0
FastV (50%)45.558.273.249.856.7

关键发现:

  • 视频任务提升:SparseVILA甚至比原始模型性能更高
  • 长上下文扩展:支持200帧以上视频
  • 2.6×端到端加速:同时保持近无损精度

Figure 3: 视频基准测试结果

推理效率分析

效率提升(基于LLaVA-NeXT-7B):

方法预填充加速解码加速端到端加速
VisionZip0.9×28.5×2.1×
PruMerge0.9×28.5×2.1×
FastV2.5×1.8×2.0×
SparseVLM2.8×1.9×2.1×
SparseVILA4.0×2.5×2.6×

长视频效率(256帧):

指标SparseVILA提升
预填充时间1.2s6.0× 加速
解码时间0.8s2.5× 加速
端到端时间2.0s2.6× 加速

多轮对话性能

RoboVQA多轮对话结果:

方法第1轮第2轮第3轮第4轮平均
原始68.566.264.863.565.8
SparseVILA68.266.064.563.265.5
VisionZip65.861.256.552.859.1
FastV67.563.859.255.561.5

关键发现:

  • SparseVILA多轮性能几乎无下降
  • 查询感知方法(FastV)后续轮次性能急剧下降
  • 查询无关方法(VisionZip)整体性能较低

视觉检索性能

V-NIAH长上下文检索:

方法32帧64帧128帧200帧
SparseVLM100%85%60%失败
FastV100%80%55%失败
SparseVILA100%100%100%100%

关键发现:

  • SparseVILA支持200帧以上长上下文
  • 其他方法在32帧后开始退化

Figure 6: 视觉检索结果

七、相关工作

视觉Token压缩

方法策略局限性
VisionZip查询无关剪枝高稀疏度下性能下降
PruMergeToken合并计算开销大
HIRED显著性剪枝不够精细
FastV查询感知剪枝多轮对话性能下降
SparseVLM跨模态注意力剪枝不可逆信息丢失

KV缓存压缩

  • 传统方法:固定比例压缩
  • SparseVILA创新:基于查询动态选择

八、总结

核心贡献

  1. 解耦稀疏性框架:首次提出预填充-解码阶段解耦策略
  2. 查询无关剪枝:保持多轮对话稳定性
  3. 查询感知检索:适应查询需求,提升效率
  4. 高效实现:Triton内核加速显著性计算

技术影响

  • 推理加速:4.0×预填充加速,2.5×解码加速,2.6×端到端加速
  • 多轮保真:几乎无性能下降的多轮对话
  • 长视频支持:200帧以上长上下文
  • 架构无关:适用于多种VLM架构

局限性

  1. 稀疏度上限:低于50%时性能开始下降
  2. 计算开销:显著性估计仍有一定计算成本
  3. 架构依赖:需要访问视觉编码器的注意力图
  4. 实时性:尚未验证实时流式生成场景

九、参考资源

论文

相关方法

  • VisionZip: Yang et al., 2025
  • FastV: Zhang et al., 2024
  • SparseVLM: Zhang et al., 2025
  • PruMerge: Chen et al., 2024
  • HIRED: Wang et al., 2024