← 返回 2026-06-01

线性扩展视频视觉语言模型用于长视频理解 Linear Scaling Video VLMs for Long Video Understanding

Cristobal Eyzaguirre, Jiajun Wu, Juan Carlos Niebles 📅 2026-05-29 👍 11 2026-07-13 08:36
InferenceOptimization KVCache Long-Context StreamingInference VideoVLM

StateKV将长视频VLM的计算复杂度从二次方降到线性,保持接近完整自注意力的精度。

前置知识

自注意力复杂度

在Transformer中,每个位置都需要和所有之前的位置计算注意力,导致复杂度为O(N^2),其中N是序列长度。对于长视频,如果每帧有T个token,总共N帧,那么复杂度就是O((TN)^2),这使得处理长视频变得非常昂贵。

本文的核心问题就是解决视频VLM中自注意力的二次方复杂度,理解这个基本机制才能明白为什么现有方法无法真正解决长视频问题。

KV Cache预填充

在大语言模型和VLM推理时,输入序列(如视频帧)需要先处理生成KV缓存,这个过程叫预填充。之后在生成文本时,这些缓存的KV被重复使用。对于长视频,预填充阶段计算量巨大,因为它涉及所有视频token之间的注意力计算。

本文将优化重点放在预填充阶段而非生成阶段,因为预填充是长视频VLM的主要计算瓶颈。理解预填充和生成的分离是理解本文方法的关键。

流式推理

流式推理是指数据(如视频帧)以增量方式到达,模型需要实时处理而不能等待整个序列收集完成。这要求模型具有恒定的每帧延迟,而不是随着处理长度增长而变慢。

本文针对的就是流式场景,自动驾驶和机器人等实时应用需要恒定的每帧成本,这是线性复杂度而非二次方复杂度的关键需求。

RoPE缩放

旋转位置编码给每个token分配基于其位置的角度,用于编码序列顺序。当序列长度超过训练时的最大长度时,需要应用缩放参数来适应更长的序列,确保位置编码在超出训练长度时仍然有效。

本文强调RoPE缩放必须在缓存构建和生成阶段保持一致,否则缓存的KV与新生成的token不兼容会导致严重性能下降,这是实际部署中的重要技术细节。

研究动机

现有视频视觉语言模型在处理长视频时面临根本性的计算复杂度瓶颈。由于模型允许每帧与所有之前的视频token进行注意力交互,每帧的计算成本随着视频长度线性增长,整体复杂度呈二次方缩放O(N^2)。这意味着一个运行了1小时的自动驾驶车辆在理论上比刚启动的车辆更难查询。现有效率方法主要通过帧采样、token裁剪或KV缓存压缩来减少输入,但这些方法要么损失太多信息(研究发现需要保留约60%的token才能避免严重退化),要么只是在重新分配二次方成本而非改变缩放规律。滑动窗口方法(如ReKV)虽然将复杂度从O(N^2)降到O(N),但其严格的最近窗口启发式策略是临时的,在多个backbone上表现出不稳定性,有时甚至比更小的模型还差。

本文的目标是本文的目标是开发一种推理时的KV缓存预填充方法,在无需微调或架构修改的情况下,将长视频VLM的预填充计算复杂度从二次方降低到线性,同时保持接近完整自注意力的精度。通过FLOPs节省使得在相同计算预算下能够运行更大、更准确的模型。具体来说,在512帧的VideoMME基准上,StateKV-8B在1B模型的计算预算下达到62.5%的准确率,而完整自注意力1B模型只有46.2%。

与已有工作不同的是,本文的独特切入点是将流式视频预填充形式化为用少量token近似完整自注意力,而不是强加严格的滑动窗口先验。这一表述比严格的最近窗口假设做出了更弱的建模假设,并引出了一个更原则性的问题:必须在帧之间保留哪些信息才能使流式预填充成为完整注意力的良好近似?本文的核心观察是预训练VLM中的长视频注意力高度结构化:大多数交互是帧内的,而长程时间交互集中在一小部分随时间缓慢演变的时间sink token上。这不同于ReKV等方法的最近窗口假设,也不像固定预算压缩方法那样压缩最终生成上下文。

核心方法

StateKV是一种推理时的KV缓存预填充方法,通过维护两个耦合的缓存来适配预训练的VLM骨干网络:固定容量的时间状态用于跨帧上下文,以及详细的每帧缓存保留帧内结构用于最终解码。当帧到达时,模型增量构建视频KV缓存,然后在所有视频token上执行标准文本解码。这产生O(N)的视频编码,同时为解码保留完整的每帧细节,导致端到端VideoQA复杂度在帧数上是线性的。方法的核心假设是存在一个小集合的时间sink token Sn,满足|Sn| = K且K远小于历史token数量,使得跨帧注意力质量集中在这小部分历史token上,且这些sink集合随时间缓慢演变,可以通过前一个状态和当前帧很好地近似。

