跳转至

G2TR: Generation-Guided Visual Token Reduction for Separate-Encoder Unified Multimodal Models

会议: NeurIPS2026
arXiv: 2605.12309
代码: https://github.com/lijunxian111/G2TR
领域: VLM 效率(vlm_efficiency)
关键词: 统一多模态模型、视觉词元压缩、生成引导、VAE 潜在锚点、免训练

一句话总结

G2TR 在分离编码器统一多模态模型的 LLM 预填充之前,利用 VAE 潜在锚点选择并合并理解侧视觉词元;保留 50% 词元时,BAGEL 的理解相对平均分为 99.0%、编辑为 98.0%,预填充 FLOPs 降低约 1.94 倍,但并非所有任务都无损。

研究背景与动机

统一多模态模型(UMM)既回答图像问题,也根据指令编辑图像。分离编码器架构为这两种需求设置不同的入口:ViT 理解编码器提取语义特征,VAE 生成编码器提取用于重建与生成的潜在表示。分开编码缓解了“抽象语义”和“低层外观细节”对表示的不同要求,却没有消除后续 Transformer 处理大量视觉词元的成本。BAGEL 和 InternVL-U 正是本文研究的这类模型,而不是所有统一多模态架构的代表。

已有视觉词元压缩大多针对以文本回答为终点的视觉语言模型。FastV 根据 LLM 内部注意力删词元,VSCAN 结合视觉注意力和图文相似度,IVC-Prune 引入 RoPE 与图文信号。问题在于,理解侧词元不仅服务问答,也会形成图像编辑的条件:对回答不显著的颜色、纹理或背景布局,仍可能决定编辑结果是否保持原图细节。本文观察到,固定预算下不同文本中心规则在部分理解基准上的差距有限,而编辑中会出现局部细节破坏。这个观察支持换一种指导信号,但不能推广为“所有理解任务对剪枝规则都不敏感”。

生成分支恰好已经拥有经过图像重建与生成目标训练的表示,因此不必另训重要性预测器。本文把同一张输入图像的 VAE 编码作为局部参照,寻找与其一致的 ViT 特征,同时保留空间分布并回收未选中特征。核心 idea:用生成侧潜在表示约束理解侧的视觉词元压缩,使压缩后的语义条件仍尽可能携带编辑所需的视觉细节,而不是只保留最利于文本预测的词元。

方法详解

整体框架

输入是一张源图像及文本指令,输出是可送入原 UMM 的缩短理解侧序列。原 ViT 与 VAE 编码器都保持不变:完整 ViT 特征进入“潜在锚点评分”,VAE 特征作为引导;随后经过“均衡预算选择”“相似词元合并”和“序列布局重建”,才进入 LLM 预填充。

这里的“生成引导”不意味着先生成一幅图像再筛词元,只需要编码输入图像得到 VAE 表示。压缩对象始终是理解侧 ViT 词元,VAE 生成潜变量本身不被剪枝。编辑任务继续使用原来的生成路径;纯文本到图像没有源图像理解词元,因而不是本文压缩直接作用的任务。

下图全部是推理数据流,没有新增训练监督或优化回路。对于理解任务,VAE 编码提供评分信号;对于编辑任务,它还属于模型原有的源图像处理路径。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    I["源图像与指令"] --> V["原 ViT 编码<br/>完整理解词元"]
    I --> Z["原 VAE 编码<br/>生成侧特征"]
    V --> A["潜在锚点评分"]
    Z --> A
    A --> B["均衡预算选择"]
    B --> C["相似词元合并"]
    C --> D["序列布局重建"]
    I -->|保留文本与图像边界| D
    D --> O["原 LLM 预填充<br/>问答或编辑条件"]

关键设计

1. 潜在锚点评分:让重要性反映局部生成表示的一致性

ViT 词元和 VAE 潜变量的原始维度、空间粒度不同,不能直接把原始向量拿来比较。模型已有的两路投影将它们送入共同隐藏维度;论文第 4.2 节随后仍用理解词元和潜变量符号指代对齐后的特征。这依赖预训练模型已有的表示与投影,不是 G2TR 新增的对齐训练。

将两路特征恢复为二维网格后,每四个相邻 VAE 潜变量做类似均值池化的处理,得到一个潜在锚点。设 ViT 网格为 \(H_u\times W_u\),池化后的锚点网格为 \(H_g\times W_g\),则位于 \((p_i,q_i)\) 的 ViT 词元按比例映射到锚点,再以余弦相似度评分:

\[ c(i)=\left(\left\lfloor\frac{p_iH_g}{H_u}\right\rfloor,\left\lfloor\frac{q_iW_g}{W_u}\right\rfloor\right),\qquad s_i=\frac{\mathbf{u}_i^\top\mathbf{z}_{c(i)}}{\|\mathbf{u}_i\|_2\|\mathbf{z}_{c(i)}\|_2}. \]

