论文标题:
Multi-Stage Vision Token Dropping: Towards Efficient Multimodal Large Language Model
单位:
本文由国防科技大学、合肥工业大学、上海交通大学共同完成。
论文链接:
https://arxiv.org/pdf/2411.10803
模型链接:
https://www.modelscope.cn/models/TingLiu20/MustDrop
论文解读
本文提出了一种高效的多模态大模型,多阶段去除冗余视觉token——MustDrop。多模态大模型中的视觉tokens通常表现出显著的空间和时间冗余,并且大模型的大部分输入令牌是视觉tokens,这极大程度上影响了多模态大模型推理效率。最近一些工作专注于去除不重要的视觉tokens,但是这些方法只专注于视觉编码阶段或者大模型的Prefill阶段,忽略了其他阶段也存在冗余的视觉tokens。
本文作者分析了视觉tokens在视觉编码器、大模型Prefill以及Decode阶段的
特点,提出了一种多阶段逐步去除视觉tokens的方法MustDrop。通过对每个阶段量身定制的策略,MustDrop基于LLaVA降低了约88.5%的FLOPs。
1. 多个阶段的冗余性分析
1.1视觉编码阶段。此阶段通常采用ViT结构,擅长于提取图像中重要的语义信息,例如空间位置和形状等。空间/时序邻近的视觉tokens具有很高的相似性,这属于空间冗余信息。本文认为在视觉编码阶段可以专注于去除空间层面的冗余性。由于此阶段缺失文本信息,不能大量去除视觉token,避免丢失重要信息。此外,视觉编码器能提取到图像中最重要的tokens,这类tokens应该在整个多模态大模型阶段中被保留。
1.2 Prefill阶段。此阶段为视觉和文本模态的交互,计算所有视觉tokens和文本tokens之间的注意力。文本信息的引入,这为大量降低无效视觉tokens创造了条件。本文认为全局文本和局部文本对判断无效的视觉token有不同的意义。
1.3 Decode阶段。此阶段基于Prefill阶段学习的知识生成文本tokens。由于视觉tokens在Prefill阶段充分与文本信息进行了交互,在Decode阶段其重要性逐渐退化。如图4所示,视觉tokens在Decode阶段的第二层后占了极少的注意力。这表明Decode阶段的KV Cache可以被进一步压缩。
2. 方法描述
2.1空间冗余融合
本文在视觉编码阶段提出了局部空间融合模块LSM,无需依赖额外的网络。LSM首先将视觉token塑造成2D的栅格,然后采用固定形状的正方形window动态检查视觉token的空间冗余性。如果window内的相似度超过阈值,其区域将会被判定是空间冗余的,并被融合为一个具有代表性的token。
2.2 重要区域保留
作者认为无论在多模态大模型哪个阶段,有一类视觉token是天然重要的。随着ViT的层越深,其CLS学到的视觉全局信息越丰富。根据这一特性,作者利用CLS和其他视觉tokens之间的注意力值确定天然重要的视觉token集合S。属于S集合的视觉token将一直保留在后续阶段。
2.3 文本引导的双注意力过滤
Prefill阶段可以利用文本信息,大量删除无效的视觉token,但如何精准确定无效的视觉tokens具有挑战性。作者提出一种双注意力过滤机制,包含全局注意力过滤测策略和局部注意力策略。首先,作者计算每个视觉token和全局文本之间的关联分数,分数低的视觉token将会被删除。然而,整个句子包含多个文本token,削弱了某些及其重要的文本token的重要性。这导致全局文本注意力机制存在“假性”判断,被判断为不重要的视觉tokens可能是重要的。因此,作者提出了局部注意力过滤机制,分别计算每个文本token和视觉token之间的关联分数。当这两种注意力过滤策略均认为某个视觉token不重要时,才会彻底删除此视觉token。
2.4 输出注意的cache策略
为了避免重复计算,Prefill阶段的KV Cache存储了token的K V值,可以加速生成文本token,但也造成了存储的负担。如图4所示,在decode阶段,视觉token在模型第二层后的重要性迅速衰减。作者根据此特性提出了输出注意的cache策略,仅仅保留了在视觉编码器阶段认定的重要视觉tokens(S集合),剩余的视觉token的K V被删除。此策略进一步降低了Decode阶段的成本。
3. 论文实验
基于图像的多模态任务,作者选取了VQA任务作为验证,如表1所示。ToMe是仅仅在视觉编码器阶段减少tokens的经典方法。FastV和SparseVLM是在多模态大模Prefill阶段的方法。本文主要与这3类方法进行了对比。原图像在576 token的情况下,分别设定了保留192、128和64个tokens,MustDrop均超过了这三类方法。
如表2,为了验证方法的泛化性,作者在基于视频的多模态问答任务上也做了验证。在保留50%左右的设定下,MustDrop超越了FastV。
关于高效性,作者对比了SparseVLM,如表7。在同样保留320个tokens的情况下,推理总时间比SparseVLM快3分钟。此外,MustDrop比目前最快的FlashAtten注意力策略更快。MustDrop和FlashAtten兼容后能进一步加快速度。此外,MustDrop占据的Peak Memory是最小的。
点击链接阅读原文:多阶段高效多模态大模型