AnchorPrune: Relevance-Anchored Contextual Expansion for Visual Token Pruning¶
会议: ECCV2026
Paper: https://eccv.ecva.net/virtual/2026/poster/4172
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/4783.pdf
代码: https://github.com/MULTI-cau/AnchorPrune
领域: 视觉语言模型效率
关键词: 视觉 token 剪枝、相关性锚点、自适应预算、上下文扩展、免训练推理
一句话总结¶
AnchorPrune 将视觉 token 选择拆成“保护查询相关证据”和“补充重要且不重复的上下文”两个有先后顺序的阶段,无需训练,在 LLaVA-NeXT-7B 上仅保留 160/2880 个 token,仍达到完整模型 97.6% 的平均相对性能。
研究背景与动机¶
高分辨率、多裁剪和视频输入会向语言模型送入大量视觉 token,使预填充阶段的注意力计算和显存开销明显增加。剪枝看起来只是从中挑选少量 token,实际困难却在于:回答某个问题所需的证据,并不一定是全图最显著、最独特或最容易被全局表示关注的部分。一个小物体、几段连续文字或局部空间关系,都可能在视觉上不起眼,却决定答案是否正确。
已有方法分别利用显著性、查询相关性或特征多样性。只按相关性选取,会把预算集中在彼此相似的局部区域;只追求多样性,又可能拆散必须一起保留的文字与局部细节。CDPruner 一类方法把相关性与多样性放入统一目标,但这种联合竞争仍可能让不可替代的证据被更“新颖”的候选挤掉。与此同时,当查询信号不够可靠时,继续用同一种相关性信号挑选剩余 token,也很难补回遗漏的上下文。
本文关注的不是增加一个更复杂的打分器,而是改变选择顺序:直接支撑回答的证据不应与可替代的背景信息享有相同的淘汰规则。核心 idea:先构造不可被后续选择替换的相关性锚点,再用全局重要性加权的新颖度补齐上下文,把“必须保护什么”和“还缺什么”分开处理。
方法详解¶
整体框架¶
输入是图像或视频产生的视觉 token、文本指令以及总保留预算 \(K\),输出是恢复原始视觉顺序的 \(K\) 个 token。方法先进行架构适配优先级计算,再用相关性排序序列的新颖度决定自适应锚点预算,最后执行重要性加权上下文扩展;语言模型的权重与主体结构均不改变。
这里的“锚点”不是新生成的摘要向量,而是原始视觉 token 的一个受保护子集。上下文阶段只向保留集合添加 token,不删除或替换锚点,因此局部证据即使彼此相似,也不会在第二阶段因多样性竞争而被剔除。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
input["视觉 token + 指令<br/>总预算 K"] --> priority["架构适配优先级"]
priority --> anchor["自适应锚点预算"]
anchor --> context["重要性加权<br/>上下文扩展"]
input -->|编码器注意力| context
context --> output["恢复视觉顺序<br/>送入原语言模型"]
关键设计¶
1. 架构适配优先级:先找到值得保护的查询证据
方法并不假设所有 VLM 都能在同一个特征空间计算图文相似度。对具有配套 CLIP 图像与文本编码器的模型,打分发生在多模态投影器之前:视觉 patch 先映射到可比较的视觉嵌入空间并归一化,指令由配套文本编码器编码;超过文本编码器长度的指令分段处理,再平均各段的 patch-text 相似度。一个容易误读的细节是,作者取的是这个平均相似度的负值,并按分数从高到低排序,而不是简单保留正相似度最高的 patch。
原文解释,局部 CLIP 相似度有时会对背景产生更强响应,反转相似度图可能改善定位。因此该分数只是用于锚点选择的启发式优先级,不是校准过的语义相关性概率。正负方向比较被放在补充材料中,本地缓存未包含该比较,不能由主文进一步断言反转在所有输入上都更好。
对没有配套投影前图文空间的非 CLIP 模型,方法改在多模态投影器之后工作。每个投影后的视觉 token 与指令的各个语言模型 token 嵌入分别做归一化相似度比较,取其中最大值作为优先级。这样,一个视觉区域只要强匹配指令中的某个语义成分,就不会被整句平均嵌入稀释;这与 CLIP 分支的“分段平均再取负”是两套明确不同的规则。
得到排序后,锚点由排序前缀组成,而不是在前缀里再次执行多样性去重。这个选择很重要:几个相似 patch 可能共同组成完整人名或同一物体的关键属性;如果在保护阶段就要求它们彼此不同,方法又会回到原来的证据碎片化问题。
2. 自适应锚点预算:沿相关性排序观察新颖事件
锚点长度不采用固定比例。作者先保留排名最高的 \(K_{\min}\) 个 token 作为初始锚点,并把最大锚点长度 \(K_{\max}\) 设为 \(K/2\) 向下取整,保证至少一半总预算可以用于上下文。随后依次检查相关性排序中从初始锚点之后到上限之间的候选,观察其相对初始锚点是否足够新颖。
这里有两个必须分清的细节。第一,预算判定时每个候选都与固定的初始锚点比较,不是与不断扩大的排序前缀比较。第二,耐心参数 \(P\) 指累计达到新颖度阈值 \(\tau\) 的候选数量;当累计出现第 \(P\) 个新颖事件时,就把该候选的排序位置作为最终锚点长度。如果到上限仍不足 \(P\) 个事件,则保守地使用最大锚点长度。它不是“连续出现 \(P\) 个重复 token 就停止”的常见早停规则。
最终保留的是到停止位置为止的整个排序前缀,不是仅保留触发新颖事件的 token。因而新颖度在这里控制的是给相关证据多少预算,而不是直接决定哪些高相关 token 应被淘汰。这个区别解释了为何方法能同时利用新颖度信息和保护彼此相关的局部证据。
缓存中的式 (3)、(14)、(22) 存在数学抽取缺损,无法无歧义恢复新颖度的完整距离表达式。本笔记仅保留原文明确的语义:以视觉特征比较候选与已选证据,衡量它还提供多少未被覆盖的信息;不补写缺失的运算符,也不把普通余弦相似度冒充原文的新颖度。复现前需核对原始公式;主文也未给出 \(K_{\min}\)、\(\tau\)、\(P\) 的具体取值。
3. 重要性加权上下文扩展:补充有用的新信息,而非只追求差异
第二阶段首先计算独立于查询锚点优先级的全局重要性先验。若视觉编码器有专门的 CLS token,就取 CLS 对各视觉 token 的注意力,并在注意力头之间平均。若没有 CLS,则统计一个 token 从所有查询位置收到的注意力质量,并对头和位置平均;如果编码器随后把多个 token 合并成一个候选,还要对对应合并前 token 的先验求平均,使重要性与实际候选单位对齐。
保留集合从完整的受保护锚点初始化。每一步都选择“全局重要性先验乘以相对当前保留集合的新颖度”最大的剩余候选,然后加入集合,直到凑满 \(K\) 个 token。与预算判定不同,此时参照集合会更新,包含锚点和此前已添加的上下文。因此,一个候选在开始时有价值,也可能在相似证据已被加入后变得冗余。
乘法的意义是同时要求“有用”和“未覆盖”:视觉上很特别但几乎没有全局重要性的区域,不会仅凭差异性轻易占用预算;全局显著但已经被锚点覆盖的区域,也不应被重复选择。这里使用的是全局重要性先验,不是再次把第一阶段的查询优先级乘进目标,这正是受控消融所考察的区别。
最后把选出的 token 按原始视觉位置顺序还原,再交给未修改的语言模型。整个过程选择原 token 而非训练新压缩表示;免训练并不等于零成本,优先级计算、编码器注意力获取和逐步更新候选新颖度仍会产生选择开销。
一个完整示例¶
论文图 2 用“左边跑步者的名字是什么?”说明流程,LLaVA-1.5-7B 从 576 个视觉 token 中保留 64 个,图示回答为 “Willis”。先按指令相关优先级建立锚点,再补充能支持人物定位和文字理解的上下文;不能因为姓名周围 patch 相似,就在第二阶段把它们从锚点里换掉。
在这个预算下,锚点上限由规则确定为 32,至少留出 32 个上下文位置。不过图示没有报告该样本实际的锚点长度、阈值或每次选出的 patch,因此不能把这个上限当成样本真实的阶段划分。示例展示的是先保护再补充的机制,而不是一条可完整复现的选择日志。
损失函数 / 训练策略¶
方法没有新增训练损失,也不重新训练视觉编码器、投影器或语言模型。实验对齐模型 checkpoint、输入处理、解码设置、评测协议及保留预算,并在支持时使用 lmms-eval;架构实现、超参数和硬件细节另见补充材料,不在当前缓存中。
实验关键数据¶
主实验¶
原文的 Rel. 是先把每项基准分数除以同一骨干的完整 token 分数,再对该表所列指标取平均并转成百分比。它不是原始准确率,也不是不同骨干之间可直接横比的统一分数。下表摘取原文表 1 至表 4 中各骨干最小预算的结果;“最强对照”指该设置下 Rel. 最高的对照。
| 骨干 | 保留 / 原始 token | AnchorPrune Rel. | 最强对照 | 对照 Rel. | 差值 |
|---|---|---|---|---|---|
| LLaVA-1.5-7B | 32 / 576 | 93.9% | CDPruner | 92.6% | +1.3 个百分点 |
| LLaVA-NeXT-7B | 160 / 2880 | 97.6% | CDPruner | 92.9% | +4.7 个百分点 |
| Qwen2.5-VL-7B | 64 / 1296 | 80.8% | DivPrune | 80.0% | +0.8 个百分点 |
| LLaVA-Video-7B | 512 / 2704 | 94.1% | DivPrune | 93.4% | +0.7 个百分点 |
LLaVA 两个图像骨干使用 VQAv2、TextVQA、GQA、ScienceQA-IMG、MME、POPE、MMBench-EN/CN 和 MM-Vet。Qwen 的表使用 MME、TextVQA、DocVQA、AI2D、MMMU 和 MMBench-EN/CN;视频实验固定 16 帧,指标来自 Video-MME 的有字幕与无字幕设置、EgoSchema 500-subset 和 TempCompass。
消融实验¶
下表摘录原文表 5,所有变体共享同一个第一阶段锚点,只改变第二阶段选择规则。这里 Rel. 仅汇总 MME、ChartQA、DocVQA、TextVQA、MMBench-CN,不能与主实验表中的 Rel. 混用。
| 预算 | 第二阶段规则 | MME | ChartQA | DocVQA | TextVQA | MMBench-CN | Rel. |
|---|---|---|---|---|---|---|---|
| 64 | 仅多样性 | 1391.0 | 15.1 | 15.5 | 54.5 | 48.0 | 85.4% |
| 64 | 相关性与多样性相加 | 1380.9 | 15.9 | 16.4 | 54.8 | 48.5 | 87.3% |
| 64 | 相关性与多样性相乘 | 1379.9 | 15.9 | 16.6 | 54.5 | 48.2 | 87.2% |
| 64 | 重要性加权上下文扩展 | 1420.2 | 16.7 | 17.1 | 56.1 | 52.0 | 91.0% |
| 32 | 仅多样性 | 1317.9 | 14.6 | 12.8 | 52.6 | 44.2 | 79.4% |
| 32 | 相关性与多样性相加 | 1344.5 | 14.2 | 14.2 | 52.7 | 45.2 | 81.0% |
| 32 | 相关性与多样性相乘 | 1329.4 | 14.4 | 14.4 | 52.7 | 45.0 | 81.1% |
| 32 | 重要性加权上下文扩展 | 1394.7 | 15.1 | 14.5 | 54.2 | 49.9 | 85.1% |
关键发现¶
- 在相同锚点下,重要性加权上下文扩展相对最强替代规则的优势为 64-token 下 +3.7 个百分点、32-token 下 +4.0 个百分点。这支持第二阶段“重要性先验”不能被“再次使用查询相关性”简单替代,但不能单靠这张表量化自适应锚点本身的收益。
- 平均性能最好不等于逐项最好。例如 Qwen 的 64-token 设置下,AnchorPrune 的 DocVQA 为 31.3,低于 DivPrune 的 31.6;两者都远低于完整模型的 94.3,文档细节依然是严重压缩的薄弱点。
- 效率分析包含选择开销。LLaVA-1.5-7B、32-token 下,AnchorPrune 的 Efficiency Score 为 5.24,VisionZip 为 5.28,DivPrune 为 5.41,CDPruner 为 4.68。该指标是预填充加速比乘以完整模型显存与剪枝模型显存的比值,5.24 不能表述为实测延迟加速 5.24 倍。
亮点与洞察¶
- 先后顺序本身就是归纳偏置。 不让上下文阶段覆盖锚点,相当于把不可替代证据从后续竞争中隔离出来。相比只改相关性与多样性的权重,这种约束更直接地表达了视觉问答中的证据不对称性。
- 同一种新颖度承担两种不同任务。 第一阶段相对固定初始锚点决定预算,第二阶段相对动态保留集合挑选候选。把两处参照集合区分清楚,才能理解它为什么既保护局部一致性,又避免上下文重复。
- 全局重要性提供不同于查询匹配的补偿信号。 查询优先级不完整时,编码器关注的全局信息仍可能补上支持回答的背景。可迁移的思路是保留多个功能不同的信号,而不是把所有选择阶段都绑定到同一相关性估计器。
局限与展望¶
- 可复现信息不完整。 主文把阈值、最小锚点、耐心参数、硬件和详细延迟移到补充材料;当前缓存又损坏了新颖度公式。本笔记不能据此给出无歧义的逐行实现,需先核对原始公式与补充设置。
- 保护的是启发式排序,不是真实证据标签。 错误的 CLIP 反向相似度或投影后匹配可能把无关 token 锁进锚点,且锚点最多只能使用一半预算。这是阅读者基于机制提出的风险,不是主文已量化的失败率。
- 消融覆盖有边界。 主文的受控消融验证第二阶段规则,但未在同一表中隔离“有无保护”“固定或自适应预算”“相似度方向”的各自贡献;没有报告多次运行方差或置信区间。
- 跨架构有效不等于跨任务无损。 Qwen 的文档问答明显退化,视频结论来自固定 16 帧。后续可针对密集文本引入结构化证据保护,并检验更长视频与端到端部署开销;这些是研究建议,不是本文已经实现的模块。
相关工作与启发¶
- 相对 VisionZip: 仅利用查询无关显著性可能保留全图重要、却不能回答当前问题的部分。AnchorPrune 先保护查询条件化证据,再把全局重要性用于补充上下文;代价是需要额外的查询相关打分。
- 相对 DivPrune: 多样性保证覆盖,却不保证被覆盖的区域有用。AnchorPrune 在受保护锚点之外用重要性调节新颖度,避免为了拉开特征距离而选入弱信息区域。
- 相对 CDPruner: 统一的相关性与多样性目标让两种标准直接竞争;AnchorPrune 通过顺序选择与锚点不可替换约束改变竞争关系。主实验支持整体策略,但保护顺序与自适应预算仍值得更细的正交消融。
评分¶
以下为笔记作者的主观评分,不是会议评审分数。
- 新颖性: 4/5。贡献主要在证据保护顺序与上下文目标的组合,单个基础信号并不新。
- 实验充分度: 4/5。覆盖四种图像或视频骨干与多预算,但主文对第一阶段的隔离验证不足。
- 写作质量: 4/5。核心动机和受控对照清楚;完整复现依赖补充材料,缓存公式另有抽取质量问题。
- 价值: 4/5。为免训练 VLM 加速提供可复用选择原则,但严重压缩的任务损失与实际系统收益仍需分别核验。