【论文笔记】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

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

相关推荐
山烛4 小时前
矿物分类系统开发笔记(一):数据预处理
人工智能·python·机器学习·矿物分类
拾零吖4 小时前
吴恩达 Machine Learning(Class 3)
人工智能·机器学习
admiraldeworm4 小时前
Spring Boot + Spring AI 最小可运行 Demo
java·人工智能·ai
算法_小学生5 小时前
长短期记忆网络(LSTM)
人工智能·rnn·lstm
Virgil1395 小时前
【TrOCR】模型预训练权重各个文件解读
人工智能·pytorch·计算机视觉·自然语言处理·ocr·transformer
MaxCode-15 小时前
【机器学习 / 深度学习】基础教程
人工智能·深度学习·机器学习
先做个垃圾出来………5 小时前
神经网络(Neural Network, NN)
人工智能·深度学习·神经网络
我希望的一路生花5 小时前
Nik Collection 6.2全新版Nik降噪锐化调色PS/LR插件
人工智能·计算机视觉·设计模式·stable diffusion·aigc
.银河系.6 小时前
819 机器学习-决策树2
人工智能·决策树·机器学习
AI扶我青云志8 小时前
Milvus 安装和启动指南
人工智能·云原生·eureka·大模型