VoCo-LLaMA: Towards Vision Compression with Large Language Models 译读笔记
VoCo-LLaMA: Towards Vision Compression with Large Language Models
摘要
视觉语言模型(VLMs)在各类多模态任务中取得了显著成功,但其性能常常受限于处理高分辨率图像和视频时有限的上下文窗口以及高昂的计算成本。Vision compression 可以通过减少视觉 token 的数量来缓解这一问题。以往的方法通常使用 external modules 对视觉 token 进行压缩,并强制大语言模型(LLM)去理解这些压缩后的表示,从而导致视觉信息的损失。然而,在压缩学习过程中,并未充分利用 LLM 本身理解视觉 token 的paradigm。本文提出了 VoCo-LLaMA,首个利用大语言模型自身能力进行视觉 token 压缩的方法。在视觉指令微调阶段引入视觉压缩(Vision Compression, VoCo)token,并结合注意力蒸馏(attention distillation)技术,将 LLM 理解视觉 token 的方式distill到对 VoCo tokens 的处理过程中。VoCo-LLaMA 能够实现高效的视觉压缩,并显著提升推理阶段的计算效率。具体而言,本文的方法可在实现 576 倍压缩率的同时,保留原始性能的 83.7%。此外,通过对视频帧的时间序列压缩 token 进行持续训练,VoCo-LLaMA 展现出理解时序关联的能力,在主流视频问答基准上优于以往方法。本文的方法为充分释放 VLMs 上下文窗口的潜力、实现更具可扩展性的多模态应用提供了一条有前景的路径。
1 引言
视觉-语言模型(Visual-Language Models, VLMs)的出现〔25_BLIP2, 30_LLaVA, 60_MiniGPT4, 13_GLM, 3_Qwen-VL, 59_InternLM-XComposer, 29_Instruction_Tuning, 5_Fuyu-8B, 32_World_Model, 47_Gemini1.5〕极大地推动了视觉理解领域的发展。特别是高分辨率图像编码〔29_Instruction_Tuning, 5_Fuyu-8B〕以及引入更多视频帧〔32_World_Model, 47_Gemini1.5〕的方法,已被证明分别能够显著增强大型视觉-语言模型和大型视频-语言模型的能力。然而,大量的视觉token会占据大语言模型宝贵上下文窗口的很大一部分,从而导致高昂的计算开销。例如,在 LLaVA-1.6〔29_Instruction_Tuning〕中使用高分辨率图像输入时,一张 672×672 分辨率的图像会被划分为多个小块,每个小块以 336×336 分辨率进行编码。这一过程会产生由2880个视觉token组成的图像表示,占用了超过一半的上下文长度。随着输入图像数量的增加,用于文本的上下文窗口将进一步受到限制。文献〔32_World_Model, 47_Gemini1.5〕研究了将上下文长度扩展至百万级别以缓解该问题的有效性,但这种方法需要昂贵的计算资源(例如,〔32_World_Model〕需要超过 1000 个 v4 TPU)以及在数据和框架开发方面的大量工程投入。
为了解决这一问题,以往的方法〔25_BLIP2](https://arxiv.org/abs/2301.12597), 60_MiniGPT4, 13_GLM, 59_InternLM-XComposer, 28_LLaMA-VID, 11_InstructBLIP〕采用了 Q-Former〔25_BLIP2〕](https://arxiv.org/abs/2301.12597)或 Re-sampler〔1_Flamingo〕来对编码后的视觉 token 进行compress。
鉴于大语言模型(LLM)能够有效理解未压缩的视觉 token〔31_Instruction_Tuning〕,它本身就具备独立执行 token 压缩的巨大潜力。因此,本文提出了 VoCo-LLaMA, 这是第一个利用本文所知的大型语言模型固有能力的视觉压缩方法。如Figure1(b)所示,本文在视觉和文本标记之间引入了 Vision Compression (VoCo) 标记。

通过修改注意力机制,本文确保 VoCo tokens 只关注视觉tokens,而文本tokens只关注 VoCo tokens。随后,本文通过 VoCo tokens 在视觉和文本tokens之间建立了一条专属的交互路径。这使得LLM本身能够将解析后的视觉令牌——特别是构建于其上的 Transformer 激活值——压缩并提炼成紧凑的 VoCo 令牌。
在此基础上,本文进一步研究了 VoCo-LLaMA 在处理视频输入方面的有效性。每个视频的视觉令牌总数可能非常庞大,远超LLM的上下文长度,因此,利用 VoCo-LLaMA 同时压缩所有令牌是不切实际的。为了解决这个问题,本文首先使用 VoCo-LLaMA 将每一帧的视觉令牌压缩为 voco 令牌。这些 voco 令牌随后被拼接起来,形成一个序列化的令牌序列。VoCo-LLaMA 再从这个序列中提取视觉和时序信息,以辅助视频理解任务。通过这种有效设计,大语言模型(LLMs)便能在相同的上下文长度下处理更长的视频。
在推理时,VoCo-LLaMA 通过采用两阶段前向过程,缓解了大语言模型(LLM)的上下文长度限制问题。第一阶段将每张图像的视觉令牌压缩为一组精简的VoCo令牌,而第二阶段则利用VoCo令牌和文本令牌来完成任务。此外,在处理涉及相同视觉输入的各种任务时,VoCo 令牌可以被缓存和复用,从而提升了计算效率,并减少了存储需求(相比维护整个 KV-cache for uncompressed visual tokens)。在各种基准测试上的实验结果表明,VoCo-LLaMA 实现了 576 倍的压缩率,同时保持了 83.7% 的原始性能。此外,推理计算成本也显著降低,其中缓存存储最多减少了99.8%,FLOPs减少了94.8%,推理时间减少了69.6%。
本文的核心贡献总结如下:
- 本文提出了 VoCo-LLaMA,这是首个利用大语言模型的内在能力来压缩视觉令牌的方法,从而无需任何外部模块。
更多推荐
所有评论(0)