Perceptual Projection Pruning: Diversity-Aware Video Token Pruning for Multimodal Large Language Models¶
会议: ECCV2026
作者: Zhuangqiu Huang, Minxin Lai, Shuo Liu, Yu Zhang, Jiaqi Wang
论文: https://eccv.ecva.net/virtual/2026/poster/5817
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/13296.pdf
领域: 模型压缩
关键词: 视频 token 剪枝、感知显著性、时空聚类、分层采样、免训练推理
一句话总结¶
P3 将视频 token 的筛选依据压缩为运动、区域对比和局部复杂度三个分数,再按时间段聚类并分层保留原始 token,在 Qwen3-VL-8B 的 25% 保留率下取得 97.3% 的平均相对表现,并在指定密集视频设置中实现剪枝加预填充阶段 4.05 倍加速。
研究背景与动机¶
视频送入多模态大语言模型(MLLM)后,一帧通常对应许多视觉 token,长视频因此把预填充阶段的注意力计算和内存需求一起推高。免训练剪枝的吸引力在于不改模型参数,只减少语言模型真正接收的视觉序列。但剪枝器自身也要花时间:如果为了删除冗余而先在完整高维特征之间反复匹配,省下的语言模型计算可能被筛选成本抵消。本文报告的密集视频测试中,部分高维迭代方法确实比不剪枝还慢,这不是只看 token 数量就能发现的问题。
另一条路线是根据当前问题保留相关区域。它适合目标明确的单轮问答,但同一个视频换一个问题后,旧的筛选结果未必还能使用。完全不看问题又有另一种困难:运动幅度最大的区域、与背景对比最强的物体、细节最丰富的纹理,不一定是同一批 token。简单把它们排成单一重要性榜单,可能留下许多同类型证据,却丢掉另一类视觉信息。因此,本文并非追求最准确的通用语义相似度,而是寻找一个足够便宜、又能区分这些证据类型的筛选代理。
这里的降维只服务于“选谁”,不把语言模型输入替换成三个标量。被选中的仍是原始视觉表示,低维空间承担的是组织候选和分配保留名额的工作。核心 idea:以三类互补的感知显著性代替高维全局匹配,并在局部时空簇内按显著性类型分层选取,形成可跨问题复用的视频 token 子集。
方法详解¶
整体框架¶
P3 放在视觉投影器输出与语言模型输入之间。它先执行感知显著性投影,为每个 token 计算三个筛选分数;接着进行时间分段,使后续决策只比较相近时刻的内容;随后通过簇内分层剪枝同时考虑时空位置与显著性类型,最后用全局静态去重进一步删除后续帧的零位移 token。
整条流程不读取当前文本问题,也不更新视觉编码器、投影器或语言模型的参数。文本 token 按原模型路径处理,视觉侧只改变留下哪些原始 token。这里“多样性”主要指不同感知类型和局部时空区域的覆盖,并不是对所有语义概念的无损保存。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["视觉投影器输出"] --> B["感知显著性投影"]
B --> C["时间分段"]
C --> D["簇内分层剪枝"]
D --> E["全局静态去重"]
E --> F["原始 token 子集<br/>与文本送入语言模型"]
关键设计¶
1. 感知显著性投影:用不同证据类型代替昂贵的全局语义比较
动态显著性 \(S_M\) 从相邻帧的特征对应关系得到。对当前 token,在上一帧寻找特征最相似的位置,用空间偏移作为离散运动向量,再对局部时空邻域内的位移长度取平均。第一帧没有前驱,原文将其位移长度设为零。这不是额外训练的光流网络,也不是只比较同一位置的前后特征差;它试图捕捉内容在网格上的移动,并通过邻域平均抑制个别匹配的噪声。因此,运动与场景变化提供了静态图像中不存在的筛选线索,但匹配误差也会传到分数中。
区域显著性 \(S_R\) 衡量局部中心与更大、且不重叠的周围区域有多不同:分别计算两片区域的平均特征,再取二者的余弦距离。一个内部很平滑、却与背景明显不同的物体仍能得到较高区域分数,不会因为纹理少就被忽略。焦点显著性 \(S_F\) 则问“这个 token 能否被邻居解释”:按特征相似度对空间邻居加权重建,再用原特征与重建特征的余弦距离度量不可预测性。复杂纹理和细节因此有独立通道,而不必通过区域均值对比间接体现。这三个轴是设计上互补的线索,原文没有证明它们统计独立或严格正交。
区域与焦点分数还需要边界可信度修正。靠近图像边缘时,有效邻居少,估计容易不稳定;作者对有效邻居数量加一后取对数,再在视频内做最小—最大归一化,以此作为原始分数的权重,剩余权重分给全局中位数。焦点分数采用相同的插值思路。这样做不是把边界直接判为不重要,而是让邻域不足的极端分数向更保守的统计量收缩。缓存中的公式排版存在抽取损坏,因此这里按正文明确描述解释机制,不补写未提供的邻域尺寸或相似度权重细节。
2. 时间分段:先限制比较范围,再保护每段的起始状态
如果把整段视频一次性聚类,外观类似但发生在不同事件中的 token 可能挤进同一个簇,后面的抽样就会把“不同时刻的证据”当成可互换的冗余。默认方案按固定间隔切段,主实验使用步长为 4 的均匀分段;每个时间段内部再独立完成聚类与采样。它没有通过复杂的事件检测器决定每个边界,而是以低成本时间局部性约束来避免跨越过远的上下文。
每段的首帧被视为锚点帧,使用相同的聚类采样规则,但与该段其余帧分开处理。这个区别很关键:锚点并不是整帧无条件保留,而是避免它在候选竞争阶段被大量后续相似 token 淹没,为片段边界留下可解释的状态。论文另外测试了由动态显著性驱动的自适应分段,但主结果并不依赖这一变体;其完整定义被放在本地缓存未包含的补充材料中,不能把它当成默认流程的已知细节。
3. 簇内分层剪枝:先分局部实体,再为不同显著性分配名额
在每段对应的候选集合中,作者把三个感知分数与时间、垂直位置、水平位置拼接,形成用于 K-Means 的六维向量。三维是感知空间的维度,六维才是实际聚类输入,二者不能混淆。位置坐标提供局部连续性的先验,减少远距离 token 仅因显著性相近而混在一起的机会。聚类得到的是近似连贯的视觉区域,不是带语义标签的物体分割;它只需要为接下来的预算分配提供比全局排序更合理的分组。
每个簇的保留名额由目标保留率决定,但簇内不是直接取综合分数最高的一批 token。先比较每个 token 的三个显著性分数,把它分到得分最高的那一类,再按三类各自占簇的比例分配名额,在每类内部按对应分数取最高者。这样,一簇中少数高运动区域不至于仅因分数量级大就占尽名额;区域对比或局部复杂度主导的 token 仍有自己的候选池。以下是依据正文采样描述整理的定义,\(C_k\) 是簇,\(\mathcal{S}_{k,T}\) 是其中由类型 \(T\) 主导的子集,\(N_k\) 是簇预算:
各子集最后取 \(N_{k,T}\) 个 token 并求并集。这里的“保多样性”有明确边界:按比例分配不是每类至少保留一个,向下取整时很小的子集可能拿不到名额;正文也没有说明余数如何补齐。保留的是被选 token 的原始特征,不是它们的分数或簇中心,所以语言模型仍能读取这些位置原有的高维信息。论文也未在主文交代三个分数与坐标的尺度校准细节,不能据此假定未经处理的任意尺度都等价。
4. 全局静态去重:在局部筛选后继续移除时间冗余
各时间段的结果合并后,P3 再过滤时间不为零、且离散运动向量长度为零的 token。这个阶段用的是原始位移是否为零,而不是邻域平均后的动态显著性是否低于某个阈值;第一帧不受这一过滤条件影响。放在最后的作用是让前面先解决“哪些区域和证据类型值得覆盖”,再减少这些候选中跨帧不动的部分,避免单纯在每帧都保留同一静态背景。
但零位移只能说明最相似位置没有发生网格移动,不等于特征完全一致,也不能仅凭该条件证明场景切换处的首次出现一定被保留。原文对此使用了较强的静态重复解释,笔记保留其规则而不把解释升级为保证。实现复现还需核对:锚点在前面的独立采样阶段受保护,但全局过滤与后续锚点的关系、以及过滤后实际 token 数如何对齐目标预算,主文没有完全展开。
损失函数 / 训练策略¶
这是免训练推理方法,没有新增损失函数或微调阶段。作者使用 PyTorch 与 Triton,在 4 张 NVIDIA H100 80GB 上实验;主结果的默认分段步长为 4,并考察 50%、25%、10% 保留率。自适应分段及其阈值属于另一个诊断设置,不应混入默认配置;邻域大小等扩展参数需要补充材料才能完整复现。
实验关键数据¶
主实验¶
下表摘自表 1:Qwen3-VL-8B,VLMEvalKit 的四个视频基准;除 Vanilla 外均为 25% token 保留率。四项任务得分越高越好;“平均保留表现”是相对未剪枝模型的归一化汇总百分比,不是准确率本身。主文没有清楚给出跨数据集归一化汇总的精确公式,以下保留作者报告值。
| 方法 | VideoMME ↑ | LongVideoBench ↑ | MLVU ↑ | MVBench ↑ | 平均保留表现 (%) ↑ |
|---|---|---|---|---|---|
| Vanilla(100% 保留) | 67.8 | 62.5 | 68.6 | 69.3 | 100.0 |
| DivPrune | 64.8 | 60.4 | 64.8 | 64.8 | 95.1 |
| PruneVid† | 61.7 | 59.4 | 63.7 | 63.3 | 92.5 |
| CDPruner | 66.0 | 62.2 | 66.7 | 68.1 | 98.1 |
| PruMerge | 65.3 | 60.6 | 65.9 | 67.5 | 96.6 |
| P3 | 66.1 | 61.3 | 66.2 | 67.2 | 97.3 |
P3 的平均保留表现比 DivPrune 高 2.2 个百分点,比 CDPruner 低 0.8 个百分点;优势不是在所有单轮指标上超过问题引导方法。PruneVid† 仅保留视觉侧剪枝,不是完整 PruneVid;PruMerge 在 Qwen3-VL 上以最后视觉层平均注意力代替缺失的 CLS token,因此这些是论文适配后的比较协议。
效率表对应另一个明确设置:Qwen3-VL-8B,64 帧、每帧 1344×768,共 32,256 个原始视觉 token,保留率 25%。总时间只等于剪枝器耗时加语言模型预填充耗时,不包含完整视频编码和输出解码流程。
| 方法 | 剪枝器 (s) ↓ | 预填充 (s) ↓ | 合计 (s) ↓ | 相对 Vanilla 加速 ↑ |
|---|---|---|---|---|
| Vanilla | 不适用 | 2.23 | 2.23 | 1.00× |
| DivPrune | 3.43 | 0.46 | 3.89 | 0.57× |
| CDPruner | 0.12 | 0.45 | 0.57 | 3.91× |
| PruMerge | 1.88 | 0.45 | 2.33 | 0.96× |
| P3 | 0.10 | 0.45 | 0.55 | 4.05× |
消融实验¶
下面选取表 10 的组件消融:Qwen3-VL-8B、25% 保留率,使用的是自适应分段变体,而不是上方默认均匀分段结果。最后一列是四项原始任务得分均值的变化,不是“平均保留表现”的变化。
| 配置 | VideoMME ↑ | LongVideoBench ↑ | MLVU ↑ | MVBench ↑ | 平均得分变化 |
|---|---|---|---|---|---|
| 三种显著性齐全 | 64.8 | 61.0 | 64.5 | 66.9 | 0.00 |
| 不用焦点显著性 | 64.4 | 60.6 | 64.1 | 66.4 | -0.43 |
| 不用区域显著性 | 64.1 | 59.5 | 64.2 | 66.4 | -0.75 |
| 不用动态显著性 | 63.7 | 58.4 | 63.7 | 65.8 | -1.40 |
分段策略要看单独的表 9:均匀步长 4 的平均得分为 65.2,自适应为 64.3,均匀步长 2 和 8 分别为 64.2、64.6。这支持把均匀步长 4 作为常规主实验默认值,而不能从自适应版本的组件消融推导它在所有任务上更好。
关键发现¶
- 动态显著性的消融损失最大,但另两项也有独立贡献;这与用运动、区域对比、局部复杂度覆盖不同证据的解释一致。
- 表 1 中 Qwen3-VL-8B 在 10% 保留率仍有 92.8% 相对表现;25% 保留率下,InternVL3.5-8B 为 94.3%,表 2 的 Qwen3-VL-32B 为 97.5%,不能用一个“约 95%”概括所有模型的精确结果。
- 1024 帧测试中,P3 的相对表现为 104.3%;剪枝与预填充分别为 0.53 s、1.69 s,合计 2.22 s,对比未剪枝 19.57 s,约加速 8.8 倍。该结果来自 VLMEvalKit 与 vllm 设置,DivPrune 因显存不足缺席,不是被测后落败。
亮点与洞察¶
- 把“保留原始表示”与“降低筛选成本”分开。低维代理只决定索引,让语言模型仍消费原始高维 token,因此不能把该方法理解成用三个数替代整个视觉表示。
- 分层采样保护的是证据类型,不只是高分区域。它给查询无关的多样性一个可操作定义,同时也暴露了预算很小时小类别会被取整消失的边界。
- 查询无关意味着同一视频的剪枝结果可复用,而不是后续问答完全免费。MT-Video-Bench 上默认 P3 为 62.5、Vanilla 为 61.9,但新问题仍需正常语言模型计算。
局限与展望¶
- 作者承认三维代理是有损的:低显著性却与问题相关的语义细节可能消失。Charades STA 上 P3 为 44.8、CDPruner 为 47.9;主文表 8 未明确展开该定位分数的指标定义,不能擅自写成某个特定 IoU 下的召回率。
- 适用范围主要是视频;静态图像缺乏动态显著性。1024 帧或部分 LLaVA 配置超过未剪枝基线,说明冗余可能干扰模型,不代表剪枝在所有场景都提高能力。
- 本地全文包含完整主文与参考文献,但没有被引用的补充材料。精确邻域、尺度处理、余数分配及全局过滤后的预算核算仍待核对;缓存部分公式抽取损坏,不能把缺失细节写成已验证实现。
相关工作与启发¶
- vs CDPruner / FastV:这类问题相关筛选可利用文本线索定位需要的证据;P3 不读问题,牺牲部分定向检索能力来换取跨问题复用。两种目标不同,单轮准确率与多轮摊销成本应分别报告。
- vs DivPrune / PruMerge:高维匹配保留更丰富的特征关系,但本文密集长序列设置中的迭代开销较高。P3 的局部低维决策更便宜;不能据此断言这些基线在短序列或其原始实现设置下也慢。
- vs PruneVid†:本文采用视觉侧受限版本进行比较,避免混入语言模型修改。结论应限于这一适配配置,而非完整方法的所有能力。
评分¶
- 新颖性: 4/5 — 低维感知代理与簇内分层选择的组合清晰,但主要是启发式设计。
- 实验充分度: 4/5 — 覆盖多模型、长序列、效率与组件消融;协议适配和部分指标定义需谨慎解读。
- 写作质量: 3/5 — 主线易懂,但默认与变体设置、预算细节及部分公式仍需更明确说明。
- 价值: 4/5 — 对可复用长视频表示有实用意义,尤其重视剪枝器本身的真实耗时。