[控场AI]
· 6 分钟阅读· 3,322 字

按需分配视觉Token:多图推理成本降低9倍的新方案

按需分配视觉Token:多图推理成本降低9倍的新方案

mmVB通过按需分配视觉token预算,让多图推理实现9倍压缩与5倍加速且保留94.4%精度。

多模态大模型在多图输入场景下面临严重的效率瓶颈:每张图产生大量视觉token,编码与注意力开销线性甚至超线性增长,且跨图像冗余和稀疏分散的任务证据使单图压缩方法难以直接迁移。现有方案要么免训练但推理低效、依赖注意力矩阵而与FlashAttention不兼容,要么需要重训基础模型、代价高昂。研究者提出即插即用的mmVB模块,核心是“按需分配”:依据query与跨图像上下文为每张图动态分配不同的token预算,与任务无关的图被大幅压缩,预算让给含证据的关键图。该模块仅增加1.6M可训练参数,无需重训基础模型,也不访问注意力矩阵。在八个多图推理基准上,mmVB将视觉token减少9倍,首token时间加速5倍,prefill FLOPs降低7倍,同时保留全分辨率精度的94.4%,为多页文档、电商比对、视频帧推理等场景提供了低成本部署路径。

多图推理为何成为多模态大模型的效率瓶颈

多模态大语言模型(MLLM)在过去两年进步飞快,但绝大多数模型仍然围绕单张图片的输入做优化。当输入变成多张图片时,每一张图都会产生大量视觉token,编码开销和注意力计算量随之线性甚至超线性增长。

这个问题在真实场景中非常普遍。做图表对比、多页文档理解、视频帧推理、跨图检索、计数与时间顺序判断时,模型需要同时"看到"多张图片,而不是把它们一张张独立处理。单图场景下的冗余主要是空间性的、局部的,比如一张图里相邻patch高度相似;多图场景的冗余则可能是跨图像的,而且任务相关的证据往往稀疏地散落在不同图片中。

多图推理中的视觉token分配示意

视觉token(visual token) 是多模态大模型处理图像的基本单位。典型做法是用ViT等视觉编码器把一张图片切分成若干patch(如14×14像素一块),每个patch经过编码后形成一个向量,再通过投影层映射到语言模型的词嵌入空间,成为与文本token同构的序列元素。一张448×448的图片在patch大小为14时会产生1024个视觉token,高分辨率或切图策略下可达数千个。这些token全部进入Transformer的注意力计算,其开销随序列长度呈二次增长,因此在多图场景中,视觉token总量往往是文本token的数倍甚至数十倍,成为prefill阶段的主要算力消耗来源。压缩视觉token数量,本质上就是在不破坏语义的前提下减少这部分冗余计算。

FlashAttention 是一种IO感知的精确注意力算法,通过分块(tiling)和在线softmax把注意力矩阵的计算融合进SRAM,避免将完整的N×N注意力矩阵写回显存。它在保持数值精确的同时大幅降低显存占用并提升速度,已成为主流推理框架的默认实现。但正因为注意力分数在计算过程中被即时消费、不被物化保存,外部模块很难直接读取注意力矩阵来判断哪些token重要。依赖注意力权重的token剪枝或压缩方法因此难以与FlashAttention共存,这也是许多免训练压缩方案在工程落地时受限的关键原因。

现有压缩方法为什么不够用

围绕视觉token压缩,学界已经积累了不少技术路线:token剪枝、token合并、视觉token压缩、可学习重采样、分层压缩、检索增强的视觉推理、基于记忆的架构等。这些方法各有取舍,但有一个共同前提——它们大多为单图场景设计。

更关键的是,现有方法在工程落地上有两种尴尬:一是免训练但推理低效,通常需要读取注意力矩阵来判断token重要性,而FlashAttention这类内存高效实现并不方便暴露注意力矩阵;二是依赖训练,需要把基础MLLM重新训练或适配到新的压缩token范式上,代价高、迁移性差。

多图推理还带来一个额外风险:如果对每张图激进压缩,可能会丢掉对比、计数、时序推理、检索或证据定位所必需的细节。单图压缩丢掉的是冗余,多图压缩丢掉的可能是答案本身。

