🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
基本信息
标题 : 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
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
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亿的视觉语言模型更高效,同时保持更优越的性能。
实验
总结
在这篇论文中,我们分析了流行的视觉语言模型,指出虽然增加视觉token的长度可以提高性能,但当前视觉token存在显著的冗余。
我们提出了一种简单的方法,即VisionZip,该方法在保持模型性能的同时,显著减少了视觉token的数量,从而大大提高了计算效率。
这种方法广泛应用于图像和视频理解任务,并适用于实际应用中的多轮对话。
VisionZip还指出了未来一个发展方向,即开发具有更低冗余能力的视觉编码器,以进一步提高视觉语言模型性能并处理更长的视频序列。