【论文笔记】VisionZip: Longer is Better but Not Necessary in Vision Language Models

基本信息

标题: VisionZip: Longer is Better but Not Necessary in Vision Language Models
作者: Senqiao Yang, Yukang Chen, Zhuotao Tian, Chengyao Wang, Jingyao Li, Bei Yu, Jiaya Jia
arXiv: https://arxiv.org/abs/2412.04467

基本信息

摘要

近期视觉-语言模型在性能上的提升是通过增加视觉token的长度实现的,这使得它们比文本token长得多,并显著提高了计算成本。

然而,我们发现流行的视觉编码器(如CLIP和SigLIP)生成的视觉token存在大量冗余。

为了解决这个问题,我们提出了VisionZip,这是一种简单而有效的方法,它选择一组信息token作为语言模型的输入,减少视觉token的冗余,提高效率,同时保持模型性能。

所提出的VisionZip可以广泛应用于图像和视频理解任务,非常适合现实场景中的多轮对话,其中先前的方法往往表现不佳。

实验结果表明,VisionZip在几乎所有设置中至少比先前最先进的方法提高了5%的性能。

此外,我们的方法显著提高了模型推理速度,将预填充时间提高了8倍,并使LLaVA-Next 13B模型在达到更好结果的同时,推理速度超过了LLaVA-Next 7B模型。

此外,我们分析了这种冗余的原因,并鼓励社区关注提取更好的视觉特征,而不仅仅是增加token长度。

我们的代码可在https://github.com/dvlab-research/VisionZip上找到。

VisionZip Performance and Efficiency

Redundancy Visualization

VisionZip

Framework of VisionZip

Redundancy Observation

在流行的视觉语言模型如LLaVA和MiniGemini中,视觉token的数量远超过文本token,消耗了大量的计算资源。为了评估这些token是否都是必要的,我们对常用视觉编码器CLIP和SigLIP生成的视觉token进行了试点研究。

具体来说,我们随机抽取了一幅图像,并可视化了视觉编码器-2层的每个token的注意力,该层是大多数VLM(如LLaVA)获取输入视觉token所选用的层。

如图2所示,CLIP和SigLIP都表现出注意力集中在少数几个token上的模式,而大多数视觉token则受到极少的关注。

此外,为了证明仅关注少数token是一种正常现象,我们分析了TextVQA验证集上注意力权重的分布。

如图2所示,大多数视觉token受到的关注非常低,权重接近于零,而只有少数token具有更高的注意力权重。

基于这一观察,我们发现大多数注意力权重低的视觉token贡献的信息很少,并增加了大量的冗余。

只有少数视觉token聚集了大量的信息,值得集中关注;我们将这些称为主导视觉token。

因此,为了减少冗余,我们专注于选择最具信息量的token——例如主导视觉token——同时丢弃信息量较少的token,以减少整体token数量。

Informative Visual Token Zip

Dominant Token Selection

Pseudocode for Dominant Token Selection

Contextual Tokens Merging

Pseudocode for Contextual Tokens Merging

Efficient Tuning

信息视觉token压缩器从视觉编码器中提取高度信息化的token,并丢弃其他token,从而显著减少了输入到LLM的token长度,可能减少到十倍。

然而,这种视觉token的减少可能导致一定程度的不匹配,因为原本在所有完整视觉token上训练的VLM模型可能难以适应这种突然的减少。

为了弥合视觉和LLM空间之间的差距,我们使用最小指令微调数据来高效微调多模态投影仪,同时保持其他组件冻结,增强视觉和语言空间之间的对齐。

值得注意的是,指令微调只需要LLaVA-1.5数据集的1/10,并且可以在8个Nvidia A800上仅用30分钟完成LLaVA 1.5 7B,此过程也可以在3090 GPU上实施,既资源高效又有效。

Usage of VisionZip

VisionZip能够适应多种任务,不仅适用于视觉语言模型中的图像和视频理解,还能处理之前高效视觉语言模型无法处理的多次对话。

VisionZip易于实现,因为它与文本无关,使得它可以与所有现有的语言模型算法兼容以加速。

VisionZip可以被视为视觉编码器的即插即用方法,在节省3倍运行时间和内存的同时,保留了超过90%的原模型性能。

它甚至可以使一个130亿的视觉语言模型比一个70亿的视觉语言模型更高效,同时保持更优越的性能。

实验

Performance of VisionZip on LLaVA 1.5

Performance of VisionZip on LLaVA-NeXT

Performance of VisionZip on Video-LLaVA

Performance of VisionZip on the Mini-Gemini

Efficiency analysis of VisionZip on LLaVA-NeXT 7B

Visualization of attention distribution across layers

Reason of redundancy and feature misalignment

Quantitative analysis for the feature misalignment

Compatibility of VisionZip on various quantization levels for ScienceQA

VisionZip boosts the 13B model’s performance and efficiency over the 7B model on TextVQA

在Example comparison of VisionZip and previous textrelevant method in multi-turn conversation

总结

在这篇论文中,我们分析了流行的视觉语言模型,指出虽然增加视觉token的长度可以提高性能,但当前视觉token存在显著的冗余。

我们提出了一种简单的方法,即VisionZip,该方法在保持模型性能的同时,显著减少了视觉token的数量,从而大大提高了计算效率。

这种方法广泛应用于图像和视频理解任务,并适用于实际应用中的多轮对话。

VisionZip还指出了未来一个发展方向,即开发具有更低冗余能力的视觉编码器,以进一步提高视觉语言模型性能并处理更长的视频序列。