复旦联合多机构提出TokenCarve | 突破多模态压缩瓶颈!信息双阶段策略,22.2% Token实现1.23倍加速

大模型向量数据库机器学习

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

导读

多模态大语言模型(MLLMs)越来越受欢迎,然而,与多模态数据输入,尤其是视觉 Token 相关的高计算成本,构成了一个重大挑战。现有的基于训练的 Token 压缩方法虽然提高了推理效率,但需要昂贵的重新训练,而无需训练的方法在大量减少 Token 数量时难以保持性能。

在这项研究中,作者发现MLLM的性能下降与注意力输出矩阵中信息加速丢失密切相关。这一洞察引入了一种新的信息保留视角,即使在极端的 Token 压缩下也能保持性能。基于这一发现,作者提出了TokenCarve,一个无需训练、即插即用、两阶段的 Token 压缩框架。第一阶段采用信息保留引导选择(IPGS)策略来剪枝低信息 Token ,而第二阶段进一步利用IPGS来引导 Token 合并,最小化信息损失。

在11个数据集和2个模型变体上的大量实验证明了TokenCarve的有效性。它甚至可以将视觉 Token 的数量减少到原始数量的22.2%,在推理中实现1.23倍的加速,KV缓存存储减少64%,准确率仅下降1.54%。

代码:https://github.Com/ShawnTan86/TokenCarve

  1. 引言

近年来,大语言模型[1, 3, 29]的显著成功不仅激发了人们对通用人工智能的期望,也为多模态大语言模型(MLLMs)[10, 14, 20, 35]的快速发展奠定了基础。通过将LLMs强大的推理和生成能力扩展到图像字幕生成、视觉问答和跨模态检索等多模态任务,MLLMs显著拓宽了人工智能应用的领域。然而,鉴于MLLMs通常包含数十亿甚至数百亿个参数,实现低成本和高效的推理仍然是一个关键挑战。

对于大多数多模态语言模型(MLLMs),视觉 Token 带来的计算开销是巨大的,导致注意力复杂度为

,并需要高效的压缩策略。现有的MLLMs压缩方法可以大致分为两类:基于训练的方法[15, 17, 42],这些方法依赖于端到端学习的压缩器(例如 Query 模块或Gumbel-softmax预测器),因此需要昂贵的重新训练和模型特定适应;以及无训练方法,包括在将视觉编码器输入LLM之前应用的 Token 压缩[27, 34]以及LLM内部层内的 Token 压缩[37, 43]。虽然这些无训练方法可以有效地压缩 Token ,但当 Token 数量显著减少时,它们的性能通常难以保持。

在本研究中,作者采用了一种新颖的信息保留视角,以调查和设计一种无需训练的方法,即使在大量 Token 压缩的情况下也能保持强大的性能。类似于[2, 11, 19, 36],作者根据注意力输出矩阵的排名来衡量 Token 序列的信息量。作者的实验揭示了MLLM性能与信息量之间的强相关性。具体来说,作者观察到随着 Token 数量的减少,MLLM性能和信息量都呈现出类似的下降趋势。值得注意的是,当视觉 Token 的数量减少到大约一半时,性能下降的速度加剧,信息量也迅速下降,并出现一个明显的拐点。这一观察表明,在 Token 压缩过程中减缓信息损失的速度可能有效地推迟MLLM性能的下降。

基于这一洞察,作者提出了TokenCarve,一种信息保留、无需训练、即插即用的视觉token压缩方法。TokenCarve的核心框架采用两阶段迭代token压缩策略。在第一阶段,作者创新性地提出了信息保留引导选择(IPGS)策略,该策略利用第二视觉token层的输出进行奇异值分解,以量化每个token对整体信息量的贡献。通过将这些测量值与从注意力矩阵中得到的注意力分数相结合,IPGS能够实现token的初步剪枝,在信息丰富性和跨模态对齐之间取得平衡。在第二阶段,TokenCarve利用IPGS计算出的token分数,根据它们的相对重要性将剩余的token分为两组。然后,通过token相似度引导进行细粒度合并过程,进一步减少token数量,同时确保关键信息的保留。TokenCarve不仅显著降低了计算开销,而且有效地保留了关键信息,即使在token数量大幅减少的情况下也能保持稳健的性能。

为了评估TokenCarve的有效性,作者在11个广泛使用的数据集上进行了全面和系统的性能评估,涵盖了视觉识别、推理、OCR和多模态科学问答等任务。其中,主结果中展示了8个数据集的结果,其余3个数据集包含在补充材料中。此外,作者还对7B和13B模型变体进行了实验。如图1所示,采用两阶段迭代 Token 压缩策略,TokenCarve可以在保持高准确率的同时,仅保留原始视觉 Token 的

