前置知识: 多模态AI

百万Token上下文下的长视频理解

11 minAdvanced

理解暴力上下文、环形注意力和Agent检索三种长视频扩展路径

百万Token上下文下的长视频理解

1小时4K视频在24 FPS下,patch和嵌入后产生约6000万token。2小时播客转录是30,000 token。一部完整蓝光电影,即使激进池化压缩,也是数十万token。Google的Gemini 1.5 (2024年3月)以1000万token上下文开启了这一时代,在小时级视频上实现可靠的大海捞针回忆。LWM (Liu等人, 2024年2月)展示了环形注意力的扩展路径。LongVILA和Video-XL进一步扩展了摄入。VideoAgent用Agent检索替换了原始上下文。每种方法在计算、回忆和工程复杂性上是不同的权衡。本课程并排阅读它们。

类型: 构建 语言: Python (stdlib, 大海捞针模拟器 + Agent检索路由器) 前置知识: Phase 12 · 17 (视频时间token) 时间: ~180分钟

学习目标

  • 计算不同FPS和池化下长视频的总视觉token数。
  • 解释三条扩展路径:暴力上下文(Gemini 1.5)、环形注意力(LWM)、token压缩(LongVILA / Video-XL)。
  • 比较原始上下文视频VLM vs Agent检索视频VLM(VideoAgent)在准确率和延迟上的差异。
  • 为30分钟视频设计大海捞针测试并测量特定分钟的回忆率。

问题

Qwen2.5-VL规模patch在384原生分辨率下的一帧约729 token。3x3池化后每帧81 token。30分钟1 FPS = 1800帧 = 145,800 token。2025年开放VLM可行,但紧张。2 FPS下291,600 token——只有最大上下文才放得下。

2小时电影1 FPS是583k token。超过大多数2026年开放模型;需要Gemini 2.5 Pro或更激进池化。

出现了三条扩展路径。

概念

路径1:暴力上下文(Gemini 1.5, Claude Opus)

用硬件解决问题。将上下文扩展到数百万token,一次前向传播处理所有内容。

Gemini 1.5 Pro以1M token发布;Gemini 1.5 Ultra达到10M;2026年Gemini 2.5 Pro可靠处理数小时视频。论文(arXiv:2403.05530)记录了高达约9.5M token时99.7%的大海捞针回忆率。

工程:带内存层次(局部+全局+稀疏)加MoE专家路由用于长上下文效率的自定义注意力实现。未完整发布。非开源。

路径2:环形注意力(LWM, LongVILA)

环形注意力以”环”方式将长序列分布到设备上,每个设备持有一个块。全序列的注意力通过每个设备将其块发送到环中下一个设备、计算部分注意力并聚合来实现。

LWM (Liu等人, 2024)以此方式训练了1M token上下文模型。训练计算随上下文线性扩展,而非二次方——注意力的二次方开销被环的设备分摊。

LongVILA (arXiv:2408.10188)将模式适配到VLM。1400帧视频每帧192 token = 268k上下文,用8路并行环形注意力训练。

路径3:Token压缩(Video-XL, LongVA)

比暴力上下文更便宜:在LLM看到序列之前激进压缩。

Video-XL (arXiv:2409.14485)使用视觉摘要token:N帧的每个片段产生一个对所有N帧关注的单一”摘要”token。推理时LLM每个片段看到一个摘要token,大幅缩减上下文。

LongVA通过”长上下文迁移”技术将LLM上下文从200k扩展到2M。在长上下文文本上训练,通过共享表示迁移到长上下文视频。

Token压缩用特定时间戳的回忆换取可扩展性。模型大致知道发生了什么但有时错过精确帧。

路径4:Agent检索(VideoAgent)

不要将完整视频喂给LLM。而是将视频视为数据库,用LLM查询它。

VideoAgent (arXiv:2403.10517):

  1. LLM读取问题。
  2. LLM向检索工具请求相关片段(“显示有猫的片段”)。
  3. 工具返回匹配的片段时间戳。
  4. LLM通过VLM读取这些片段。
  5. LLM组织答案或提出后续查询。

这是应用于长视频的LLM-as-agent模式。推理更便宜(仅编码相关片段),工程更难(检索质量成为瓶颈)。

大海捞针基准

标准长上下文测试:在视频随机位置插入唯一视觉或文本标记,然后提问需要回忆它的查询。

指标:跨视频长度和标记位置的Recall@k。

Gemini 2.5 Pro在长达90分钟视频上得分>99%回忆率。开放72B模型(Qwen2.5-VL-72B, InternVL3-78B)在30分钟时约85-90%,60分钟后退化。

VideoAgent在2小时以上可以匹配或击败原始上下文模型,因为如果工具好,检索能命中目标。

选择哪条路径

15分钟片段前沿准确率:开放72B + 原生上下文通常有效。选Qwen2.5-VL-72B。

30分钟到1小时内容:LongVILA或Video-XL用于开放;Gemini 2.5 Pro用于封闭。质量标准很重要——前沿选封闭。

2小时以上内容:VideoAgent或似检索模式。或者,摘要为更小块并喂入层次化摘要。

2026年生产模式

实践中,生产长视频管道是混合的:

  1. 在整个视频上运行动态FPS采样 + 激进池化(获得100k token全局表示)。
  2. 传递给72B VLM获取全局摘要。
  3. 如果用户提出详细问题,使用摘要作为索引运行Agent检索。

这结合了暴力上下文用于全局理解和检索用于局部细节。

实践

code/main.py

  • 计算从1分钟到3小时视频在不同FPS + 池化下的token预算。
  • 模拟大海捞针运行:在随机时间戳注入标记,提问,评分回忆。
  • 包含选择特定片段喂给下游VLM的Agent检索路由器模拟器。

运行预算表,感受规模差距。

输出

本课程产生outputs/skill-long-video-strategy-planner.md。给定视频时长和查询复杂度,它在暴力上下文、压缩和Agent检索之间选择,并计算延迟 + 质量预期。

练习

  1. 45分钟讲座1 FPS,每帧81 token。总token数?适合哪些模型的上下文?

  2. 设计大海捞针测试:你在哪一分钟注入标记,精确查询格式是什么?

  3. 比较暴力上下文Qwen2.5-VL-72B(80k上下文)与VideoAgent(Claude 3.5 + 检索)在1小时视频上。哪个在回忆率上赢?哪个在延迟上赢?

  4. 环形注意力的内存成本随序列长度线性增长,随设备数线性增长。解释为什么以及如果去掉环旋转阶段会出什么问题。

  5. 阅读Gemini 1.5第5节关于大海捞针。论文在1M vs 10M token边界处发现了什么关于回忆率的?

关键术语

术语常见说法实际含义
暴力上下文”就是更多token”将LLM上下文扩展到数百万token;一次前向传播处理所有内容
环形注意力”LWM风格并行”每个设备持有一个块并旋转的分布式注意力模式
Token压缩”摘要token”在LLM前通过学习压缩器减少每片段token
大海捞针”NIH测试”在随机点插入唯一标记,测试时要求模型回忆
Agent检索”LLM作为查询规划器”LLM向检索工具请求相关片段,通过VLM读取,组织答案
VideoAgent”视频检索模式”规范Agent检索设计:问题 → 工具 → 片段 → 答案

延伸阅读