跳转至

FlashVLM: Text-Guided Visual Token Selection for Large Multimodal Models

会议: ECCV2026
论文: ECCV 原文
领域: VLM 效率
关键词: 视觉 token 剪枝、文本引导、跨模态相似度、视觉显著性、多样性保留

一句话总结

FlashVLM 在视觉编码器与语言模型的接口处,用查询相关性和视觉显著性的融合分数选出关键区域,再补充非冗余背景,在 LLaVA-1.5-7B 上将 576 个视觉 token 压到 128 个时报告 100.6% 的相对性能,但这不代表所有任务都无损。

研究背景与动机

视觉语言模型通常把图像切成密集 patch,再把数百个视觉 token 与问题一起交给大语言模型。用户可能只问某个物体的颜色,语言模型却仍需处理整幅图像的背景和重复纹理;视频和高分辨率输入会进一步放大这一负担。压缩视觉序列既可减少预填充阶段的计算,也能缩小 KV cache,但视觉编码器本身已经执行过,因此不能把 token 剪枝比例直接当成整机加速比例。

怎样判断哪些 token 可以删除,比单纯缩短序列更难。VisionZip、VisPruner 等依赖图像自身的显著性,不能随问题改变关注区域;FastV、SparseVLM 等利用语言模型注意力,却可能受位置偏差和注意力头稀疏性影响。另一方面,只保留与问题词语最相似的 patch 也不可靠:计数需要多个实例,关系判断需要周围对象,显著物体之外的背景可能正是答案所需的证据。

本文因此把“与问题有关”与“保留足够上下文”分开处理:先用视觉和文本两类信号确定重要区域,再给剩余图像内容保留一个多样性预算。核心 idea:在进入语言模型前一次性融合查询相关性与视觉显著性,并从剩余区域保留互不冗余的背景 token,让压缩后的输入既对题又不失去场景上下文。

方法详解

整体框架

输入是冻结视觉编码器输出的 patch 特征和用户问题,输出是交给原语言模型的一个较短视觉 token 子集。FlashVLM 不新建答案生成器,也不在每个 Transformer 层反复剪枝,而是在编码器与解码器交界处完成选择。它的两个主要步骤是“查询引导相关性融合”和“多样性保留分区”,前者回答哪些区域应优先留下,后者避免剩余预算被相似背景占满。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["图像或视频帧"] --> B["视觉编码器<br/>特征与显著性"]
    C["用户问题<br/>嵌入与早层文本注意力"] --> D["查询引导相关性融合"]
    B --> D
    D --> E["多样性保留分区<br/>关键区域与非冗余背景"]
    B --> E
    E --> F["压缩视觉序列 + 问题<br/>原语言模型生成答案"]

图中全部是推理阶段的数据流,没有新增训练监督。所谓 attention-light 指的是不用深层文图注意力图来决定跨模态相关性,并非完全不用注意力:视觉显著性来自视觉编码器,正文中的查询门控还依赖语言模型早层的文本到文本注意力。这个区别关系到复现时需要暴露哪些中间状态,也关系到选择器开销应该如何计入。

关键设计

1. 查询引导相关性融合

首先要把视觉与文字放到可比较的空间。视觉 patch 经过模型已有的多模态投影器进入语言模型嵌入空间,并进行 L2 归一化。问题 token 由语言模型的嵌入层生成;按第 3.1 节,作者从早层文本自注意力中累计每个文本 token 收到的注意力,再相对最大累计值归一化,作为上下文门控。其意图是让承载查询语义的词比无关词更有影响,而不是仅用词向量模长猜重要性。

随后计算每个视觉 patch 与每个文本 token 的点积相似度,得到“图像区域 × 问题词”的矩阵。这不是直接从解码器读取文图注意力,而是显式比较两个模态的特征。对于每个 patch,沿文本维度对相似度除以温度后做 softmax,再对该 patch 的相似度加权求和;默认温度为 0.05。较低温度让最匹配的词主导分数,避免一个相关名词被问题中的大量普通词平均稀释。

聚合后的分数还需过滤。正文描述先计算均值和标准差,把低于均值的标准化值截到零,再进行 min–max 归一化,形成外部查询相关性分数。这里阈值随当前分数分布变化,不是固定相似度阈值;但论文使用“batch mean”的措辞,缓存未充分说明跨样本与单样本统计的确切轴。复现时应核对实现,不能自行补出一个确定版本。

与此并行,视觉编码器的注意力在头之间平均,再经 min–max 归一化,形成内部视觉显著性。查询分数负责找到“问题在问什么”,视觉分数提供不依赖字面匹配的结构线索。作者在对数域实现两者的加权几何融合,默认权重为 0.5,之后再次归一化;它倾向于保留两类信号都支持的区域,而不是让一个很高的单模态分数在线性相加时掩盖另一侧的低分。无问题输入时,作者设外部相关性为零,并描述其退化为基于视觉注意力的剪枝。

