Back

流式视频理解 VLM 精读①:主动交互——模型到底应该何时开口?

|0 次阅读|
技术多模态
|

这是「流式视频理解 VLM 精读」系列第 1 篇。上一篇是领域地图,这篇扎进最核心也最微妙的问题:流式视频模型凭什么决定自己"该不该开口、什么时候开口"?

一个看似简单、实则很难的问题

人陪你看球赛,进球时会喊"进了!",但不会每分钟都喊。这份"何时说话"的直觉,对 VLM 而言是巨大的挑战——它不是一个"会与不会"的问题,而是"恰到好处"的问题:

  • 说得太勤:噪音,讨人嫌,浪费算力;
  • 说得太晚:事件已经过去,成了"马后炮";
  • 说错时机:人家正安静看的时候你插嘴,打断体验。

我在 第 0 篇 提到过,这个挑战是从 VideoLLM-online 开始被系统性攻克的。本仓库把"主动开口"的技术方案分成了 6 条路线,从"加个头"到"用强化学习",我逐一拆解。

路线一:辅助回应头(Auxiliary Response Head)

思路:不动主模型,额外训练一个小分类器,在模型解码的中途(或某个 token 的 embedding 上)判断"该回应 / 继续沉默"。

  • StreamBridge(Apple,2025.05):引入 <ACT> token + 一个二分类得分头——模型生成了 <ACT> 就表示"激活开口"。关键设计是把它放在解码早期预测,避免算出完整回答才能决定要不要开口。
  • StreamMind(2025.03):叫 Cognition Gate Network——从 LLM 的浅层转移出的一个小网络,直接做 </response>/</silence> 二分类,用低级语义快速判断。
  • Dispider(2025.01):解耦为感知、决策、反应三阶段,用 <TODO> token 的 embedding 做二分类(BCE loss),配合 <ANS> 标记历史、<SILENT> 在反应阶段做过滤。
  • ViSpeak(2025.03):对 <seg> token 接一个 informative head,专用于"视觉指令反馈"。

优点:改动小、可复用现成模型、训练廉价、决策快(早期就能判)。 缺点:分类头是"额外监督",和主模型的语义不一定完全对齐;边界情况(模棱两可的时机)容易误判;需要额外拿解码层做归约,工程上略绕。

路线二:生成式触发 Token(Generative Token-based Trigger)

思路:让主模型自己在输出序列里生成一个特殊开口/沉默 token,看到它就触发开口。核心是"把开口变成一个生成目标"。

  • VideoLLM-online(2024.06):流式 EOS token 预测。模型在生成过程中学会在哪输出结束符——结束即"开完口",自然实现了边看边回答问题。这是整条路线的开山鼻祖。
  • Streaming Video Instruction Tuning / Streamo(2025.12):把沉默/待命/回应做成三态 token(</Silence>、</Standby>、</Response>),用统一 next-token prediction 训练,并用 Focal Loss 处理"沉默占绝大多数、回应稀少"的正负样本极端失衡。
  • AURA(2026.04):统一的 <|silent|> token 表示"静静观察",支持实时QA / 主动QA / 多轮QA,配 Silent-Speech Balanced Loss 平衡静默与开口。
  • STRIDE(2026.03):把"何时开口"建模成序列去噪——激活 token 上做 0/1/[M] 去噪,加序列复制与选择性重掩码,缓解训练时开口信号稀疏的问题。
  • 还有针对场景的:FitCoach(2024.07,健身教练,<next>/<feedback> 动作token)、AssistPDA(2025.03,监控告警,带任务自适应阈值的 EOS 预测)、ProAssist(2025.06,第一视角,逐帧 [EOS] 沉默预测)、LION-FS(2025.03,快慢双路)。

优点:和主模型完全对齐、无需额外头、能力可随模型一起扩展。 缺点:类别极端不平衡(沉默远超开口)是个顽疾;开口决策与内容生成耦合,可能为了"说点什么"而牺牲了"不说"的能力。

路线三:RL 优化主动响应(RL-optimized Proactive Response)

思路:不靠人工设计触发信号,直接用强化学习把"何时开口"作为优化目标——说得准、说得及时、说得对就是奖励。

  • StreamPro(2026.05):两阶段训练——SFT 阶段用 CB-Stream loss 学开口偏好,再用 GRPO 结合 turn-level 和 trajectory-level 奖励调优。
  • Thinking in Streaming Video / ThinkStream(2026.03):流式 RLVR——reward 同时考虑格式(用了 <silent>/<response> 动作token)、时机(是不是对的时间)、准确性三方面。
  • MMDuet2(2025.12):多目标 GRPO,其中包含 PAUC(precise action under cost)、Replication、In-Span、Prefix 等多项 reward,学会"该不该回"这种文本到文本的"NO REPLY"决策。

优点:决策不再靠手工启发式,能真正学到"恰到好处"的边界;与"推理+RL"的大趋势一致。 缺点:RL 训练成本高、调奖励权重脆弱、冷启动要依赖 SFT 先教会基本行为。

