← 返回 2026-04-10

Tempo:小型视觉-语言模型是长视频理解的智能压缩器 Small Vision-Language Models are Smart Compressors for Long Video Understanding

Junjie Fei, Jun Chen, Zechun Liu, Yunyang Xiong, Chong Zhou, Wei Wen, Junlin Han, Mingchen Zhuge, Saksham Suri, Qi Qian, Shuming Liu, Lemeng Wu, Raghuraman Krishnamoorthi, Vikas Chandra, Mohamed Elhoseiny, Chenchen Zhu 📅 2026-04-09 👍 21 2026-07-13 08:36
多模态大模型 查询感知 自适应Token分配 视频压缩 跨模态蒸馏 长视频理解

6B参数SVLM做查询感知压缩器+ATA动态分词,刷新长视频理解SOTA。

前置知识

多模态大语言模型 (MLLM)

把预训练视觉编码器与大型语言模型在统一序列空间内对齐的范式,主流做法是采样视频帧并直接把视觉patch token塞进LLM的上下文窗口。代表工作包括LLaVA-OneVision、Qwen-VL系列、InternVL3.5、Kimi-VL等,能在短视频理解上达到很强水平。

本文解决的就是这一范式在小时级长视频上的根本瓶颈:把密集视频流硬塞进LLM上下文会引爆token数量并触发lost-in-the-middle现象,读懂本文必须先理解MLLM如何把视觉token与文本token统一处理。

Lost-in-the-middle 现象

当LLM的输入上下文非常长、其中包含大量相关信息时,模型对位于序列中段的证据的注意力显著衰减,导致关键信息被忽略的现象。在长视频中表现为模型无法正确回答需要调用中间几帧才能回答的问题。

这是Tempo论文motivation的关键支撑:现有方法靠扩大上下文窗口或稀疏采样都无法根治lost-in-the-middle,论文通过查询感知的token压缩直接把无关信息裁掉,绕过了这一固有限制。

Causal Attention 与 Cross-Modal Distillation

Causal attention是自回归注意力掩码,每位置只看自身及之前位置。Cross-modal distillation指query+图像经注意力层蒸馏出目标表示。Tempo把memory token放序列末位,使其在causal attention下attend全部前置视觉与文本信息。

本文整个局部压缩器的核心就是把'压缩'重定义为'causal attention下的跨模态蒸馏',memory token M被强制打包最相关视觉证据。读不懂causal attention就无法理解为什么把M放在最末是关键的工程设计。

自适应Token分配 (Adaptive Token Allocation, ATA)

一种推理时动态分配每段视频token预算的策略,依据各段对查询的相关性强弱,对相关段分配密集token、对不相关段压缩到最少token。Tempo的ATA是一种training-free机制,依赖一个logit-based相关度打分 $s_i$ 决定 $k_i$。

ATA是本文第二个核心创新,决定了Tempo如何在严格8K预算下仍能保留关键证据。不理解ATA就无法解释为什么6B小模型在4K预算下能跑赢GPT-4o/Gemini 1.5 Pro。

头截断与Semantic Front-Loading

在自回归序列中,模型倾向于把最重要语义集中在前几个生成token里——这就是semantic front-loading现象。头截断指推理时只保留序列最前面的若干token,丢弃后面。本文中指对SVLM压缩后的memory token取前 $k_i$ 个。

这是Tempo能以O(1)开销完成段内token选择的关键假设。如果semantic不front-load,头截断就会丢信息;论文通过ablation (C) 在四个基准上一致验证了Head > Tail,证明这一假设成立。

长视频评测基准 (LVBench, Video-MME, MLVU, LongVideoBench)

LongVideoBench (473s) 与MLVU (651s) 偏中长视频,Video-MME Overall (1010s) 与Long子集 (2386s) 测长视频,LVBench (平均4101s) 是极端长度的压力测试。所有评测通过lmms-eval统一调度。

这四个基准覆盖中等长度到超长视频完整谱系,论文在四基准上系统比较proprietary、通用开源与专用长视频MLLM三类对手。读结果时必须看每个基准的平均时长,否则数字可比性会失真。

研究动机