这里的网格尺寸以池化之后为准,向下取整的是空间映射,不是词元预算。比较对象是对应位置的局部锚点,不是与所有 VAE 词元匹配,也不是整幅图像的一条全局向量。这使每个分数都与局部结构有关,能把背景、物体边缘等对编辑有价值但文本显著性较低的因素纳入选择。

相似度高只是“与生成表示较一致”的代理信号。附录 D 明确说明它不是互信息的精确估计,也不等于有重建误差保证的最优重要性;空间对应关系的打乱消融用于验证该代理确实依赖位置,而不只是借用任意一组 VAE 向量。

2. 均衡预算选择:先找区域代表,再按真实预算截取或补齐

单纯全局 top-K 可能把大量词元集中在少数高分区域。G2TR 先在每个非空锚点所对应的 ViT 词元中选择最高分者,得到候选集,然后从候选集按分数取不超过预算的代表。预算由保留率乘原理解词元数后四舍五入得到,再受最小词元数和原词元总数约束;默认保留率为 0.5,最小词元数为 1。

必须区分两种情况。如果预算小于候选集大小,只保留其中分数最高的 K 个候选,并不保证每个锚点都被覆盖。如果预算大于候选集大小,则先保留全部区域代表,再从尚未选择的所有 ViT 词元中按分数补足差额,且只补齐一次。它不是逐轮给每个区域分配相同数量,也不强制保留低分锚点来满足全图覆盖。

这个设计让“先考虑各区域的最好代表”成为偏好,而不是绝对约束。它既避免直接全局排序完全忽略区域分布,又允许在非常紧的预算下放弃部分区域。理解这一步也就能看清其局限:降低保留率时,空间覆盖仍可能不足,并不存在无条件保持所有局部细节的机制。

3. 相似词元合并:缩短序列但不直接丢掉其余特征

完成选择后,未选中词元不再独占序列位置,但其信息可以进入保留代表。每个未选中词元按余弦相似度,在保留集合中寻找最接近的一个;这次匹配发生在理解特征空间,并不要求与代表属于同一锚点,也不是按二维坐标找最近邻。

令 \(\mathcal{S}\) 为保留集合,\(\mathcal{A}_j\) 为余弦最近邻是保留词元 \(j\) 的所有未选中词元,则原文的合并机制可写为:

\[ \tilde{\mathbf{u}}_j= \frac{\lambda\mathbf{u}_j+\sum_{i\in\mathcal{A}_j}\mathbf{u}_i} {\lambda+|\mathcal{A}_j|},\qquad j\in\mathcal{S},\quad\lambda=1.0. \]

这是带原代表权重的平均,不是按相似度大小给每个被合并词元加权。没有分配到其他词元的代表保持原值;分配到多个词元时,它承载的是一组相近特征的平均表示。因此序列长度保持为预算 K,不会为了回收信息重新添加位置。

平均合并减轻了直接删除的特征损失,却也可能淡化细粒度差异。论文的组件分析恰好指出,合并单独使用时对不同基准的作用不一致,与均衡选择结合后才取得最强的总体结果;不能把合并理解为任何预算下都必然提升准确率的操作。

4. 序列布局重建:让短视觉序列仍符合原模型接口

压缩后的特征不能直接填入仍按原词元数建立的 <IMG_CONTEXT> 跨度。G2TR 按保留词元的原索引顺序组成短序列,而不是按重要性分数重排;随后替换理解侧视觉跨度,保留文本、图像开始与结束标记,重建输入 ids、注意力掩码与位置 ids,并在批内重新填充。

保留原索引顺序与重建位置 ids 是不同层面的操作:前者维持视觉内容的序列顺序,后者确保文本、视觉跨度、掩码和位置布局匹配新的总长度。论文没有要求复制全部旧位置 ids,也没有改写 UMM 的注意力算子。

所有这些动作都在原 ViT 编码之后、LLM 预填充之前发生。LLM 只看到一条较短但合法的输入,不必在内部层输出注意力图供剪枝使用;原 Flash-Attention kernel 不变,KV cache 也不需要因层内动态剪枝而额外重排。这正是它比某些依赖重建显式注意力分数的实现更容易部署的原因,而不是声称其他方法绝对不能支持 Flash-Attention。

一个完整示例

以下数字只说明算法分支,不是论文的实验样本。假设一张图像有 12 个理解词元,池化后的 4 个非空锚点各对应 3 个词元,预算为 6。先从每个锚点取最高分者,得到 4 个代表,再从剩余 8 个词元中一次性选出最高分的 2 个,形成 6 个保留词元。