核心创新点是使用基于重要性的动态压缩状态,而不是固定的滑动窗口。与ReKV严格限制为最近R帧不同,StateKV从所有历史帧中选择最重要的token携带到下一帧,无论它们出现在多远。这使得模型能够保留来自早期帧的关键信息(如场景变化、重要事件),这些信息对于当前帧的推理可能仍然相关。另一个关键区别是两个缓存的设计:压缩状态C仅在预填充期间用于跨帧上下文,而详细状态D存储所有帧token用于最终文本解码。这种分离使得压缩状态只需要近似帧间交互进行视频编码,不需要成为语言生成的最终条件内存。

方法步骤详情

方法的具体步骤如下:首先对于每个transformer层,维护两个状态:详细状态包含所有积累到帧n的视觉token,以及压缩状态具有固定容量B(如1024个token)。在处理帧n时,计算当前帧的查询、键、值:Qn = Xn WQ,Kn = Xn WK,Vn = Xn WV,其中Xn是帧n的视觉token隐藏状态。然后对压缩内存和当前帧token的连接执行注意力:使用softmax对压缩内存和当前帧键的点积进行归一化,然后乘以相应的值向量。处理完帧n后,将当前帧的KV对添加到详细状态。最后通过注意力驱动的选择更新压缩状态:从候选池中选择top-B个token,其中候选池包括前一帧压缩状态中的token和当前帧的所有token。每个候选tokenj的重要性分数通过视频注意力计算:对所有查询i的注意力权重求和,然后保留top-B候选更新压缩状态。

技术新颖性

StateKV的技术新颖性在于将流式视频预填充重新构建为用少量token近似完整自注意力的问题,而不是使用固定的滑动窗口启发式。这导致了一个双缓存结构:固定容量的、基于重要性的时间缓存仅用于流式视频预填充期间,以及保留的完整详细缓存用于最终语言生成。这一设计由长视频注意力的实证结构驱动(主导的帧内交互加上一小部分缓慢变化的时间sink token)。方法在不需要任何训练或架构修改的情况下工作,作为预训练模型的推理时适配。此外,StateKV在预填充阶段使用仅视频注意力分数选择重要token,对文本查询如何改变sink身份不做任何假设,这简化了实现并保持解耦。

Overview of StateKV
Fig. 1: Overview of StateKV
Single-transformer-layer view of StateKV
Fig. 2: Single-transformer-layer view of StateKV

实验结果

实验结果表明StateKV在三个长视频基准和多个模型家族中始终超越滑动窗口/基于最近性的流式近似方法。在VideoMME上,InternVL3-1B的StateKV(B=4096)达到45.8%,与完整自注意力的46.19%相比仅下降0.39个百分点,而ReKV(R=16)只有37.11%。在MLVU上,InternVL3-2B的StateKV达到57.31%,超过完整自注意力的56.61%,而ReKV仅为5.49%。在OVOBench(Real-Time子集)上,所有模型都表现类似。计算-准确率前沿分析显示,512帧视频下StateKV在相同计算预算下持续比ReKV更接近完整自注意力。StateKV的FLOPs节省足够显著,可以在相同计算预算下运行更大模型:StateKV-8B(B=4096)在类似Full SA-1B的计算成本下达到62.5%准确率,相比1B模型的46.2%提升了16.3个百分点。缩放行为分析显示,StateKV随着缓存预算B单调改进,在最高预算下接近或匹配完整自注意力(如InternVL3-8B在短视频上达到75.0%,匹配Full SA)。边际和累积FLOPs分析表明,由于完整自注意力有二次方视频预填充成本而StateKV在线性,对于每个比较对必须存在一个计算平衡点,超出该点运行更大的StateKV模型比更小的二次方基线在计算上更有利。

Total compute to preprocess 512-frame video (in GFLOPs) versus performance on VideoMME
Fig. 3: Total compute to preprocess 512-frame video (in GFLOPs) versus performance on VideoMME
Comparison of VideoMME accuracy across context budgets for InternVL3-1B/2B/8B
Fig. 4: Comparison of VideoMME accuracy across context budgets for InternVL3-1B/2B/8B
Compute cost versus frame index
Fig. 5: Compute cost versus frame index
查看结构化数据
任务指标本文基线提升
VideoMME Accuracy 62.52% (InternVL3-8B, B=4096) 64.19% (InternVL3-8B Full SA) / 54.56% (InternVL3-8B ReKV R=16) 比ReKV高7.96个百分点,比Full SA低1.67个百分点
MLVU Accuracy 62.85% (InternVL3-8B, B=4096) 61.14% (InternVL3-8B Full SA) / 31.11% (InternVL3-8B ReKV R=16) 比ReKV高31.74个百分点,比Full SA高1.71个百分点
OVOBench (Real-Time) Accuracy 70.25% (InternVL3-8B, B=4096) 71.45% (InternVL3-8B Full SA) / 56.03% (InternVL3-8B ReKV R=16) 比ReKV高14.22个百分点,比Full SA低1.2个百分点
VideoMME Accuracy (效率优化) 62.5% (InternVL3-8B StateKV, B=4096) 46.2% (InternVL3-1B Full SA) 在0.97x的FLOPs下提升16.3个百分点

