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 推理成本的研究与工程人员,值得复现其同预算精度和真实延迟收益。