其余 6 个词元分别寻找余弦最相似的保留代表并参与平均。最终只有 6 个理解词元进入重建后的视觉跨度,文本指令和图像边界不删除,VAE 生成潜变量仍走原路径。如果把预算改成 2,算法是在那 4 个区域代表中取最高分的 2 个,而不是以 2 个词元覆盖全部 4 个锚点。

损失函数 / 训练策略

G2TR 没有新增损失、反向传播或微调;VAE 已经学到的生成表示提供推理时信号。默认 \(\rho=0.5\)、\(K_{\min}=1\)、\(\lambda=1.0\),各基线遵循原仓库的默认参数和剪枝层。附录 C 固定随机种子为 42;非 thinking 理解任务最大响应长度为 20,BAGEL thinking 模式为 2048。

附录 D 将保持生成相关互信息写成理想目标,实际只采用相似度代理与合并。在解码器局部 Lipschitz 的假设下,附录讨论输出扰动受词元重建误差控制;这不是已在真实模型上测得的无损界,更不能替代编辑基准中的实测下降。

实验关键数据

主实验

实验使用 BAGEL-7B-MoT(7B 活跃参数、14B 总参数)和 InternVL-U(4B),在单张 A6000 48G GPU 上各评测一次。理解覆盖 MME、MMBench dev、MMVP、RealWorldQA;编辑覆盖 GEdit-Bench 英文查询、IntelligentBench,thinking 模式还评测 RISE-Bench。下表摘录原文表 2,未纳入的基线并非没有评测。

“相对平均分”是各基准分数除以同一模型 Vanilla 分数后的算术平均,以百分比表示;不同原始量纲不能直接求平均。它也不是“全部样本准确率保留比例”。

模型 方法 平均视觉词元 MME MMBench dev MMVP RWQA 相对平均分
InternVL-U Vanilla 100% 2057 80.5 46.0 48.8 100%
InternVL-U IVC-Prune 50% 2020 78.4 39.0 46.0 93.7%
InternVL-U G2TR 50% 2034 78.8 40.0 46.8 94.9%
BAGEL-7B Vanilla 100% 2388 88.5 69.3 60.2 100%
BAGEL-7B IVC-Prune 50% 2332 88.4 70.0 57.8 98.6%
BAGEL-7B G2TR 50% 2318 88.5 70.0 59.0 99.0%

BAGEL 的 MMBench 与 Vanilla 持平,MMVP 从 69.3 升至 70.0,但 MME 从 2388 降至 2318,RWQA 从 60.2 降至 59.0。InternVL-U 的四项原始分数全部低于 Vanilla。因此原文“does not sacrifice understanding ability”的概括应读作保持较强能力,而非没有精度损失。

编辑结果见原文表 4:BAGEL Vanilla 的 GEdit 三项 G_SC/G_PQ/G_O 为 7.36/6.83/6.52,G2TR 为 7.18/6.67/6.42;IntelligentBench 为 44.9 对 44.0。G2TR 的编辑相对平均分为 98.0%,优于其他压缩方法,但这些原始指标都下降了。本文保留原表指标名,不把未在缓存中解释的缩写扩展成猜测的评测定义。

thinking 结果见表 5:Vanilla 的 MMVP/RWQA/RISE/IntelligentBench 为 64.7/63.4/11.9/55.3,G2TR 为 66.0/63.4/9.8/54.3,相对平均分为 95.6%。其中 RISE 的下降表明,复杂编辑仍可能对压缩更敏感;它不是非 thinking 编辑 98.0% 的同一评测组合。

下表摘录原文表 3 的原始效率量;所有行均为 BAGEL-7B。FLOPs 比率是计算量指标,不是计时加速比。

方法 KV cache(MB) 平均视觉词元 FLOPs 比率 预填充 FLOPs(T) 解码延迟(ms/token)
Vanilla 42.02 100% 100.00% 4.1325 49.60
FastV 22.04 54% 55.10% 2.2769 48.04
IVC-Prune 22.06 50% 74.09% 3.0619 49.30
G2TR 22.06 50% 51.64% 2.1341 47.88

G2TR 的 KV cache 从 42.02 降至 22.06 MB,对应原表约 1.90 倍减少;预填充计算量从 4.1325 降至 2.1341 T,对应约 1.94 倍减少。解码延迟只有 49.60 到 47.88 ms/token 的变化,原表报告约 1.04 倍,不能把 1.94 倍当成端到端或预填充实测延迟加速。

原表 3 的部分基线倍数标注并不一致,例如 IVC-Prune 的 FLOPs 比率列标 1.37 倍,预填充 FLOPs 列标 1.35 倍。上表保留原始量,不擅自统一作者的倍数,也不据这些标注作更强速度结论。

消融实验

下表对应原文表 7,各指导信号都在 ViT 编码之后比较,用来减少“剪枝位置不同”对指导源比较的干扰。