MLLM在短视频理解上取得长足进步(VideoChat2、LLaVA-OneVision、VITA-1.5、Kimi-VL、Qwen-VL系列等),但被直接套用到小时级长视频时面临两个根本性瓶颈。其一,token数量爆炸:以Qwen2.5-VL为例单帧约1924 token,按2 FPS采样1小时视频会产生约1400万token,远超任何LLM上下文窗口;压缩到64 token/帧长度依然惊人。其二,lost-in-the-middle被进一步放大,模型难以从超长上下文中检索到关键证据。现有缓解方案分两类:稀疏采样(Xu et al. 2024a; Li et al. 2025)会跳过必需的瞬时关键帧;query-agnostic压缩(spatiotemporal pooling、token merging)会盲目模糊查询相关段落细节并浪费表征带宽在无关背景上。即便LongVU等query-aware方法也依赖与端到端pipeline解耦的辅助模块,无法真正做到查询感知资源分配。

本文的目标是本文提出Tempo,目标是构建一个端到端、查询感知的压缩框架,把长视频MLLM中的视觉token消减重新定义为'早期跨模态语义蒸馏'问题,让一个6B规模的小型视觉-语言模型 (SVLM) 在单次前向中同时完成(a)段级证据压缩与(b)查询相关度路由,输出被全局LLM高效消费的紧凑视频表示。具体目标是在不依赖超长上下文的前提下,在LongVideoBench (473s)、MLVU (651s)、Video-MME (1010s)、Video-MME Long (2386s)、LVBench (4101s) 五个不同长度基准上同时刷新SOTA,并在4K/8K这种严格视觉预算下用6B参数击败GPT-4o (30.8) 与Gemini 1.5 Pro (33.1) 等proprietary基线。

与已有工作不同的是,本文的独特切入角度可以总结为'把压缩当作跨模态蒸馏',这与现有方法的本质差异在于三点。其一,传统方法先做query-agnostic压缩再交给LLM,压缩阶段完全没有用户意图;Tempo在压缩时把用户query拼接到SVLM输入中,让压缩本身是query-conditioned。其二,传统query-aware方法(LongVU、BIMBA)依赖解耦的辅助模块做路由,路由与生成不在同一前向中;Tempo利用SVLM自身的zero-shot相关度先验,把路由与压缩合二为一,真正做到O(1)开销的单前向端到端流程。其三,传统方法在压缩后用spatiotemporal pooling或token merging丢弃空间信息,引入模糊;Tempo借助'semantic front-loading'现象用头截断丢弃最不相关token,无需任何空间合并运算。这三点共同把'长视频'问题从'扩大上下文'或'启发式降采样'转向'查询驱动的智能节奏分配'。

核心方法

Tempo的设计哲学是'两段式层级生成 + 查询感知动态路由'。模型分两层:局部侧SVLM (Qwen3-VL-2B-Instruct) 充当时间维度智能压缩器;全局侧LLM (Qwen3-LM-4B) 充当推理与答案生成器,通过线性投影器相连,总参数约6B。工作流:把长视频按8帧一段切成N段,每段由SVLM视觉编码器得到密集视觉token $X_i$,再把query $Q$ 和可学习memory token $M$ 拼到序列末尾;在causal attention下$M$天然attend所有前置视觉与文本信息,最后一层隐状态即为段压缩表示 $H_i \in \mathbb{R}^{k_\text{max} \times d_s}$,$k_\text{max}=128$。各段表示按时间顺序组装并附显式时间戳 (如 $$) 后送入LLM解码。训练阶段用auto-regressive loss $\mathcal{L}_{AR}$ 端到端优化;推理阶段引入ATA机制,在SVLM前向中拦截隐状态算相关度分数 $s_i$,按全局预算 $B_\text{max}$ 为每段动态分配 $k_i$ 并头截断。

本文核心创新是把视觉token消减重构为'早期跨模态语义蒸馏',并用ATA把路由与压缩合二为一。区别于已有方法有四点。第一,query-aware在端到端流内实现:Tempo把query作为SVLM输入前缀,路由与压缩在同一次前向中同时产生,无额外推理开销。第二,零样本相关度先验工程化:$s_i = \sigma((w_\text{yes} - w_\text{no})^\top h_\text{rel}^i)$,通过冻结LM head的'yes/no'词向量差与相关度query的隐状态做内积,O(1)得到相关度概率,无须解码也不需训练router网络。第三,semantic front-loading工程化:利用SVLM因果自回归把最相关证据塞进最早几个memory token的性质,直接头截断 $H_\text{ATA}^i = H_i[1:k_i]$ 完成段内压缩,是O(1)的tensor切片。第四,'最小时间锚点 + 动态剩余分配'两阶段策略:每段保留 $k_\text{min}=4$ 个token维持时间连续性,剩余预算按相关度比例分配,避免硬剪枝破坏因果链。