,性能仅下降

。同时,推理速度提高了1.23倍,KV缓存存储减少了

,从而显著降低了延迟并提高了存储效率。

picture.image

作者的主要贡献总结如下:

    1. 作者揭示了MLLMs性能与注意力输出矩阵中的信息量之间的相关性。具体来说,随着视觉 Token 数量的减少,性能和信息量都呈现出类似的下降趋势,当 Token 数量达到大约一半时,下降速度加快。这一发现为设计 Token 压缩方法提供了新的信息保留视角。
    1. 作者提出了TokenCarve,一种两阶段的 Token 压缩方法。第一阶段采用信息保留引导选择(IPGS)策略来选择信息量高的 Token 。第二阶段进一步使用IPGS来引导 Token 合并,最小化信息损失。TokenCarve无需训练,即插即用,即使在显著减少 Token 数量的情况下也能保持强大的性能。
    1. 作者进行了广泛的实验以展示所提方法的有效性。具体来说,TokenCarve有效地将视觉token数量减少到原始的

,实现了推理速度

的提升,KV缓存存储减少了

,准确率仅下降了

。这些结果突显了其大幅降低计算开销、缓解延迟和优化存储效率的能力。

  1. 相关工作

在多模态大语言模型(MLLMs)中,视觉 Token 表现出高度的信息冗余,导致显著的计算开销[7, 9, 39]。现有的MLLMs Token 压缩方法可以大致分为基于训练的方法[8, 15, 17, 24, 30, 41, 42]和无训练方法[9, 16, 21, 27, 33, 34, 37, 38, 43]。

基于训练的视觉 Token 压缩方法用于多模态大语言模型。QueCC [17] 探索了一种视觉编码结构,其中视觉编码阶段仅需单个 Token 输入进行视觉 Token 训练。DynamicLLaVA [15] 揭示了对于视觉推理任务,通过使用在计算预算内最大的LLM并最小化视觉 Token 数量,可以实现最佳推理性能。LLaVA-Mini [42] 引入了模态预融合,将视觉信息预先整合到文本 Token 中,实现了极端压缩,其中仅将单个视觉 Token 输入到LLM主干中。然而,这些基于训练的方法需要昂贵的重新训练以适应不同的模型,这限制了它们的广泛应用。

无训练视觉token压缩方法用于MLLMs。FastV [9] 识别了MLLMs中注意力效率低下的问题,并提出在MLLMs的第2层之后,一张图像的价值相当于1/2个token。SparseVLM [43] 提出了一种基于文本引导且无训练的视觉token优化方法,通过选择与视觉内容最相关的文本token来评估视觉token的重要性。MustDrop [21] 在MLLMs的视觉编码、预填充和解码阶段设计了专门的视觉token压缩模块。VisionZip [38] 引入了一种文本独立的方法,通过选择主导视觉token并采用基于相似度的token合并策略,显著减少了视觉token的数量。尽管这些无训练方法在一定程度上减轻了视觉token的冗余,但在高压缩率下,它们会遭受显著的性能下降。为了缓解这个问题,作者提出了TokenCarve,这是一种新颖的无训练视觉token压缩方法,能够在MLLMs中保留关键信息。通过策略性地保留关键视觉token,TokenCarve减少了性能下降,即使在极高的压缩率下也能保持强大的性能。

  1. 研究方法

3.1. 前言

MLLMs整合视觉和文本输入以增强语言理解和生成。一个典型的架构,以LLaVA [20] 和QwenVL [35] 为例,包括视觉编码器、投影模块和LLM。给定一个图像-文本对,视觉编码器(例如,CLIPViT)提取图像特征并将它们转换为视觉 Token

。这些 Token 随后被投影到文本嵌入空间中,从而产生上下文化的视觉嵌入。同时,文本输入被分割成系统 Token

和 Prompt Token

,其中

编码系统级指令,

包含用户提供的 Prompt 。得到的跨模态序列

随后输入到LLM中,以促进自回归 Token 生成。

在每个Transformer层中,模型通过一个增强旋转位置嵌入的自注意力机制,动态地对视觉和文本 Token 进行关注。

注意力计算如下:

其中

表示在

层中对 Query

和键

应用一个位置相关的旋转矩阵,从而确保相对位置信息直接嵌入到注意力机制中 [32]。