路线四:免训练 / 特征触发(Training-free / Feature-based)

思路:不训练,用相似度、场景图、验证解码等启发式在推理时决定触发。

  • Foresight(2026.10):训练无关的 Siamese 冻结 Qwen3-VL-8B,两个共享 KV-cache 的实例一个"看"一个"规划"——决定何时推理、检查什么、按什么 FPS 采样。免训练 + 共享 KV-cache 极具工程吸引力。
  • LiveStarPro(2026.06):推理时 Streaming Verification Decoding(SVeD)——边解码边验证,用验证结果决定回应还是继续沉默。
  • Response-G1(2026.05):显式建模场景图,用查询引导的场景图证据做检索增强触发,免微调。

优点:零训练成本、即插即用、可作用于任何现成模型。 缺点:启发式上限有限,复杂时序事件下不如学习式方法准;需要精心设计特征或检索。

路线五:混合触发框架(Hybrid Trigger)

思路:把"免训练"和"训练式"结合,取长补短。

  • StreamingClaw(2026.03):免训练的 Reminder 节点负责低成本的持续监控,训练式的场景相关触发 token 负责高置信度开口——一个"快通道 + 准通道"的混合。

优点:兼顾速度与准确度。 缺点:系统复杂度上升,两个通道的协同阈值要调。

路线六:学习回应时机(Learned Response Timing,Agent 化)

思路:更进一步——用 Agent 式的"就绪头" 主动决定推迟/立即响应,等到证据足够再开口。

  • R3-Streaming Readiness Head(2026.05):产出 <Routine> 把响应推迟,直到足够证据到达再回复。
  • Progressive Online Video Understanding(2026.04):Active Thinking Decision Maker 基于 progress/confidence 决定"继续看 / 现在答",回答附带置信度,透明可解释。
  • EgoSpeak(2025.02):第一视角独立的三分类器(背景/自己/别人)逐帧预测"是否轮到我说话",还能做前瞻性预测。

优点:从"要不要开口"升级到"要不要再等等"——更接近人类的交谈节奏,可解释性强。 缺点:决策链更长,延迟更高,需要权衡"等太久"的风险。

六条路线怎么选?(对比与建议)

路线 新增训练 决策速度 复杂度 适合场景
辅助回应头 小头 快(早期预测) 低 复用一个训练好的大模型快速联动
生成式触发token 全模型 中 中 从零训练一个"会自发言"的模型
RL 优化 全模型+RL 中 高 追求"恰到好处"、能负担训练成本
免训练触发 无 快 低 预算有限、快速搭原型
混合触发 部分 快+准 高 生产系统,求稳
学习时机(Agent化) 小头 较慢 中 高价值场景(指挥、导师、教练)

关键权衡:核心是 "决策质量和发声成本" 之间的平衡。能负担全量训练就选 token/RL 路线;要快速联动现成模型就选辅助头或免训练。

待办 / 观察

  • 主动交互的下一步是与"边看边想"(本系列第 4 篇)结合——不是"决定开口就立刻说",而是"决定开口后先想一下再说"。
  • 开口质量目前仍主要靠 benchmark 里的 Timeliness 指标衡度,但"何时该保持沉默"的反面评价仍偏弱(见第 5 篇评测篇)。
  • 未来方向:多智能体回合(多个 dot 式的 agent 协同决定谁开口)。

资源索引(Paper / Code / Demo)

工作 Paper Code Demo
StreamBridge 2505.05467 apple/ml-streambridge —
StreamMind 2503.06220 xinding-sys/StreamMind —
Dispider 2501.03218 Mark12Ding/Dispider —
ViSpeak 2503.12769 HumanMLLM/ViSpeak —
MMDuet(When to Speak) 2411.17991 yellow-binary-tree/mmduet —
VideoLLM-online 2406.11816 showlab/videollm-online —
Streamo(Streaming Video Instruction Tuning) 2512.21334 maifoundations/Streamo —
AURA 2604.04184 aurateam2026/AURA —
STRIDE 2603.27593 interlive-team/STRIDE —
FitCoach 2407.08101 Qualcomm-AI-research/FitCoach —
AssistPDA 2503.21904 — —
ProAssist 2506.05904 pro-assist/ProAssist —
LION-FS 2503.03663 JiuTian-VL/LION-FS —
StreamPro 2605.16381 — —
ThinkStream 2603.12938 johncaged/ThinkStream —
MMDuet2 2512.06810 yellow-binary-tree/MMDuet2 —
Foresight 2610.03123 thenaivekid/foresight —
LiveStarPro 2606.17798 sotayang/LiveStar —
Response-G1 2605.07575 — —
StreamingClaw 2603.22120 — —
Agentic Control(R3) 2605.17921 — —
Progressive Online 2604.18459 — —
EgoSpeak 2502.14892 jun297/EgoSpeak —

下一篇进入长时记忆:视频无限流,模型怎么做到"几个小时前的事还记得"?

评论