25.10 StreamingVLM
6 min
训练与推理的对齐
发现问题
作者发现目前模型在处理无限长视频流时,存在以下这几个问题:
- 全注意力机制:会导致计算成本呈平方级增长,很快就会引发 OOM,并且在处理超出训练长度的超长视频时性能会大幅下降。
- 无重叠滑动窗口:虽然限制了内存,但频繁重置上下文会打破生成的连贯性。
- 带重叠滑动窗口:保留了部分历史信息,但每个窗口都需要进行大量的冗余注意力重计算,导致高延迟,无法满足实时推理的需求。
- 训练与推理不一致:要在推理时处理无限长的视频流,但受限于计算资源,模型无法在极其漫长的视频上进行训练。如何用短视频片段训练模型,却让它具备在无限流上进行稳定推理的能力,是一个未充分解决的难题。
解决问题
为了解决上述问题,作者提出了 StreamingVLM,这是一个将训练和流式推理完美对齐的统一框架。其核心解决策略包括:
- 流式感知的 KV Cache(推理阶段):模型在推理时维护一个紧凑且稳定的 KV Cache。它不对旧画面进行重复计算,而是复用三种状态:(1) 注意力池(Attention Sink),如系统提示词和早期文本;(2) 较长的近期文本窗口,用于保持长期记忆;(3) 较短的近期视觉窗口(如 16 秒),用于捕捉当前动作。当超出预算时,优先淘汰最旧的视觉 Token。
- 连续旋转位置编码(Contiguous RoPE):为了防止旧 Token 被淘汰后产生位置信息的偏移,模型在推理时调整 RoPE 索引,使其与最后保留的 Token 保持数值上的连续性。这样,位置索引就能被限制在一个固定的范围内,确保了超长推理时的数值稳定性。
- 重叠块的 SFT 训练策略(训练阶段):模型并不在超长视频上训练,而是将视频切分为有时间重叠的短片段(如长度 24 秒,重叠 12 秒),并在片段内应用全注意力机制。并且,模型将视觉和文本 Token 以 1 秒 为间隔交替排列(而非像传统 VLM 那样把视频 Token 全堆在文本前面)。这种重叠的短片段训练能够完美近似推理时的“注意力池 + 近期视觉 + 长期文本”的模式,教会模型何时该说话、何时该保持沉默。
- 数据流构建:构建了一个名为
Inf-Streams的大型体育解说数据集,并通过 GPT 进行了严格的数据清洗。此外,还提取了一批“高质量退火数据”专门用于强化对场上实时动作的解说能力。
讨论
- 卓越的准确性与长视频能力:在平均长度超 2 小时的新测试基准
Inf-Streams-Eval上,StreamingVLM 实现了无限流模式下的连续解说,以 66.18% 的胜率击败了 GPT-4o mini。同时,该模型能够在其长达两小时的视频切片的不同阶段均保持同样高水准的性能表现,不会随着时间推移而退化。 - 提升了通用的 VQA(视觉问答)能力:令人惊喜的是,即便没有使用特定的 VQA 数据进行微调,StreamingVLM 的流式训练策略依然全面提升了基础模型的视觉理解能力,例如在 LongVideoBench 上提升了 +4.30,在 OVOBench Realtime 上提升了 +5.96。
- 极高且稳定的推理效率:相比于全注意力机制引发的 OOM,以及滑动窗口带来的延迟尖峰,StreamingVLM 的单 Token 延迟极低且非常平稳。它在单张 NVIDIA H100 显卡上最高支持 8 FPS 的实时稳定推理。
- 消融实验验证:实验表明,如果不使用 Contiguous RoPE,模型在无限视频流上的性能会急剧下降;而将视觉窗口大小设定为 16 秒 则是权衡近期动作捕捉和计算效率的最佳选择;最后,添加高质量退火数据大幅提升了生成效果。
结论
StreamingVLM 为现有的视觉语言模型引入了实时流式感知能力,成功搭建了一个训练与推理高度一致的框架。它有效解决了长视频处理中的计算冗余和记忆遗忘问题,在资源有限的单卡(H100)上实现了超过 3 小时的平稳、实时的视频解说能力。同时,作者开源的 Inf-Streams 数据集和评测基准为要求秒级对齐的长视频理解设立了新标准。这项工作为 VLM 在机器人、自动驾驶、实时 AI 助手等真实场景中的大规模落地铺平了道路。