随后,这些注意力分数用于从值矩阵中聚合信息:

定义为第

层的注意力输出矩阵,封装了多模态序列的上下文表示。对于最后一层,

通过 FFN 处理,以产生最终的隐藏状态

,随后通过语言模型头投影到词汇空间,以进行自回归 Token 生成[6, 31]。

3.2. 关键发现:MLLM性能与注意力输出矩阵信息量的相关性

以LLaVA-7B为例,在预填充阶段,模型使用了总共约700个 Token 中的576个视觉 Token ,因此视觉 Token 占输入的超过80%。因此,视觉 Token 代表了大部分的计算成本,作者的目标是减少它们的数量,同时最小化性能下降。

在作者的推理加速实验中,作者观察到减少视觉 Token 数量后,模型的性能与注意力输出矩阵中的信息量密切相关。这一观察结果反过来又激励了作者的后续实验研究。

3.2.1. 通过注意力分数选择进行视觉 Token 压缩

picture.image

作者采用基于注意力分数的 Token 选择方法对OCR-VQA [25]数据集中的视觉 Token 进行压缩,逐步将 Token 数量从576减少到15。通过使用公式(3)对得到的性能曲线进行归一化处理,作者获得了图2所示的MLLLMs性能曲线。

其中,

表示使用

个视觉 Token 所获得的性能指标,而

分别代表观察到的最大值和最小值。

3.2.2. 分析注意力输出矩阵中的信息量

在预填充阶段,作者从最终的LLM层

(LLM由

层组成)中提取注意力输出矩阵,并隔离其视觉成分:

分别表示系统 Token 数和视觉 Token 数。

为了量化

的信息量,作者计算其矩阵秩作为 Agent 指标。通过复制视觉 Token 压缩过程,作者绘制了随着视觉 Token 数量从57减少到15时

的矩阵秩,并使用公式(3)对曲线进行归一化,得到如图2所示的视觉 Token 信息曲线。

3.2.3 观察分析

从图2中,作者观察到早期视觉 Token 压缩对MLLM性能的影响微乎其微。然而,一旦压缩进入紫色阴影区域,性能与

中由于秩减少而加速的信息损失呈平行下降。这些结果揭示了一个两阶段的信息损失过程——初始的逐渐损失随后是快速的退化——表明MLLM性能与注意力输出矩阵的秩之间存在密切关系。

这一洞察启发了作者的TokenCarve方法,该方法采用信息保留引导选择方法,以最小化信息损失并优化视觉 Token 压缩。通过战略性地保留关键数据,TokenCarve在极端压缩条件下有效地延缓了性能下降,从而提高了模型的总体效率。

3.3. Token 剪枝

picture.image

TokenCarve在MLLMs的预填充阶段插入到LLM的第二层和第三层之间。它采用两阶段方法迭代压缩 Token ,将原始视觉 Token 序列雕刻成更紧凑的形式,同时最小化信息量损失。图3展示了TokenCarve的整体流程,本节将详细解释两个雕刻阶段。

3.3.1. 阶段 I:利用信息保留的引导选择策略进行 Token 剪枝

受第3.2节观察到的MLLMs在推理过程中信息量变化的启发,作者提出了信息保持引导选择(IPGS)策略。该策略识别出既对整体信息量有显著贡献又保持高注意力分数的视觉 Token ,确保了信息丰富性和模型偏好之间的最佳平衡。

为了计算一个 Token 对整体信息量的贡献,作者使用在预填充阶段从第二个LLM层获得的公式(3),表示为

,其中

代表视觉 Token 的数量,

是注意力输出矩阵的隐藏维度。通过应用奇异值分解,

可以表示为

,其中

是一个

的正交矩阵,其列向量为左奇异向量,

是一个

的正交矩阵,其列向量为右奇异向量,

是一个

的对角矩阵,其对角元素是奇异值

,通常按降序排列。

Zzisual的每一行(对应于每个 Token )可以表示为:

表示矩阵

中第

行和第

列的元素,表示第

个 Token 在第

个左奇异向量上的投影系数。利用这一点,可以计算第

个 Token 对

的秩(即其对整体信息量的影响)的贡献如下:

为了计算视觉 Token 的注意力得分,作者遵循FastV中的方法,使用第二层LLM的注意力矩阵,记作

,其中

是注意力头数。每个视觉 Token 的注意力得分获取方式如下:

²

²

通过结合信息贡献分数(ICS)

和注意力分数(AS)

,作者定义综合分数为:

²

²

²

是平衡两个度量标准的加权系数。使用

