Harnessing Streaming Video in the Wild¶
会议: NeurIPS 2026
arXiv: 2606.08615
代码: https://github.com/yaodingyu/StreamingHarness
领域: 视频理解
关键词: 流式视频理解, 视觉语言模型, 主动交互, 长程记忆, 实时推理
一句话总结¶
本文提出了覆盖模型、推理框架与评测基准的全栈解决方案,构建了 248K 逐秒对齐的流式多轮数据集与非对称训练损失,打造了支持 12 小时上下文与秒级时延的三层记忆与前缀缓存推理框架 StreamingHarness,并在兼顾准确性与及时性的 Streaming-Eval 上刷新最佳表现。
研究背景与动机¶
视觉语言模型(VLM)在离线视频理解任务(如视频问答、时间定位、长视频描述)中取得了瞩目进展,但这套范式依赖于一个根本假设:模型能够预先感知整段离线视频并输出单次静态回答。然而在视频通话助手、体育赛事现场解说、实时在线安防与具身机器人等真实场景中,视频是以无限流式的方式逐秒到达的。模型不仅无法预知未来帧,还必须在严苛的延迟限制下仅依赖历史观测进行因果推理。
要实现实用的流式视频智能,系统必须同时兼备四项核心能力:通用的流式理解底座、自主决定发声与沉默的主动交互能力、支撑数小时历史追溯的长程记忆能力,以及保证输出与输入帧时间对齐的实时低延迟推理。现有方法往往顾此失彼:滑动窗口机制虽然限制了计算复杂度,但丢弃了远期记忆;专有外部记忆或 token 剪枝方案往往破坏连续前缀结构,无法兼容现代高性能推理引擎(如 vLLM、SGLang)的前缀缓存优化,导致秒级响应不可行;而主流基准测试大多退化为离线式单轮问答,无法评估延后回答、跨轮状态依赖以及主动沉默等流式特质。
针对上述多重困境,本文从全栈角度出发,同时打通模型训练、推理系统架构与评测基准三道关卡。核心 idea:通过构建逐秒控制对齐的 Streaming-Train-248K 数据集与非对称控制损失训练流式原生 VLM,设计解耦短/中/长期的三级记忆分层与前缀感知 KV 缓存推理框架 StreamingHarness,并提出联合评估准确性与及时性的双轴基准 Streaming-Eval。
方法详解¶
整体框架¶
StreamingHarness 的核心目标是将任意离线 VLM 转变为具备主动交互、12 小时长程记忆与亚秒级响应的生产级流式系统。整个运行流程按时钟节拍(默认 1 FPS)推进,包含在线感知决策与异步记忆整合两条并行主线。
在前台推理主线中,系统每秒接收新的一秒视频切片与潜在的用户文本提问,将其与当前活跃块(Chunk)的上下文拼接。模型在每个时间步判断是主动输出文字回答还是输出静默控制标记;当需要回答时立即生成流式文本,否则保持静默并监听下一秒。在后台记忆主线中,系统维护一个三层渐进式记忆金字塔:短期视讯缓冲池直接保存未经压缩的视觉 token;当短期缓冲填满后,触发中期记忆智能体将像素帧凝练为富含语义与物体时序演变的紧凑文本摘要;累积多个中期摘要后,进一步由长期记忆智能体进行去重整合并构建全局因果时间线。所有历史记忆以 Memory Text 的形式转化为前缀 KV Cache 并在块内全量复用,确保首字延迟与总延迟稳定在 1 秒以内。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
In["输入流式视频帧 (1 FPS) + 用户提问"] --> Mainline["在线 VLM 逐秒前向推理"]
subgraph MemTier["三级渐进式记忆管理架构"]
direction TB
Short["短期记忆<br/>保留最近 Ts 秒原始视觉 Token"] -->|缓冲填满| Mid["中期记忆智能体<br/>离线凝练为事件文本摘要"]
Mid -->|累积 M 个摘要| Long["长期记忆智能体<br/>全局因果去重与时序时间线"]
end
MemTier -->|块起点一次性 Prefill| PrefixKV["前缀感知 KV 缓存复用"]
PrefixKV --> Mainline
Mainline --> Trig["事件驱动响应触发机制"]
Trig -->|信息不足/关键事件未发生| Sil["输出 </silence> 继续监听"]
Trig -->|证据充分/观测到关键事件| Resp["输出 </response> 即时流式回答"]
关键设计¶
1. 三级记忆分层管理:在有限显存预算下实现 12 小时长程覆盖 无界流式视频如果保留所有视觉 token,显存占用与注意力计算开销将在数分钟内爆炸,而传统的简单滑动窗口会造成历史事实的彻底遗忘。为此,StreamingHarness 设计了短、中、长三级金字塔记忆机制。短期记忆保留最近 \(T_s\) 秒(默认 200 秒)的原始视觉 token,以保留细节最丰富、未经有损压缩的近景感知;当中期记忆智能体检测到短期缓冲区写满后,将该 \(T_s\) 秒的视觉序列异步总结为包含逐帧语义、关键实体与状态转移的文字摘要(Mid-term Memory Text),以文本 token 替代视觉 token 实现高倍率空间压缩,能够容纳 \(M\) 个摘要(覆盖 \(T_m = M \cdot T_s\) 秒,默认 1,000 秒);当累积满 \(M\) 个中期摘要后,长期记忆智能体异步启动,剔除跨段冗余并合并因果链条,归纳为长期事件块(Long-term Block),最多保留 \(L\) 个块(覆盖 \(T_l = L \cdot M \cdot T_s\) 秒,默认 42,000 秒,结合先进先出 FIFO 驱逐机制)。整套金字塔结构的总时间跨度由下式决定:
在默认参数配置下(\(T_s=200\text{ s}, M=5, L=42\)),系统上下文覆盖时长达到约 12.05 小时。更重要的是,中长期记忆智能体的提炼与整合操作完全在后台异步执行,运算开销被主流推理管线完全掩盖。
2. 前缀感知 KV Cache 复用:打通现代推理引擎以保持亚秒级时延 流式系统必须保证在当前秒结束前完成该帧的处理与应答,否则推理延迟会随时间线性累积导致系统雪崩。虽然滑动窗口与稀疏 token 剪枝能够控制序列长度,但由于它们在每一秒的注意力窗口或保留 token 位置动态变化,使得每一步请求的提示前缀均不相同,彻底破坏了现代引擎(如 vLLM、SGLang)的 Prefix Caching 特性,导致每一秒都需要对几千到上万 token 进行完整的重计算 Prefill,端到端延迟普遍高达 3~4 秒。StreamingHarness 围绕前缀不可变性重构了推理上下文排布:在一个固定块(Chunk)的周期开始时,系统将三级记忆合并生成的 Memory Text 作为静态系统前缀,仅执行一次 Prefill 并固化其 KV Cache;随后在该块内的每一秒交互中,仅将新到来的当前帧与上一秒模型回复追加在序列尾部。由于整块共享完全相同的历史 Memory Text 前缀,推理引擎只需增量计算新追加 token 的 KV 状态,避免了冗余的重复前缀计算,将首字延迟(TTFT)大幅削减至 1 秒以内。
3. 事件驱动的主动响应与流式评测指标:平衡回答质量与发声时机 在流式交互中,模型不能像离线问答那样假设「问题被提出即意味着答案当前可见」。针对没有经过流式微调的通用 VLM,StreamingHarness 构建了四阶段状态机(提问接入、逐秒研判、及时响应、恢复监控)与专用系统提示,引导模型评估当前证据是否充分:若事件仍在发生或尚未出现,则强制抑制幻觉并延后回答。对于构建流式评测标准,传统单轮问答指标不仅无法区分「过早瞎猜」与「过晚滞后」,还会被「每秒都抢答」的作弊策略刷高召回率。为此,论文提出了联合衡量准确率与时效性的流式加权 F1 指标(Streaming Weighted F1, SW-F1):
其中,真实标注为时间窗口 \(W\)。若预测落在 \(W\) 内且内容匹配则计为真正例(TP);在 \(W\) 之外的任意多余非沉默预测均记为假正例(FP);而在 \(W\) 内完全未给出有效回答则记为假反例(FN)。通过设定权重 \(w_{\text{TP}} = 2.0, w_{\text{FN}} = 2.0, w_{\text{FP}} = 0.2\),指标在重度惩罚漏答和答错的同时,适度抑制持续输出答案的刷分策略。
损失函数 / 训练策略¶
在连续无界视频中,绝大多数秒数均处于无需回答的静默状态,模型输出序列中的静默控制标记 </silence> 数量远远超过实质性回答标记 </response>。若采用均等交叉熵损失微调,梯度流会被海量的连贯静默 token 淹没,导致模型陷入过度沉默(Silence Bias),丧失对关键事件的主动触发敏感度。
为解决正负样本极度不平衡问题,论文设计了控制标记感知的位置加权交叉熵损失。令 \(\mathcal{A}\) 为监督的 Assistant token 位置集合,\(\mathcal{C} = \{c_i\}_{i=1}^M \subseteq \mathcal{A}\) 为控制标记子序列,其取值 \(y_{c_i} \in \{\texttt{</silence>}, \texttt{</response>}\}\)。对每个监督位置 \(j \in \mathcal{A}\),其损失权重定义为:
训练中采用 \(w_{\text{silence}}^{\text{first}} = 1.0\) 保证对静默起点的正常监督,\(w_{\text{silence}}^{\text{repeated}} = 0.8 < 1.0\) 压制连续重复静默的梯度贡献,同时设置 \(w_{\text{response}} = 1.5 > 1.0\) 增强模型在关键事件爆发时从静默跃迁到回答的发声动力。总体优化目标按监督 token 总数归一化:
训练基于 Qwen3-VL-8B-Instruct 底座,冻结 Vision Encoder,全量微调 Connector 与 LLM 参数。输入视频统一按 1 FPS 采样,单帧最大像素 131,072,上下文窗口为 48K,学习率 \(1 \times 10^{-5}\),耗费约 4,096 H200 GPU 时。
实验关键数据¶
主实验¶
主实验在 Streaming-Eval 上评测流式问答任务,涵盖不变事实(Answer Invariant:Backward / Present / Forward)以及变动事实(Answer Variant:客观事实变更 OFC、带问题依赖的提问变更 OC w/ IQD、无问题依赖的提问变更 OC w/o IQD),对比采用统一流式框架包装(\(\dagger\))的各大模型:
| 模型 | Backward | Present | Forward | OFC | OC w/ IQD | OC w/o IQD | Avg. SW-F1 |
|---|---|---|---|---|---|---|---|
| Claude Opus 4.6 Thinking \(\dagger\) | 12.5 | 6.1 | 10.3 | 8.6 | 11.1 | 8.4 | 9.5 |
| GPT 5.4 (High) \(\dagger\) | 26.0 | 17.4 | 15.1 | 9.9 | 20.2 | 21.0 | 18.3 |
| Gemini 3.1 Pro (High) \(\dagger\) | 17.0 | 8.2 | 16.9 | 11.9 | 14.7 | 14.2 | 13.8 |
| Doubao Seed 2.0 Pro \(\dagger\) | 14.6 | 9.7 | 17.9 | 13.2 | 13.1 | 11.3 | 13.3 |
| Qwen3-VL-8B \(\dagger\) | 16.2 | 5.7 | 13.7 | 7.0 | 10.2 | 12.0 | 10.8 |
| Qwen3-VL-32B \(\dagger\) | 17.0 | 8.0 | 15.2 | 6.8 | 10.4 | 13.8 | 11.9 |
| Qwen3.5-VL-9B (Thinking) \(\dagger\) | 0.0 | 0.0 | 0.1 | 0.0 | 0.2 | 0.3 | 0.1 |
| StreamingHarness-8B \(\dagger\) | 54.2 | 21.0 | 48.9 | 32.5 | 61.9 | 56.3 | 45.8 |
在解说质量胜率主实验(LiveSports3K-CC,通过 Claude Sonnet 4.6 双向盲评胜率)中,各模型相较闭源 SOTA 的综合平均胜率如下: - StreamingHarness-8B \(\dagger\): 61.4%(对 Doubao 71.5%,对 Claude Opus 4.6 65.0%,对 GPT 5.4 65.0%) - GPT 5.4 (High) \(\dagger\): 31.8% - Claude Opus 4.6 Thinking \(\dagger\): 15.3% - Gemini 3.1 Pro (High) \(\dagger\): 59.1% - Doubao Seed 2.0 Pro \(\dagger\): 12.0% - Qwen3-VL-8B \(\dagger\): 3.6%
消融实验¶
针对连续静默损失权重 \(w_{\text{silence}}^{\text{repeated}}\) 与 StreamingHarness 记忆组件的消融结果如下表所示:
| 配置 | 问答 Avg. SW-F1 | 解说平均胜率 (%) | 说明 |
|---|---|---|---|
| 损失消融: \(w_{\text{silence}}^{\text{repeated}} = 0.8\) (本文默认) | 45.8 | 61.4 | 平衡静默偏置与主动触发时机 |
| 损失消融: \(w_{\text{silence}}^{\text{repeated}} = 0.5\) | 42.1 | 54.3 | 对连续静默惩罚较轻,偶发抢答与误触发增加 |
| 损失消融: \(w_{\text{silence}}^{\text{repeated}} = 0.2\) | 37.8 | 46.2 | 过度压低静默权重导致模型过于喧闹多言 |
| 框架消融: GPT 5.4 w/ StreamingHarness | 26.0 | - | Backward 远期历史证据召回得分 |
| 框架消融: GPT 5.4 w/o StreamingHarness | 8.4 | - | 仅保留最近 \(T_s\) 秒视觉,远期历史全部丢失 |
| 框架消融: Claude Opus 4.6 w/ StreamingHarness | 12.5 | - | 依靠中长期记忆文本挽回远期提问 |
| 框架消融: Claude Opus 4.6 w/o StreamingHarness | 3.1 | - | 无全局记忆模块,远期回顾准确率崩塌 |
关键发现¶
- 流式原生预训练对主动延迟回答起决定性作用:在针对未来发生事件的 Forward 任务上,通用离线模型通常因急于在提问当秒作答而严重失分(均低于 18.0),而经过 Streaming-Train-248K 训练的 StreamingHarness-8B 获得了耐受等待的能力,得分高达 48.9,证明了显式强化
</silence>到</response>状态跳变梯度的必要性。 - 三级记忆是解决 Backward 历史回溯的生命线:消融实验显示,一旦去掉三级记忆智能体、仅依赖滑动窗口,各大顶尖模型在 Backward 任务上的表现出现断崖式下跌(GPT 5.4 从 26.0 暴跌至 8.4),证实了多级文本压缩在超长时域记忆保留中的有效性。
- 前缀不可变性是实现亚秒级流式部署的核心:在 2 小时连续体育直播流测试中,普通滑动窗口因破坏前缀缓存使得每秒延迟稳定在 4 秒左右,彻底超出实时可用阈值;而 StreamingHarness 将首字时延与端到端耗时压制在 0.5~0.8 秒且不随时间漂移。
亮点与洞察¶
- 将无界视频记忆建模为视觉到文本的渐进压缩:直接维护原始视觉 Token 会迅速耗尽 GPU 显存,本文通过短期原图、中期帧事件摘要、长期因果时间线的逐级转化,以极高信息密度突破了单卡处理半天级超长视频的物理极限。
- 前缀友好设计无缝兼容工业级推理引擎:不修改注意力算子、不引入破坏 KV Cache 连续性的局部稀疏 mask,而是从数据流组织上保证 Memory Text 前缀完全静态,使 vLLM 等现代推理加速器得以开箱即用。
- 非对称时序损失破解流式极度非平衡难题:巧用首个静默与连续静默的差异化赋权,在保留模型时空洞察力的同时,消除了由于海量背景静默带来的梯度稀释效应。
局限与展望¶
- 缺失音频多模态联合建模:作者明确指出系统目前局限于视觉-语言输入,缺乏对伴随音频(如赛场解说哨音、人群欢呼、语音交流)的原生理解,这在很多依赖声音事件感知的场景中受限。
- 固定采样帧率在高速场景下的粒度不足:全篇实验默认采用 1 FPS 采样以平衡显存与时域跨度,对于微表情变化、乒乓球羽毛球高速球路追踪等毫秒级高频动作容易发生漏检,动态自适应帧率机制有待未来探索。
相关工作与启发¶
- vs VideoLLM-online / Dispider: VideoLLM-online 早期探索了利用 EOS 或控制 token 进行在线流式交互,Dispider 提出感知、决策、反应解耦的多阶段异步管道;本文优势在于不仅设计了端到端原生控制词,还通过三级记忆架构突破了其只能支持数分钟短序列的局限,拓展到 12 小时级别。
- vs StreamingVLM / TimeChat-Online: StreamingVLM 依赖固定滑动窗口牺牲历史回溯,TimeChat-Online 采用动态 token 剪枝;本文指出此类方案破坏了现代推理框架(vLLM)的 Prefix Caching 特性导致实际端到端时延超标,本文通过前缀静态化的 Memory Text 换取了工业级真实部署能力。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ [构建了首个打通流式原生预训练、12小时三级记忆与vLLM前缀兼容的流式全栈系统]
- 实验充分度: ⭐⭐⭐⭐⭐ [评测涵盖自建 Streaming-Eval 双轴六维任务、真实长视频体育解说及两小时端到端时延硬核测试]
- 写作质量: ⭐⭐⭐⭐⭐ [问题定义明确,图表逻辑严密清晰,动机剖析与系统架构直击工程部署核心痛点]
- 价值: ⭐⭐⭐⭐⭐ [开源 248K 数据集、即插即用推理框架与基准,极大地推动了多模态模型从离线打榜走向在线落地]