方法步骤详情

步骤分四步。第一步,问题形式化:把视频 $V$ 切分为 $N$ 段 $S_1, ..., S_N$(每段8帧),目标是在全局视觉预算 $B_\text{max}$ 内将每段压缩为 $k_i \in [k_\text{min}, k_\text{max}]$ 个query-conditioned memory token。第二步,局部压缩:每段构造单causal序列 [system prompt, 视觉token $X_i$, query $Q$, memory token $M$],$M$ 共 $k_\text{max}=128$ 个可学习槽位;SVLM在该序列上做一次前向,$M$ 最后一层隐状态构成压缩表示 $H_i$。第三步,路由与截断:在system prompt中追加二分类指令,用冻结LM head的'yes'与'no'词向量差与 $h_\text{rel}^i$ 做sigmoid得 $s_i$;归一化 $\hat{s}_i$ 后算 $k_i^\text{ideal} = k_\text{min} + \lfloor (k_\text{max} - k_\text{min}) \hat{s}_i \rfloor$;若 $\sum k_i^\text{ideal} \le B_\text{max}$ 直接采用,否则按 $\hat{s}_i / \sum_j \hat{s}_j$ 分配剩余预算 $B_\text{res} = B_\text{max} - N k_\text{min}$;离散化后做头截断 $H_\text{ATA}^i = H_i[1:k_i]$。第四步,全局解码:把各段压缩表示投影到LLM嵌入空间并按时间顺序拼上显式时间戳标签 (如 $$),输入LLM自回归解码得最终答案;训练损失为auto-regressive cross-entropy $\mathcal{L}_{AR} = -\sum_{t} \log p_\theta(a_t \mid a_{<t}, Q, \{\tilde H_i\})$,无任何辅助压缩损失或路由正则化。

技术新颖性

技术新颖性归纳为四点。第一,把'压缩'重新定义为'端到端可微的跨模态蒸馏',首次用'把query拼进SVLM输入、用causal attention下的memory token作为蒸馏载体'的设计统一长视频消减与查询感知分配。第二,'logit差'做zero-shot相关度打分极其实用:利用LM head已学好的'yes/no'语义对查询相关度,无需任何router训练或外部reranker,达到与Qwen3-VL Reranker相当甚至更好的效果(MLVU 75.2 vs 75.4, Video-MME 67.7 vs 67.2),同时节省一整次前向。第三,'最小时间锚点 $k_\text{min}=4$' 设计巧妙:消融E显示它对LongVideoBench从63.9提升到65.1(+1.2),证明维持低分辨率时间线比硬剪枝更重要,'不连续的时间线'会破坏全局因果追踪。第四,'semantic front-loading'从假设变成可工程化截断策略:消融C显示Dynamic Head Truncation在四基准上一致打败Tail Truncation (65.1 vs 61.9, 75.2 vs 73.4, 67.7 vs 64.8, 52.3 vs 50.5),并以O(1)开销打败O(N^2)的Token Merging。

Overview of the Tempo framework.
Figure 2: Overview of the Tempo framework.
Scaling behavior of Tempo: Maximum Frames vs. Token Budgets.
Figure 3: Scaling behavior of Tempo: Maximum Frames vs. Token Budgets.

实验结果

实验在LongVideoBench (473s)、MLVU (651s)、Video-MME (1010s)、Video-MME Long (2386s)、LVBench (4101s) 五基准用lmms-eval评测。整体SOTA:4K预算Tempo-6B在LVBench 52.7、Video-MME 67.8、MLVU 75.6、LongVideoBench 64.5;8K预算LVBench 52.3、Video-MME 67.7、MLVU 75.2、LongVideoBench 65.1,均在specialized long video MLLMs中第一或并列第一。极端长度统治力:LVBench上Tempo (52.3/52.7) 超过GPT-4o (30.8) 与Gemini 1.5 Pro (33.1) 约20分,超过Qwen3-VL-2B (47.4) 与VideoChat-Flash (48.2) 等7B专用模型。'less is more'反直觉现象:Video-MME Long与LVBench上4K预算比8K反高0.5-0.8分,更严信息瓶颈过滤背景干扰。实际平均token消耗远低于预算:4K预算LVBench仅2.9 token/frame、Video-MME Long仅3.4 token/frame,证明ATA是semantic-driven。消融 (Table 2) 验证核心组件:拿掉Stage 3在LVBench从52.3掉到47.3 (-5.0);Adversarial Routing在LongVB从65.1崩塌到50.7 (-14.4);Head换Tail在LongVB/MLVU/Video-MME从65.1/75.2/67.7退到61.9/73.4/64.8;Hard Pruning在LongVB从65.1退到63.9。