,然后作者执行 Token 剪枝,丢弃得分较低的 Token ,从而完成第一阶段的雕刻。假设整体目标是减少视觉 Token 的数量从

,第二阶段的合并比例用

表示,这个第一阶段将 Token 数量从

减少到

基于仅根据位置分组的传统合并策略,TokenCarve利用IPGS提供的 Token 分数将 Token 根据其重要性分为两组。具体来说,作者将 Token 划分为以下几类:

3.3.2. 画阶段II:使用信息保留的引导选择策略进行 Token 合并

在第二阶段的token carving中,作者已经使用IPGS策略剪枝掉了一部分token,留下了相对更重要的token。因此,在这个阶段需要一种更细粒度的token carving方法。为了进一步保留信息,作者在第二阶段的Carving中采用了token merging [5]方法,这与作者的信息保留原则相一致。与常规方法不同,

其中IndexSort返回按降序排序的序列的索引。

在获得SetA和SetB后,作者使用公式(2)对相应的 Token 进行归一化,并通过以下方式计算SetA和SetB中 Token 之间的相似度:

,其中

表示矩阵乘法。

最后,将SetB中与SetA中token具有最高相似度分数的前

个token,通过平均加权方案(类似于ToMe [5]中使用的方案)合并到SetA中,而所有剩余的token保持不变。这个过程完成了第二阶段的雕刻,将视觉token的数量从

减少到

。第4.5节进一步验证了TokenCarve在视觉token压缩中的有效性,并探讨了其性能背后的影响因素。

  1. 实验

4.1 评估任务

为了评估TokenCarve在图像理解任务中的有效性,作者在包括MME [12]、MMBench (MMB) [22]、POPE [18]、SQAIMG [23]、VizWiz [4]、VQAText [28]、

[13]和MMVet [40]在内的八个广泛使用的基准上进行实验。同时,作者将TokenCarve与现有的sota方法(如FastV [9]、SparseVLM [43]、MustDrop [21]和VisionZip [38])进行比较,这些方法主要利用注意力分数来压缩MLLM中的冗余视觉 Token 。

4.2 实施细节

为进一步验证TokenCarve的可推广性,作者在具有不同架构的各种开源多语言语言模型(MLLLMs)上测试了TokenCarve。作者主要在LLaVA-1.5-7B框架上进行了实验。在LLaVA-1.5-13B上的实验进一步验证了TokenCarve在大规模模型上的有效性。所有实验均在配备32GB内存的单个NVIDIA TeslaV100上完成。

4.3 主要结果

在LLaVA-1.5-7B上的结果。如表1所示,作者在LLaVA-1.5-7B上使用八个数据集验证了TokenCarve。比较包括了正式发表的算法([9, 38])以及arxiv预印本([21, 43])。遵循[9]中的设置,作者使用三种视觉 Token 计数配置(192、128和64)来评估作者提出的视觉问答的优势。总体而言,TokenCarve在几乎所有数据集上实现了最优或次优结果,展示了TokenCarve的强大竞争力。随着视觉 Token 数量的减少,TokenCarve的优势越来越明显,这充分验证了TokenCarve在 Token 压缩过程中有效缓解性能退化的效果。视觉问答任务数据集(如

)包含大量对 Token 压缩导致的信息丢失敏感的OCR任务。TokenCarve在这些视觉问答任务上表现出色,并且在三种视觉 Token 计数配置下相较于所有现有方法均实现了最优。一个有趣的现象是,SQA和VizWizVQA数据集对 Token 压缩率不敏感,这在所有视觉 Token 压缩方法中都是存在的。关于更多视觉 Token 计数设置和额外数据集的结果,请参阅补充材料。

picture.image

关于LLaVA-1.5-13B的结果。为进一步展示作者提出的TokenCarve的有效性,作者将其应用于更大的模型LLaVA-1.5-13B,如表2所示。可以看出,TokenCarve在四个数据集上均显著优于FastV。在MME数据集中,TokenCarve在感知/认知部分得分均显著高于fastV。显然,在保留较少视觉token的情况下,与FastV相比,TokenCarve优势更为明显。在POPE数据集中,当保留64个视觉token时,FastV的性能下降了17.2,而TokenCarve仅下降了2.7。这些结果表明,TokenCarve即使在极低的token保留率下也能保持强大的性能,证明了其在不同模型规模上的有效性,并确认了其在不同架构上的鲁棒性。

picture.image

4.4 消融研究

