AdaSpark: Adaptive Sparsity for Efficient Long-Video Understanding¶
会议: CVPR 2026 Highlight
arXiv: 2604.08077
代码: 无
领域: 视频理解 / 高效推理
关键词: long video, adaptive sparsity, Video-LLM, efficient inference, 3D cube
一句话总结¶
提出 AdaSpark,通过 3D 时空 cube 分区和两个协同的自适应稀疏机制(cube 级注意力选择 + token 级 FFN 选择),将长视频处理 FLOPs 降低最多 57% 同时保持性能。
研究背景与动机¶
长视频可产生数十万甚至百万级 token 序列,标准 Video-LLM 的二次注意力复杂度和 FFN 激活成本使其不可行。现有效率方法存在两大缺陷:(1) 帧采样/token 剪枝等不可逆信息丢弃损害细粒度感知;(2) 局部注意力等刚性预定义模式限制长程时序建模。
预备分析发现两个关键现象:(1) 视频注意力具有高内在稀疏性,少量 token 集中了大部分注意力概率,且不同层所需 token 数差异显著;(2) FFN 层对视觉 token 表现出"计算惰性"——文本 token 经 FFN 后变换显著(高方差),而视觉 token 变化稳定。
方法详解¶
整体框架¶
AdaSpark 的出发点是两个预备观察:视频注意力天然高度稀疏(少量 token 吃掉大部分注意力概率,且不同层需要的 token 数差异很大),而 FFN 对视觉 token 又有「计算惰性」(文本 token 过 FFN 后变化剧烈、视觉 token 却很稳定)。于是它把视频 token 切成 3D 时空 cube(\(h\times w\times t\)),在 attention 层和 FFN 层各放一个基于熵的自适应稀疏机制,按输入复杂度动态决定算多少、跳多少。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["长视频(原生分辨率)"] --> B["3D 时空 Cube 分区<br/>切成 h×w×t 语义同质单元"]
B --> C["AdaS-Attn 自适应 Cube 选择注意力<br/>query 算与各前序 Cube 均值 key 的相关性"]
C -->|"Top-p 选相关 Cube + 始终保留本 Cube 全注意力"| D["AdaS-FFN 自适应 Token 选择 FFN<br/>按 L2 范数估 Token 重要性"]
D -->|"Top-p 选显著 Token 过 FFN,跳过的用均值补偿"| E["逐层堆叠<br/>文本 Token 始终密集过 FFN"]
E --> F["输出:FLOPs 降低最多 57%"]
G["基于熵的 Top-p 统一调度<br/>高熵多算 / 低熵多跳"] -.驱动.-> C
G -.驱动.-> D
关键设计¶
1. 3D 时空 Cube 分区:给稀疏选择立一个语义同质的原子单元
视频在 3D 时空里有强局部性——相邻 token 大概率相关。AdaSpark 先按 \(h\times w\times t\) 的窗口,把送进 LLM 的视频 token 切成一个个 cube,并要求每个 cube 内部尽量语义同质(高语义内聚)。这一步本身不省算力,却是后面两个稀疏机制的地基:cube 成为注意力选择和 FFN 选择的最小原子单位,cube 内 token 越同质,「选哪个 cube、选哪个 token」就越准、越稳。
2. 自适应 Cube 选择注意力(AdaS-Attn):让每个 query 只看该看的那几个 cube
帧采样或 token 剪枝是不可逆的信息丢弃,局部注意力等刚性模式又限制长程建模。AdaS-Attn 改成让每个 query token 先算它与所有前序 cube 的相关性(与 cube 均值 key \(\bar{k}_j\) 的相似度),再用 Top-p(nucleus)选出要注意的 cube 集合:
注意力分散(高熵)就多选几个 cube、注意力集中(低熵)就只挑少量,且始终保留对自身 cube 的全注意力——稀疏度因此随内容自适应,而非一刀切固定比例。
3. 自适应 Token 选择 FFN(AdaS-FFN):放过「惰性」视觉 token,但用均值补偿
既然 FFN 对多数视觉 token 几乎不改变其表示,全量过 FFN 就是浪费。AdaS-FFN 按 token 的 L2 范数估重要性,同样用 Top-p 选出真正过 FFN 的 token;被跳过的 token 不是原样不动,而是用活跃 token 的 FFN 变换均值补偿 \(y_k = x_k + \bar{m}_i\),其中 \(\bar{m}_i = \frac{1}{|\mathcal{M}_i|}\sum_{j \in \mathcal{M}_i} FFN(x_j)\),保住信息流。文本 token 则始终密集过 FFN,不动其指令和语义内容。
4. 基于熵的 Top-p 选择:两个模块共用的统一调度旋钮
AdaS-Attn 和 AdaS-FFN 都用同一套基于熵的 Top-p 选择来决定稀疏度——信息密度高时自动多分配计算、信息稀疏时大幅跳过。一个阈值 \(p\) 同时控制两个模块的计算预算,既统一又便于按算力预算调档。
损失函数 / 训练策略¶
在 Qwen2.5-VL 基础上应用稀疏策略,通过少量微调适配。稀疏阈值 \(p\) 统一控制两个模块的计算预算。
实验关键数据¶
主实验¶
| 基准 | AdaSpark | Dense Baseline | FLOPs 降低 |
|---|---|---|---|
| MLVU Dev | 可比性能 | baseline | 最高 57% |
| VideoMME | 可比性能 | baseline | 最高 57% |
| VideoNIAH (超长视频) | 可比性能 | baseline | 显著 |
关键发现¶
- FLOPs 降低 57% 的同时在多个基准上保持可比性能
- Top-p 选择比固定稀疏比例更好——不同层和不同输入需要不同稀疏度
- 均值补偿对保持被跳过 token 的信息流至关重要
- cube 分区的语义同质性是稀疏选择准确性的基础
- AdaS-FFN 中被跳过的 token 通过 \(y_k = x_k + \bar{m}_i\) 更新,\(\bar{m}_i = \frac{1}{|\mathcal{M}_i|}\sum_{j \in \mathcal{M}_i} FFN(x_j)\)
- 预备分析发现 FFN 对视觉 token 表现出"计算惰性":L2-norm 比值方差远低于文本 token
- 在 Qwen2.5-VL 基础上应用稀疏策略,通过少量微调适配
亮点与洞察¶
- Cube-Token 两级层次化稀疏设计系统全面
- 基于熵的自适应机制优雅避免了固定稀疏比例的次优性
- 预备分析中 FFN 对视觉 token "惰性"的发现为 token 选择 FFN 提供了坚实动机
- 均值补偿策略简单但有效
局限与展望¶
- Top-p 阈值仍需手动设定
- 稀疏模式的硬件实现效率取决于底层框架支持
- 对精细粒度时序推理(如精确时间定位)的影响需更多评估
- 视频 cube 分区使用固定窗口 \(h \times w \times t\),自适应分区可能进一步提升效果
- 文本 token 始终密集通过 FFN,保留其丰富的指令和语义内容
- 在 MLVU Dev、VideoMME、VideoNIAH 等基准上均保持可比性能,包括小时级超长视频
评分¶
- 新颖性:⭐⭐⭐⭐ — 统一的cube-token两级稀疏框架
- 技术深度:⭐⭐⭐⭐ — 预备分析→方法设计逻辑严密
- 实验充分度:⭐⭐⭐⭐ — 多基准验证包含超长视频
- 实用价值:⭐⭐⭐⭐⭐ — 57% FLOPs 降低实用性强