指导源 MMVP RWQA IntelligentBench
随机 65.3 48.2 40.6
基于注意力 68.7 55.8 42.6
文本相似度 68.0 55.2 41.7
VAE 潜变量(G2TR) 70.0 59.0 44.0

VAE 指导优于随机指导 4.7、10.8、3.4 分,分别对应三列。这支持生成侧表示不是无关的额外信号,但不能单凭这一张表推导各组件独立贡献。

原文表 6 进一步降低预算:G2TR 在 50%、37.5%、25% 保留率下,MMVP 分别为 70.0、63.3、60.0,IntelligentBench 为 44.0、42.5、42.0。25% 时 FastV/IVC-Prune 的 MMVP 为 54.7/56.0,IntelligentBench 为 40.3/41.0;G2TR 相对优势仍在,但绝对分数随预算收紧下降。

图 5 还分析了高低分删除、空间映射扰动、均衡选择和合并。缓存只有图注与文字结论,没有可可靠读取的完整组件柱图数值,因此不编造“去掉某组件下降多少”的表格。

关键发现

  • VAE 引导在同一编码后位置比较时,理解与编辑三项指标均优于注意力、文本相似度和随机指导;重要性信号是主要证据链之一。
  • 打乱或平移词元到锚点的对应关系会退化,支持局部空间一致性有效;它并不证明余弦评分等价于信息量。
  • 预填充前压缩能减少整个后续输入处理的计算,比只看最终保留率更能解释效率差异;相同 50% 预算下 IVC-Prune 与 G2TR 的预填充 FLOPs 并不相同。

亮点与洞察

  • 生成分支从“输出图像的组件”变成“判断理解特征是否应保留的参照”。复用已有表示比另训评分器更轻量,也把优化目标从单一文本回答扩展到编辑条件质量。
  • 区域代表选择与特征合并分别处理空间集中和信息删除。两者并非重复设计,后者甚至不按空间分区,因此组合时既有覆盖偏好也有跨区域冗余回收。
  • 部署友好来自压缩发生的位置。先完成短序列布局重建再调用原 LLM,比在层内索取注意力图或动态重排 cache 更容易保留既有推理实现。

局限与展望

  • 适用范围依赖分离编码器及可比较的两路隐藏特征;统一编码器、视频输入和更原生的跨路径交互没有在本文中验证。理解任务额外调用 VAE 的成本也应在具体部署中计入。
  • 固定预算不区分简单问答与复杂编辑;预算小于锚点数时没有全图覆盖保证。后续可研究按任务难度或局部细节分配预算,但这是展望而非已实现模块。
  • 单 GPU、固定种子、单次评测,没有误差条或显著性检验。尤其 MMVP 的小幅提升和解码延迟变化不能直接视为稳定统计优势。
  • 附录 D 的条件扰动论证依赖局部 Lipschitz 假设与扩展后的重建表示,没有给出真实解码器常数或对短序列编辑无损的实证保证。
  • 缓存附录 C.3 的 BAGEL 编辑超参数句子未完成;第 5.2 节把编辑量化结果指向表 5,但相应非 thinking 数据实际在表 4。笔记按表格内容区分,不补猜缺失参数。
  • 摘要提供代码链接,而 checklist 第 5 项仍写“录用后公开”;这里只保留论文给出的链接,未联网核实当前发布状态。

相关工作与启发

  • vs FastV / W-FastV / PDrop:这些方法主要依据内部注意力或其变体选择理解词元;G2TR 用局部 VAE 一致性,在 LLM 前完成压缩。区别既在指导目标,也在工程插入点,不能把全部效率差异都归因于评分质量。
  • vs VSCAN / IVC-Prune:它们分别利用视觉与图文信号、RoPE 与图文信号;G2TR 把生成侧信息纳入选择。表 2 中 IVC-Prune 已与 G2TR 在 BAGEL MMVP 上同为 70.0,因此优势应看多任务组合而非单项全面胜出。
  • vs UniMoD 等结构稀疏化方法:结构方法调整网络深度或宽度,G2TR 保留原网络而缩短输入。两者可能互补,但叠加后的质量、计算与实现成本尚需另行验证。

评分

  • 新颖性: 4/5 — 把生成侧局部表示用作理解侧压缩依据,问题设置比单一问答剪枝更贴近 UMM。
  • 实验充分度: 3/5 — 两个模型、多类任务与指导源消融较完整,但编辑量化集中于 BAGEL,缺乏重复试验和端到端计时。
  • 写作质量: 3/5 — 主流程明确,仍有表号错引、局部超参数缺句及部分倍数标注不一致。
  • 价值: 4/5 — 无需训练且保持原注意力接口,适合作为分离编码器 UMM 的轻量效率基线,需接受任务相关精度下降。