集成电路效应。为了理解最小化信息损失的有效性,作者在表3中评估了三个数据集(即MME、POPE和TextVQA),其中AS表示注意力得分,ICS表示信息贡献得分。ICS在POPE数据集上的表现极为出色,甚至比联合方法取得了更好的结果,这反映了作者最小化信息损失的重要性。但在其他数据集上的表现最差。总体而言,联合选择策略(TokenCarve)最稳定,在一般情况下表现更佳,尤其是在 Token 数量较少时。因此,在大多数情况下,联合选择策略是最好的选择。

picture.image

权重系数的必要性。为了评估作者在视觉 Token 压缩中的选择策略的影响,作者通过图4分析了权重系数变化对MLLMs性能的影响。结果显示,在不同视觉 Token 数量配置下,存在一个一致的趋势:当权重系数接近任一极端(

)时,模型性能下降。这一观察结果突出了综合评分的关键作用。TokenCarve通过利用综合评分,有效地剪枝冗余的视觉 Token ,同时保留关键视觉信息,确保了一种平衡且稳健的压缩策略。

picture.image

合并比例敏感性。在图5中,作者考察了不同合并比例对性能的影响,以LLaVA-1.5-7B作为基础模型,MME作为数据集。作者计算了在不同视觉 Token 保留水平下,相对于主实验中

保留率的MLLM性能变化率。随着合并比例的增加,模型性能在所有三个视觉 Token 计数配置中均保持在

的波动范围内。这清楚地表明TokenCarve对合并比例变化不敏感,证实了TokenCarve的鲁棒性。

picture.image

4.5 效能分析

如图6所示,作者对TokenCarve在视觉 Token 压缩中的有效性进行了详细分析。如图6左下角的两条虚线曲线(橙色虚线代表TokenCarve,蓝色虚线代表FastV)所示,随着视觉 Token 数量的减少,对应TokenCarve的橙色虚线始终高于FastV的蓝色虚线。这表明TokenCarve更好地保留了注意力输出矩阵的排序,有效地保留了原始视觉 Token 序列中的更多信息。

picture.image

此外,如右侧轴上的性能曲线所示,TokenCarve在显著减少 Token 的情况下,始终保持着比FastV更优越的性能。这一现象验证了作者从图2中得出的关键见解,并进一步证实了TokenCarve有效地保留了注意力输出矩阵的排序,从而保持了 Token 序列的信息量,这为其有效性提供了根本保障。

4.6 CUDA时间测试

在表4中,作者使用torch .profiler评估了TokenCarve在单个NVIDIA Tesla V100(32GB)上的实际加速效果,通过从TextVQA数据集中选取的100个样本实例进行评估,计算了样本的平均执行时间。由于TokenCarve压缩了视觉 Token ,它显著降低了推理延迟和KV缓存占用。

picture.image

具体来说,将视觉 Token 数量从576减少到128,将推理延迟从1.124秒减少到0.911秒,实现了1.23倍的速度提升,同时KV缓存使用率从100%降至36%。此外,模型保持了高性能稳定性,不同 Token 配置下的准确率仅从58.2降至58.1,略有下降。进一步将视觉 Token 数量压缩到64,导致性能下降1.2,而KV缓存使用率降至26.9%,实现了更大的1.33倍加速。这些结果证实了TokenCarve的实际有效性,展示了其减少计算和存储需求的能力,从而增强了多语言大语言模型(MLLMs)在实际应用中的部署性。

  1. 结论

在本研究中,作者探讨了MLLM性能与注意力输出矩阵中信息保留之间的关系,揭示了性能下降与 Token 压缩过程中信息丢失密切相关。受此启发,作者提出了TokenCarve——一个无需训练、即插即用、两阶段 Token 压缩框架,即使在极低的 Token 压缩比率下也能保持稳健的性能。通过采用信息保留引导选择(IPGS)策略来剪枝和合并 Token ,TokenCarve将视觉 Token 数量减少到原始数量的

,同时实现了

的推理速度提升,KV缓存存储减少了

,准确率仅下降了

尽管这些结果很有前景,但实际的加速仍然受到工程限制的约束。例如,保持Sparse化 Token 的原始位置关系需要反复使用原始位置ID计算旋转位置编码,这限制了模型的有效加速。作者未来的工作将专注于优化这些实际方面,以在现实世界的应用中实现更显著的推理速度提升。

参考

[1]. TokenCarve: Information-Preserving Visual Token Compression in Multimodal Large Language Models

picture.image

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称)

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
在火山引擎云搜索服务上构建混合搜索的设计与实现
本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论