局限与改进

作者承认的局限性包括:对假设的机制验证只能在现有模型和测试输入上执行,因此既不是通用的也不是根本性的。虽然假设在分析的模型上是合理的并得到支持,但未测试的backbone或未来模型可能不表现出相同的行为。ReKV在多个设置中表现出不稳定行为:InternVL3-2B在Fig. 3和Fig. 4中在所有操作点都显示出系统性退化,有时甚至表现不如1B变体;InternVL3-8B在MLVU上显示类似的不稳定性;即使在测试的最高滑动窗口预算下,与完整注意力的性能差距仍然很大。这些观察表明严格的基于最近性的近似可能是某些backbone学习到的注意力模式的糟糕匹配。另一个局限性是虽然StateKV减少了预填充的复杂度,但解码阶段仍然是O(N)的,因为详细缓存保留所有视频token。这意味着对于实时流媒体应用,如果需要频繁查询,解码成本可能成为瓶颈。此外,本文主要关注FLOPs分析,虽然附录提供了wall-clock比较,但实际部署时的延迟可能还受到内存带宽、并行化效率等因素影响。

独立分析的弱点

第一个弱点是压缩状态的大小B需要手动选择,论文测试了16、64、256、1024、4096、16384等不同值但没有提供自动调整机制。对于不同视频类型(如快节奏体育视频vs慢节奏监控视频)和不同backbone,最优缓存大小可能不同。改进方向可以是开发自适应缓存大小策略,基于视频内容的动态特性(如场景变化率、运动幅度)自动调整B。第二个弱点是重要性评分仅使用视频注意力分数,不考虑查询相关性。这意味着压缩状态选择的是对当前帧处理重要的token,而不是对最终查询重要的token。对于某些查询(如视频中第10秒发生了什么),早期帧的某些特定token可能比全局重要的token更相关。改进方向可以是支持查询感知的缓存构建,虽然这需要一些额外开销但可以提升特定查询的准确性。第三个弱点是假设sink集合缓慢演变,但对于有突然场景变化的视频(如电影剪辑、广告),这个假设可能失效。改进方向可以是增强压缩状态的更新机制,例如在检测到显著场景变化时重置或扩展缓存。第四个弱点是当前实现使用eager attention路径进行缓存构建,虽然论文提供了基于FlashAttention-2的自定义Triton内核,但可能还可以进一步优化。改进方向可以是针对视频流式场景设计专门的注意力内核。

未来方向

作者提出的未来方向包括在更多backbone和视频制度上进行更广泛的分析,以验证注意力的结构假设是否普遍成立。基于论文成果可以延伸的方向包括:将StateKV的思想扩展到其他多模态设置,如长文档-图像理解、音频-视频多模态推理等;探索在压缩状态中使用分层或结构化的记忆组织,而不是扁平的重要token集合;研究在流式设置下结合StateKV与生成阶段优化(如HERMES、LiveVLM等方法)的端到端系统;开发针对特定任务(如动作识别、视频问答)的缓存选择策略,可能利用任务特定的注意力模式;探索在训练阶段也使用类似的线性缩放策略,而不仅仅是推理时,这可能从根本上改变模型架构;研究StateKV在边缘设备或移动设备上的实际部署,包括内存优化和量化策略。另一个有潜力的方向是将StateKV与自适应帧采样结合,在空间和时间两个维度同时优化,以达到更好的效率-精度权衡。

复现评估

论文提供了项目网页https://ceyzaguirre4.github.io/StateKV,但摘要中没有明确说明代码是否开源。实验使用Hugging Face模型实现和lmms-eval套件的默认提示,所有方法使用相同的RoPE缩放、数据加载、提示和生成超参数,确保公平比较。评估协议包括VideoMME(无字幕设置)、MLVU和OVOBench(Real-Time视觉感知子集),视频采样率为1 FPS,每个示例最多512帧。FLOPs使用PyTorch profiler测量并根据理论计算验证。虽然论文声称在相同共享实现下验证了ReKV的不稳定性是可复现的,但没有提供具体的复现脚本或配置文件。算力需求方面,处理512帧视频对8B模型即使使用StateKV也需要相当大的计算资源,可能需要多GPU设置。总体而言,论文提供了足够的方法细节和实验设置,但完全复现可能还需要更多实现细节和代码。