Comparison with state-of-the-art MLLMs on long video benchmarks.
Table 1: Comparison with state-of-the-art MLLMs on long video benchmarks.
Ablation studies on Tempo's core components.
Table 2: Ablation studies on Tempo's core components.
查看结构化数据
任务指标本文基线提升
LVBench (extreme-long video, 4101s平均) 准确率 (%) 52.3 (8K预算) / 52.7 (4K预算) GPT-4o 30.8, Gemini 1.5 Pro 33.1, Qwen3-VL-8B 58.0, VideoChat-Flash 48.2, Storm -, Molmo2 52.8, LongVU -, Qwen3-VL-2B 47.4 比最强proprietary基线GPT-4o高+21.5, 比最强7B专用MLLM VideoChat-Flash高+4.5, 比同源基础模型Qwen3-VL-2B高+4.9/5.3
Video-MME Overall (1010s平均, w/o subtitles) 准确率 (%) 67.8 (4K预算) / 67.7 (8K预算) GPT-4o 71.9, Gemini 1.5 Pro 75.0, Qwen3-VL-8B 71.4, VideoChat-Flash 65.3, LLaVA-Video 63.3, Qwen2.5-VL 65.1, LongVU 60.6, Storm 63.4, Molmo2 69.9, VideoLLaMA3 66.2 比最强专用7B模型VideoChat-Flash高+2.5, 接近Qwen3-VL-8B但参数仅其75%; GPT-4o/Gemini 1.5 Pro靠大上下文获高分, Tempo在严格4K预算下仅低4-7分
Video-MME Long subset (2386s平均) 准确率 (%) 57.8 (4K预算) / 57.0 (8K预算) GPT-4o 65.3, Gemini 1.5 Pro 67.4, Qwen3-VL-8B -, VideoChat-Flash 55.4, Storm 53.4, LongVU 59.5, LongLLaVA 46.4, LongVILA 47.0, Kangaroo 46.7 比VideoChat-Flash高+2.4, 比Storm高+4.4, 4K略胜8K (+0.8) 验证less is more现象
MLVU (651s平均) 准确率 (%) 75.6 (4K预算) / 75.2 (8K预算) GPT-4o 64.6 (长视频benchmark), VideoLLaMA3 73.0, LLaVA-Video 70.8, LLaVA-OneVision 64.7, VideoChat-Flash 74.7, LongVU 65.4, Storm 72.9, BIMBA 71.4, InternVL3.5 70.2, Qwen2.5-VL 70.2, Qwen3-VL-2B 68.3, Qwen3-VL-8B 78.1 比VideoChat-Flash高+0.9, 比Storm高+2.7, 接近Qwen3-VL-8B (78.1) 但只用了其1/4的视觉token
LongVideoBench (473s平均) 准确率 (%) 64.5 (4K预算) / 65.1 (8K预算) Molmo2 67.5, InternVL3.5 62.1, VideoChat-Flash 64.7, Storm 60.5, LongVILA 57.1, LongLLaVA 53.5, VideoLLaMA3 59.8, LLaVA-Video 58.2, LLaVA-OneVision 56.4, BIMBA 59.5, Kangaroo 54.8 比VideoChat-Flash高+0.4 (8K), 接近Qwen3-VL-8B (Molmo2 67.5) 但仍领先所有specialized long video MLLM (除Molmo2外)
Scaling行为 (Figure 3, LVBench) 准确率 (%) vs 最大帧数fmax ∈ {128,256,512,1024,1536,2048} fmax=2048 (12K预算) 时53.7, fmax=1024 (4K预算) 时52.7 fmax=128时所有预算曲线重合 (≈46-48), 严格预算2K/4K在fmax>1024时性能退化 随着fmax增长, 8K/12K曲线单调上升至53.7; 4K曲线在fmax=1024达到peak后下降, 揭示出'小时级视频需要扩展context capacity'的scaling规律

局限与改进