这里存在一个必须保留的复现疑点:正文说先给每个词向量乘以标量门控,再做 L2 归一化。若归一化是逐 token 执行,正标量理论上会被归一化消去;若是对整张矩阵归一化,则结果不同。后面的消融与局限段又使用“query-norm gating”或“norm-based gating”的说法,与前文基于注意力的描述不完全一致。因此门控的设计意图可以讲清,但其精确算子顺序不能仅凭本缓存定论。

缓存中的多个公式还丢失了括号、减号或索引,本笔记不把修补后的猜测写成作者原公式。上述相似度聚合、标准化和几何融合来自相邻文字说明,足以理解算法主线;门控实现及归一化轴仍需原始公式或代码进一步核实。

2. 多样性保留分区

有了融合分数,并不意味着直接取最高分的全部 token。FlashVLM 默认将总保留预算平分:一半留给融合分数最高的关键 token,另一半从剩余候选中保留多样背景。前一半保障问题指向的对象,后一半为关系、计数及场景语义提供补充。如果只做全局 Top-K,同一显著物体附近的相似 patch 可能重复占据预算,其他有用对象就会被挤掉。

背景选择也不是随机抽样。作者先归一化剩余候选的视觉特征,再按展平后的二维空间索引奇偶将其分成两组,计算跨组余弦相似度。每轮找出最相似的一对 token,删除其中融合相关性更低的那个,更新候选集合,直到剩余数量恰好等于背景预算。重要 token 已经提前独占选出,不参与这个残余候选池的删除;最终把两部分留下的 token 合起来交给原语言模型。

这一步同时考虑了“是否重复”和“重复时保留谁”:相似度判断信息冗余,融合分数判断同类信息中哪一份更有用。它并不把多个 patch 平均成一个新特征,所以属于子集选择而非 token 合并。代价边界也要分清:二分减少了每轮比较范围,但跨组矩阵在最坏情况下仍随候选数二次增长,且要迭代删除;论文的低开销结论主要由运行时实验支持,不宜把其文字表述直接理解为已证明线性复杂度。

一个完整示例

设输入是一张同时含有红色番茄、黄色香蕉和背景物体的图片,视觉编码器输出 576 个 token,用户问“右侧的红色水果是什么?”。这是依据论文水果示意图构造的流程说明,不是另一个量化实验。投影后的 patch 与问题词逐一比较,相关性聚合让“红色”“水果”“右侧”等语义有机会提高对应区域的分数,视觉显著性再补充物体结构线索。

在总预算 128 下,首先选择融合分数最高的 64 个 token;其余 512 个进入残余池,按空间奇偶分组并迭代去除近重复项,最终只留下 64 个背景 token。两部分合并后,语言模型接收 128 个视觉 token 与原问题。背景配额并不保证每个对象必留一个,而是提供一个避免全部预算集中于相似区域的机制。

若问题改成“左侧的黄色水果是什么?”,视觉特征可以不变,但文本相关性与最终选择集合会改变,关注点有望从番茄转向香蕉。这个例子也说明查询条件化的成本:同一幅图像对应不同问题时,不能假设同一份压缩子集总是可复用。

损失函数 / 训练策略

FlashVLM 是推理时选择方案,本文未提出新的训练损失或专门微调流程,视觉编码器保持冻结,依赖已有投影器和语言模型表征。默认聚合温度为 0.05,融合权重为 0.5,重要 token 与多样背景各占一半预算。消融中的 Text Sharpening 对应稀疏化/锐化步骤,但缓存未给出足以逐算子复现的单独开关定义,不能从名称推断额外训练模块。

实验关键数据

主实验

图像实验使用 LLaVA-1.5-7B,原始视觉序列为 576 个 token。原表 1 包含 10 个图像基准,ACC 是以未剪枝模型为 100% 的相对性能汇总,并非单一数据集的绝对准确率;缓存未完整给出该汇总的计算公式。下表保留作者报告值,VQAv2、GQA 与 MMVet 列为各基准原始分数,MMVet 不能视为与前两者相同的准确率口径。

方法 保留 token 剪枝比例 相对 ACC VQAv2 GQA MMVet
未剪枝 LLaVA-1.5-7B 576 0% 100.0% 78.5 62.0 31.1
VisPruner 128 77.8% 99.7% 75.8 58.2 33.7
FlashVLM 128 77.8% 100.6% 76.4 58.9 34.1
VisPruner 64 88.9% 96.6% 72.7 55.4 32.3
FlashVLM 64 88.9% 97.9% 73.6 56.1 32.9
VisPruner 32 94.4% 91.5% 67.7 52.2 28.8
FlashVLM 32 94.4% 92.8% 69.3 52.8 29.6

原表 2 的视频实验使用 Video-LLaVA,输入 8 帧、分辨率 224,共 2048 个视觉 token,以 ChatGPT-Assistant 评估 TGIF-QA、MSVD-QA、MSRVTT-QA。保留 455 个 token 时,平均准确率为 48.7%,仍低于未剪枝的 49.3%;平均评分为 3.33,略高于未剪枝的 3.32。两类指标不能混成“视频任务全面无损”。