token剪枝(token pruning) 指依据某种重要性评分直接丢弃部分视觉token,被丢弃的信息不再参与后续计算,压缩率高但不可逆;token合并(token merging) 则把相似的多个token聚合成一个代表向量,保留信息的同时降低序列长度,常见做法如对相邻patch做二分匹配后求平均。两者都属于免训练的推理期压缩。可学习重采样(如Q-Former、Perceiver Resampler)则引入一组可训练query,通过交叉注意力把任意数量的视觉token压缩成固定数量的输出token,压缩比稳定但需要额外训练。分层压缩在视觉编码器的不同深度逐步减少token,把压缩与特征提取结合。这些路线在单图任务中表现良好,但其重要性判断往往基于单图内部的空间冗余,缺乏跨图像的全局视角,因此直接迁移到多图场景时容易误删关键证据。

mmVB的核心思路:让每张图按需获得视觉预算

针对上述矛盾,研究者提出了mmVB——一个轻量级、即插即用的模块。它的核心思想是按需分配(Visual Tokens on Demand):不再对每张图用统一的压缩率,而是根据查询(query)和跨图像上下文,动态给每张图分配不同的token预算。

这个设计有两个直接好处。第一,与任务无关的图片可以被大幅压缩,把预算让给真正包含证据的图片;第二,任务相关证据稀疏且分散时,模型可以把"注意力资源"集中投放到关键图像上,而不是平均用力。

从参数规模上看,mmVB只增加了1.6M可训练参数,相对于基础MLLM可以忽略不计。它不需要重新训练基础模型,也不需要在推理时访问注意力矩阵,因此和FlashAttention等高效实现兼容。

性能数据:9倍压缩、5倍加速、精度保留94.4%

论文给出的实验结果相当有说服力。在八个多图推理基准上,mmVB把视觉输入token减少了9倍,带来5倍更快的首token时间(TTFT)和7倍更少的prefill FLOPs,同时保持了全分辨率精度的94.4%。

这组数字的意义在于,它同时改善了推理延迟和计算成本这两个最核心的部署指标。首token时间直接影响交互体验,prefill FLOPs则决定服务端吞吐和单次请求的算力开销。对于需要处理大量多图请求的应用——比如多页文档问答、电商多图比对、视频帧理解——这种量级的优化足以改变系统架构的选择。

说个细节,94.4%的精度保留并不是在单一任务上取得的,而是跨八个基准的平均表现,说明mmVB的收益具有一定的普适性,而非只针对某一类多图任务调优。

TTFT(Time To First Token,首token时间) 指从请求发出到模型生成第一个输出token的延迟,主要由prefill阶段决定,即模型对全部输入token做前向计算、填充KV Cache的过程。在多图场景中,输入序列被视觉token大幅拉长,prefill计算量随之膨胀,TTFT成为交互体验的瓶颈。FLOPs(浮点运算次数) 是衡量计算量的指标,prefill FLOPs大致随序列长度线性增长(注意力部分为二次),因此减少视觉token数量可同时压低TTFT和单次请求的算力开销。这两个指标分别对应终端用户感知的响应速度和服务器端的吞吐成本,是部署多模态服务时最核心的优化目标。

对多模态应用开发的启示

mmVB的价值不只是一篇论文里的数字。它指出了一个方向:多图推理的效率问题,未必需要靠重新训练模型或改造注意力机制来解决,也可以在输入侧通过"预算分配"这一层来做文章。

对工程团队来说,即插即用、不依赖注意力矩阵、只增加1.6M参数,意味着它可以相对低成本地接入现有推理管线。对研究者来说,"跨图像上下文决定每张图预算"这一思路,也可能延伸到视频理解、多模态RAG等更复杂的场景。

多图推理正在从边缘需求变成主流需求,如何在保持精度的同时把成本压下来,会是接下来一段时间多模态系统竞争的关键点之一。

多模态RAG(Retrieval-Augmented Generation) 是把检索增强生成从纯文本扩展到图文混合语料的架构:系统先从大规模图文库中检索出与query相关的若干图片或页面,再把它们连同文本一起送入多模态大模型生成答案。由于一次检索往往召回多张图片,输入天然是多图的,且真正包含答案的往往只是其中一两张,其余为干扰项。这与mmVB所针对的“证据稀疏分散”场景高度吻合——按需分配token预算可以让真正相关的图片获得高分辨率表示,而无关图片被大幅压缩,从而在检索质量参差不齐时仍能控制推理成本。视频理解同理:从长视频中采样关键帧后形成多图输入,帧间冗余极高,预算分配机制可用于保留动作发生的关键帧而压缩静态帧。

#多模态大模型#多图推理#视觉token压缩#mmVB#视觉预算分配#MLLM效率优化#prefill FLOPs
分享:

相关推荐