跳转至

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\) 是簇预算:

\[ \mathcal{S}_{k,T}=\{i\in C_k:T=\operatorname*{argmax}_{T'\in\{M,R,F\}}S_{T'}(i)\},\qquad N_{k,T}=\left\lfloor N_k\frac{|\mathcal{S}_{k,T}|}{|C_k|}\right\rfloor. \]

各子集最后取 \(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 — 对可复用长视频表示有实用意义,尤其重视剪枝器本身的真实耗时。