作者称沿用各基准官方协议,基线数值直接取自 VisPruner 论文,FlashVLM 是 5 次独立运行的均值。当前缓存未列出完整 split、所有 evaluator 细节或方差,也没有包含所指的补充材料;因此这些是作者报告的可比条件,而不是本笔记独立重跑的结论。

消融实验

以下摘自原表 5 的 64-token 设置,模型为 LLaVA-1.5-7B。保留所有消融行以展示不同组件对不同任务的作用,表中数字均为原始分数,不是相对 ACC。

配置 VQAv2 POPE MMB MMVet GQA
完整模型 73.6 81.7 61.8 32.9 56.1
去掉文本引导 72.7 80.6 61.3 32.4 55.4
去掉视觉显著性 72.5 80.7 61.1 32.1 55.2
去掉多样背景保留 72.4 81.3 61.5 32.2 55.6
对数融合改为线性融合 73.2 80.2 61.2 32.5 55.8
去掉文本锐化 73.0 80.9 61.2 32.3 55.6
去掉查询门控 72.8 81.0 61.4 32.3 55.3

运行效率来自原表 4 与第 4.4 节,使用的是 LLaVA-NeXT-7B,而非上表的 LLaVA-1.5-7B。硬件为单张 NVIDIA A100,batch size 1、FP16;延迟为作者报告的端到端 CUDA 延迟。

方法 保留 token FLOPs(T) KV cache(MB) GPU 显存(GB) 延迟(ms)
未剪枝 LLaVA-NeXT-7B 2880 43.6 1440 17.0 313
FastV 640 13.5 380 16.9 148
VisPruner 640 11.5 360 14.8 117
FlashVLM 640 11.3 356 14.6 115
FastV 160 6.3 95 16.9 112
VisPruner 160 3.8 80 14.7 78
FlashVLM 160 3.6 78 14.7 74

关键发现

  • “超越无损”是汇总层面的结论:128-token FlashVLM 的相对 ACC 为 100.6%,但 VQAv2 从 78.5 降到 76.4,GQA 从 62.0 降到 58.9。不能将其宣传为每项任务均优于原模型。
  • 多样性和视觉结构确实有用,但不存在所有任务都相同的“最大贡献组件”:64-token VQAv2 去掉背景保留下降 1.2 分,GQA 去掉视觉显著性下降 0.9 分,POPE 改成线性融合下降 1.5 分。
  • 160-token FlashVLM 的延迟为 74 ms,对未剪枝的 313 ms 约为 4.23 倍加速;相对同预算 VisPruner 的 78 ms 则只少 4 ms。token 数大幅减少,不等于对强剪枝基线有同等幅度加速。

亮点与洞察

  • 把查询条件化选择放在语言模型入口,有利于保留内部稠密计算和 FlashAttention 兼容性。可迁移的重点是选择器的位置,而不只是换一个重要性分数。
  • 关键区域和背景采用不同选择规则,比单纯全局 Top-K 更贴近视觉问答的证据需求。多样性预算保留的是补充信息,不是把低分 token 一概视为无用。

局限与展望

  • 作者指出,性能依赖投影视觉嵌入的质量,细粒度任务可能需要更多 token;纯逻辑否定仍困难,单次选择也缺少多步修正和时序反馈。
  • 本笔记的复现判断:门控与归一化的先后关系、文本注意力获取方式和背景迭代复杂度仍需代码澄清,不能把 attention-light 扩写成完全 attention-free。
  • 证据范围有限:正文宣称 14 个基准,但当前可见主表只覆盖 10 个图像和 3 个视频基准;原表 1 图注又写 12 个,与可见列数不符。ActivityNet-QA 和其他骨干的详细结果被指向未包含的附录,本笔记不据此补写数值或扩大结论。
  • 汇总收益很小且没有报告方差,不能仅凭 100.6% 判断统计显著性。更有价值的后续验证是明确 split 和评估器版本,测量选择器独立开销,并测试长视频与否定问题。

相关工作与启发

  • vs VisPruner / VisionZip:这些方案偏重视觉自身线索;FlashVLM 加入显式查询相关性,但也因此不能为所有问题固定复用同一份压缩结果。
  • vs FastV / SparseVLM:FlashVLM 不依赖语言模型深层文图注意力反复筛选,部署侵入性较低;不过早层文本注意力的门控依赖仍需单独交代。
  • vs ToMe / PruMerge+:合并类方法重构 token 表示,本文保留原 token 子集。两者都处理冗余,但本文更强调问题条件化与背景配额,不能把其优势归因于“所有合并都不如选择”。

评分

  • 新颖性: 3/5,视觉显著性、文本相关性和多样性组合实用,但主要是选择机制与接口位置的整合。
  • 实验充分度: 3/5,多预算主表、消融和硬件效率齐全,附录缺失、协议细节和误差范围限制了证据强度。
  • 写作质量: 3/5,整体思路清晰,但门控术语、基准数量及公式抽取问题妨碍精确复现。
  • 价值: 4/5,适合关注现有 VLM 推理成本的研究与工程人员,值得复现其同预算精度和真实延迟收益。