VL-Cache: Sparsity and Modality-Aware KV Cache Compression for Vision-Language Model Inference Acceleration
作者: Dezhan Tu, Danylo Vashchilenko, Yuzhe Lu, Panpan Xu
分类: cs.CV, cs.AI, cs.CL, cs.DC, cs.PF
发布日期: 2024-10-29
💡 一句话要点
VL-Cache:针对视觉-语言模型推理加速的稀疏性和模态感知KV缓存压缩方法
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 视觉-语言模型 KV缓存压缩 推理加速 稀疏性感知 模态感知 层自适应 token评分
📋 核心要点
- 现有KV缓存压缩方法直接应用于VLM时,由于忽略了VLM中视觉和文本模态的差异,导致精度和加速效果不佳。
- VL-Cache通过分析VLM注意力的稀疏性模式,提出层自适应的缓存预算分配和模态感知的token评分策略,优化KV缓存压缩。
- 实验结果表明,VL-Cache仅保留10%的KV缓存即可达到与完整缓存相当的精度,并显著加速VLM推理过程。
📝 摘要(中文)
视觉-语言模型(VLM)在各种任务中表现出令人印象深刻的性能。加速VLM的一个关键挑战是存储和访问大型Key-Value(KV)缓存,该缓存编码了长视觉上下文,例如图像或视频。虽然现有的KV缓存压缩方法对于大型语言模型(LLM)有效,但直接将其迁移到VLM会导致次优的准确性和加速效果。为了弥合这一差距,我们提出了VL-Cache,一种为加速VLM推理量身定制的新型KV缓存压缩方案。在本文中,我们首先通过区分预填充和解码阶段的视觉和文本token,研究了VLM注意力的独特稀疏性模式。基于这些观察,我们引入了一种层自适应的稀疏性感知缓存预算分配方法,该方法有效地在不同层之间分配有限的缓存预算,从而进一步减小KV缓存大小,而不会影响准确性。此外,我们开发了一种模态感知的token评分策略,以更好地评估token的重要性。在多个基准数据集上的经验结果表明,仅保留10%的KV缓存即可实现与完整缓存相当的准确性。在速度基准测试中,我们的方法将生成100个token的端到端延迟加速高达2.33倍,并将解码速度提高高达7.08倍,同时将GPU中KV缓存的内存占用减少90%。
🔬 方法详解
问题定义:论文旨在解决视觉-语言模型(VLM)推理过程中,由于需要存储和访问大量KV缓存而导致的计算和内存开销问题。现有KV缓存压缩方法主要针对LLM设计,忽略了VLM中视觉和文本模态的差异,直接应用会导致精度下降和加速效果不佳。
核心思路:论文的核心思路是利用VLM中视觉和文本token在attention机制中的不同特性,设计稀疏性和模态感知的KV缓存压缩方法。通过分析VLM attention的稀疏性模式,并根据token的重要性进行选择性缓存,从而在保证精度的前提下,显著减少KV缓存的大小。
技术框架:VL-Cache的整体框架包含两个主要部分:1) 稀疏性分析和层自适应缓存预算分配:首先分析VLM在预填充和解码阶段的视觉和文本token的稀疏性模式,然后根据不同层的稀疏性程度,自适应地分配有限的缓存预算。2) 模态感知token评分和选择:设计一种模态感知的token评分策略,综合考虑视觉和文本token的重要性,并选择最重要的token进行缓存。
关键创新:VL-Cache的关键创新在于:1) 提出了针对VLM的稀疏性分析方法,区分了视觉和文本token在attention中的不同作用。2) 设计了层自适应的缓存预算分配策略,能够根据不同层的稀疏性程度,动态调整缓存大小。3) 提出了模态感知的token评分策略,能够更准确地评估token的重要性,从而选择更具代表性的token进行缓存。
关键设计:层自适应缓存预算分配策略根据每一层attention矩阵的稀疏程度动态调整缓存大小,稀疏程度高的层分配较少的缓存,反之则分配较多的缓存。模态感知的token评分策略综合考虑了token的attention权重、梯度信息以及模态类型,通过加权求和的方式计算token的重要性得分。具体的权重参数需要根据实验结果进行调整。
🖼️ 关键图片
📊 实验亮点
实验结果表明,VL-Cache在多个基准数据集上取得了显著的性能提升。在保证与完整缓存相当的准确性的前提下,VL-Cache仅需保留10%的KV缓存。在速度方面,VL-Cache将生成100个token的端到端延迟加速高达2.33倍,并将解码速度提高高达7.08倍,同时将GPU中KV缓存的内存占用减少90%。
🎯 应用场景
VL-Cache可应用于各种需要加速VLM推理的场景,例如图像描述、视觉问答、视频理解等。通过降低VLM的计算和内存需求,可以将其部署在资源受限的设备上,例如移动设备或边缘服务器。此外,VL-Cache还可以用于加速VLM的训练过程,提高模型开发的效率。
📄 摘要(原文)
Vision-Language Models (VLMs) have demonstrated impressive performance across a versatile set of tasks. A key challenge in accelerating VLMs is storing and accessing the large Key-Value (KV) cache that encodes long visual contexts, such as images or videos. While existing KV cache compression methods are effective for Large Language Models (LLMs), directly migrating them to VLMs yields suboptimal accuracy and speedup. To bridge the gap, we propose VL-Cache, a novel KV cache compression recipe tailored for accelerating VLM inference. In this paper, we first investigate the unique sparsity pattern of VLM attention by distinguishing visual and text tokens in prefill and decoding phases. Based on these observations, we introduce a layer-adaptive sparsity-aware cache budget allocation method that effectively distributes the limited cache budget across different layers, further reducing KV cache size without compromising accuracy. Additionally, we develop a modality-aware token scoring policy to better evaluate the token importance. Empirical results on multiple benchmark datasets demonstrate that retaining only 10% of KV cache achieves accuracy comparable to that with full cache. In a speed benchmark, our method accelerates end-to-end latency of generating 100 tokens by up to 2.33x and speeds up decoding by up to 7.08x, while reducing the memory footprint of KV cache in GPU by 90%.