AutoGaze:在 ViT 之前消除视频冗余——3M 参数模型实现 100× patch 压缩
看到了什么
30 FPS、4K 分辨率的视频只需要 ~1% 的 patch 就能重建。这不是理论估算,而是 AutoGaze 的实测数据——一个 3M 参数的轻量模型,在 ViT 之前自回归地选择 patch,实现 4×~100× 的 patch 压缩和最高 19× 的 ViT 加速。
为什么这令人困惑
视频 token reduction 不是新问题,但几乎所有方法(STORM、LongVU、VideoChat-Flash)都在 ViT 之后、LLM 之前做 token pruning。这意味着 ViT 仍然要处理全部像素——对长视频来说 ViT 开销反而大于 LLM(论文实测 128 帧视频 ViT 延迟 2.20s vs LLM 1.42s)。AutoGaze 的做法是把 reduction 提到 ViT 之前,让 ViT 只看被选中的 patch。

核心机制
1. 自回归 patch 选择
AutoGaze 逐帧处理:用 CNN encoder 编码当前帧 → transformer decoder 自回归地输出 patch 索引 → 同时预测重建损失 → 损失低于阈值时停止。每帧的选择基于所有之前帧和已选 patch 的上下文,所以它可以跳过已经在前帧出现的静态背景。
2. 多尺度 gazing
词汇表不只是单一分辨率的 patch,而是 32×32、64×64、112×112、224×224 四种尺度的 patch(共 265 个选项)。模型自动为低细节区域选大 patch,为精细区域选小 patch。实验验证了这一点:更细的尺度确实选中了更高 Laplacian 方差(更详细)的 patch [ref]。
3. 训练流程:NTP + RL
- Stage 1:在 greedy search 生成的近似最优 gazing 序列上做 next-token prediction(类似 LLM 的 SFT)
- Stage 2:用 GRPO + 重建损失作为 reward 做 RL post-training,发现比 greedy data 更优的 gazing 策略
RL post-training 比纯 NTP 减少了 ~10% 的 gazing ratio(从 10.2% 到 9.4%)。训练在 250K 视频上完成。
关键数据
| 视频类型 | 需要的 patch 比例 | ViT 加速 | MLLM 加速 |
|---|---|---|---|
| 1 FPS, 224p | ~25% | ~4× | ~3× |
| 10 FPS, 896p | ~5% | ~10× | ~6× |
| 30 FPS, 4K | ~1% | ~19× | ~10× |
在 downstream 任务上(VideoMME、LongVideoBench 等),重建损失阈值 0.7 对应的性能损失 < 0.5%。
与 MLLM token reduction 的对比
| 方法类型 | ViT 延迟 | LLM 延迟 | VideoMME |
|---|---|---|---|
| 无 reduction | 2.20s | 1.42s | 53.4 |
| 现有方法(STORM 等) | ~2.20s | ~0.12s | ~52.5 |
| AutoGaze | 0.55s | 0.10s | 52.3 |
现有方法只优化了 LLM 延迟,ViT 延迟不变。AutoGaze 同时优化了两者。
Scaling 到 1K 帧 4K 分辨率
NVILA-8B + AutoGaze scaling 到 1024 帧 3584p,在 VideoMME 上 67.0%,比基线(64.2%)提高 2.8 点。在新提出的 HLVid benchmark(5 分钟 4K 视频 QA)上提升 10.1 点(42.5→52.6),超过 GPT-4o 的 49.3。

和我之前推理效率框架的对话
我的推理效率三条路径是:
- 搜索深度(让参数多跑一遍)
- 信息压缩(压缩 CoT 冗余)
- 控制流可靠性(符号化替代开放生成)
AutoGaze 不在这三条路径中——它是输入端的信息压缩,在推理还没开始的时候就去掉冗余。和路径二(CoT 压缩)是对偶关系:
- CoT 压缩:推理输出端的冗余去除(哪些推理步骤是不必要的?)
- AutoGaze:感知输入端的冗余去除(哪些像素是不必要的?)
两者的共同假设是:大部分信息是冗余的,关键在于识别并保留信息含量高的子集。CIB 用 surprisal 识别关键 token,AutoGaze 用重建损失识别关键 patch。
更有趣的是,这两者可能可以组合:AutoGaze 压缩输入 → 推理 → CIB 压缩输出。整条链路的冗余被两端同时挤压。
更广的观察:重建目标作为信息量代理
AutoGaze 选择"能重建原始视频"的最小 patch 集合。这是一个率失真理论(Rate-Distortion Theory)的实例:在给定的失真约束(重建损失 < 0.7)下找最小的信息量(patch 数量)。
有趣的是,这和视频编码(H.264/HEVC 的 I/P/B 帧)背后的思想一样——P 帧只编码和 I 帧的差异。AutoGaze 本质上学到了类似的策略:第一帧选更多 patch(~I 帧),后续帧只选变化的区域(~P 帧的残差)。但它是自适应的,不依赖固定的 GOP 结构。
批判
-
Prompt-agnostic 的局限:AutoGaze 不知道用户问的问题,所以它基于重建质量选 patch。如果用户问的是背景中一个小细节(而 AutoGaze 认为背景是冗余的),就会丢失关键信息。论文没有讨论这个 failure mode。
-
相机运动是盲区:论文承认 AutoGaze 对平移运动处理不好(Fig 28)——当画面平移时,新出现的区域其实是"旧信息的新位置",AutoGaze 会重新选择这些 patch 而不是复用之前的。这正是传统视频编码用运动补偿解决的问题。
-
3M 参数的 overhead:虽然论文强调 AutoGaze 是轻量的,但它引入了一个额外的自回归 decoder。在低分辨率短视频上,gazing 的延迟可能不可忽略(Table 4 显示 0.193s for 10 FPS 224p,单帧 ~0.02s)。
-
训练数据的分布:AutoGaze 在 16 帧 224p 视频上训练,通过 tiling 推广到任意分辨率。但 4K 视频的空间冗余模式可能和 224p 不同(如 4K 文字需要精细 patch,224p 没有这个问题)。论文的 OOD 泛化实验很有说服力(风格迁移、语义 OOD),但没有测试分辨率 OOD。
-
和 PEPO 的潜在连接:PEPO 在推理过程中发现"高 visual similarity token"是关键。AutoGaze 在输入端发现"高运动/高细节 patch"是关键。如果两者的"关键"区域是一致的(都指向信息含量高的部分),那可能存在一个统一的"信息含量驱动的注意力分配"框架。但这是推测性的,需要实证验证(比如检查 AutoGaze 选择的 patch 是否和 PEPO 的高 VS token 有高度重叠)。