局限性可从作者承认与隐含两个层面分析。作者第6节明确三点开放问题:(1) ATA目前完全zero-shot,仅依赖SVLM的隐式相关度先验,通过post-training (如RL) 显式放大有进一步提升空间;(2) 当前段压缩用固定 $k_\text{max}=128$ memory token,理想是让SVLM自回归决定何时停止生成压缩token,类比reasoning model的test-time compute scaling,但会带来延迟;(3) 多轮对话下每次用户意图变化都要重做整段视频的查询感知压缩,缺乏'全局query-agnostic context + 按需深度压缩'的分层路由。外部观察补充:(a) 评测以lmms-eval为核心,部分基线数字来自原论文leaderboard,可能因prompt/采样差异有误差;(b) 训练数据与curation几乎完全继承VideoChat-Flash与LLaVA-OneVision-1.5,没有贡献新长视频数据合成管线;(c) ATA的two-stage budget分配在 $\sum k_i^\text{ideal} > B_\text{max}$ 时退化为比例分配,可能出现'某段恰好4 token而另一段爆128 token'的极端不均;(d) LVBench上Qwen3-VL-8B (58.0) 仍高于Tempo (52.7),说明模型容量对极端长度仍是关键变量。

独立分析的弱点

独立审视有以下弱点值得改进。第一,ATA两阶段分配在严格预算下退化为'按比例分配剩余预算',缺乏'按段间互补性'的优化视角。改进方向是引入次模函数或Gumbel-Top-K让段间选择对答案生成总增益最大化。第二,semantic front-loading虽被ablation验证,论文未深入分析'为什么front-load'——是causal attention位置偏置、训练目标 (next-token) 还是token初始化顺序导致的?改进方向是做position-aware消融:交换memory token位置或重排训练时$Q$与$M$的顺序。第三,$k_\text{min}=4$ 是魔法数字,消融E只比较了0和4,缺少对8/16/32的扫描。改进方向是按段长或视频总长自适应 $k_\text{min}$,视频越长 $k_\text{min}$ 越大以维持时间线分辨率。第四,'less is more' (4K > 8K) 现象只在Video-MME Long与LVBench观察到,论文未给出任务粒度解释。第五,缺少对不同SVLM backbone的swap实验,无法判断'zero-shot相关度先验'的通用性。

未来方向

作者在第6节提出三条未来方向,本节进一步延伸。(1) 后训练放大相关度先验:用RL直接优化路由策略对最终答案准确率的奖励,比SFT更不易引入启发式偏置;具体可考虑GRPO或DPO,将ATA的logit差作为policy、Tempo的答案准确率作为reward。(2) 自回归压缩:让SVLM自己决定何时停止生成memory token,类比reasoning model的thinking budget;具体可借鉴Early-Exit Transformer或Universal Transformer思路,在段内对memory token做halting prediction。(3) 多轮对话的分层路由:维护一个query-agnostic的低分辨率全局context cache (如每段2 token),多轮对话中只对需要细节的段按需升级为高分辨率,避免每轮重做整段视频压缩。(4) 把ATA的logit差推广到长文档QA、3D点云理解等跨模态任务,把'按需展开'作为通用稀疏注意力框架。(5) 把'前馈单次跨模态蒸馏'与reasoning model结合,形成两阶段test-time compute scaling。(6) 探索Tempo在流式视频 (live stream) 上的应用:每段压缩后立即写入向量库,query到来时只需路由+拼接,可做实时视频问答。

复现评估

复现评估分四方面。开源情况:论文声明会公开代码 (GitHub: FeiElysia/Tempo) 与项目主页,但截至论文时间点仓库尚未发布,完整复现需基于附录C超参自行实现。数据可获得性:训练数据继承自VideoChat-Flash与LLaVA-OneVision-1.5的公开curation,Stage 0使用LCS-558K;所用Qwen3-VL-2B-Instruct与Qwen3-LM-4B均开源,外部依赖充分。算力需求:Stage 0用32张H100 80GB,Stage 1-3扩展到64张H100,混合精度bf16 + FSDP + gradient checkpointing;端到端100k步、batch size 32-256、AdamW + cosine schedule + 3% warmup,总训练量约5000-10000 H100小时。复现难度:技术栈涉及Qwen3-VL内部attention mask修改、logit-based relevance extraction的SVLM前向hook、跨模态蒸馏端到端训练、lmms-eval评测流水线等四类工程门槛;复现Table 2所有消融 (A-E) 需跑15-20个变体,每变体在64张H100上数天。综合看,公开代码后可较容易复现主表数字,但消融级别完整复现需相当算力与工程投入。