你有没有试过一边看直播一边回答弹幕问题?主播要同时做三件事:盯着当下画面、记住之前发生了什么、在合适的时候开口说话。这件事对人类来说不难,但对AI来说,这三件事放在一起做,难度直接起飞。
这正是streaming video LLM(流式视频大模型,指能够实时处理连续视频流并即时响应的AI模型,区别于只能处理已录制完整视频的离线模型)面临的核心困境。想象一个安防摄像头系统,它需要一直盯着监控画面看,可能前五分钟进来一个可疑的人,当时系统觉得没什么异常就没记下来,结果十分钟后这个人干了坏事,系统却因为"忘记"了那个人的长相而无法及时报警。这不是技术八卦,这是真实存在的工程难题:模型不知道哪些观察到的东西未来会有用,但又不能把所有东西都塞进有限的记忆里。
这篇论文的研究团队给出了一个挺巧妙的解法,叫OneStreamer。它来自南京大学、上海AI实验室、京东等多家机构的联合团队,核心想法是让AI在看视频的同时,自己主动把重要信息写成文字记录下来,这样既不占用宝贵的"眼睛"(视觉处理资源),又能在未来需要的时候拿出来用。
为什么"记忆"和"实时反应"会互相打架
先说说这个问题到底有多棘手。
目前主流的做法分成两派。一派是把历史视觉画面全部留着,这样记忆是完整的,但代价是显存爆炸,而且太多历史画面会"稀释"模型对当前画面的关注力,导致实时反应变差。另一派是只留最近的画面,内存占用小、反应快,但稍微早一点的事情就直接被冲掉了,完全没有记忆可言。
论文里做了个对比实验很说明问题:在OVOBench(一个评测在线视频理解能力的基准测试,专门考察模型在直播场景下的回溯、实时感知等多项能力)的Backward任务上,保留全部历史画面的模型,ASI(一种考察模型对历史事件状态理解准确度的评测指标)得分是67.6,而只保留最近16帧画面的模型只有63.5分,差了4个百分点。但反过来看实时反应能力,只保留最近画面的模型StreamingBench Real-Time(一个专注评测模型实时响应准确率的基准)得分能到80.9,保留全部历史的模型却只有70.9,差了整整10个点。
这就像你让一个人同时读十本书还要随时回答关于最新一页内容的问题。如果他把十本书全摊开在桌上盯着看,他会分心,回答不好"最新一页"的问题。但如果他只看最新一页,之前九本书的内容他就彻底忘了。两种做法都有明显的代价,没有免费的午餐。
OneStreamer的解法是,让模型一边看一边"做笔记",笔记写完之后原始画面就可以扔掉了,但笔记留着。这样既不用把十本书摊开,又不会真的把内容忘光。
分层记录:粗细搭配的记忆笔记本
OneStreamer的核心设计叫PHCM
PHCM(Proactive Hierarchical Caption Memory,主动分层字幕记忆,论文提出的核心记忆机制,让模型主动生成带时间戳的文字记录来补充视觉记忆)
它让模型在观看视频流的过程中,主动生成两种粒度的文字记录。一种叫</Observe>,记录细节,比如"黄色桌子上有本蓝色的书"这种具体到物体、动作、场景变化的描述,时间跨度短。另一种叫</Summary>,记录完成的事件或片段的整体概括,比如"摄像机穿过了楼梯顶端和走廊",粒度更粗,间隔更长。
这两种记录分别对应的是你平时记笔记的两种方式。想象你在开一场冗长的会议,如果你只记关键结论,等到两周后有人问起某个具体数字你肯定想不起来,因为当时你压根没记。但如果你把每一句话都原文誊抄,笔记本会厚到没法翻,而且重点反而被淹没了。真正有效的做法是,当场记下关键细节的速记,同时在每个议题结束时再写一句话总结。OneStreamer干的就是这件事,细节笔记保证后续被问到具体问题时有据可查,总结笔记保证模型能把握整体脉络。
实验结果证实了这个设计的价值。论文做了消融实验,在OVOBench-Backward任务上,只用FIFO(先进先出,这里指只保留最近N帧视觉画面的滑动窗口机制,旧画面会被新画面挤出去)滑动窗口而不保留生成的记录时,ASI得分是63.5,EPM(评测模型对事件发生顺序、位置等信息掌握程度的指标)是62.0。一旦启用PHCM把生成的记录保留下来,ASI直接跳到71.6,提升了8.1个百分点,EPM也小幅提升到62.6。
更有意思的是,PHCM不是简单地在"全保留"和"只留最近"之间找个折中点,而是在两个维度上都超过了各自的强项。用同样大小的最近16帧窗口,PHCM把实时感知分数从80.9提到81.4,同时在ASI指标上比保留全部历史的方案还要高出4个点(71.6对67.6)。
这意味着什么?
意味着那种"鱼与熊掌不可兼得"的直觉在这里被打破了。如果一直以为记忆和实时反应必然互相牺牲,这组数据会让你重新思考,问题的关键也许不在于"留多少",而在于"以什么形式留"。视觉特征这种原始数据占内存大又互相干扰,文字记录轻便且信息密度高,这才是真正的突破口。
效率这块也值得说一下。论文测了一个360秒的视频样本,保留完整视觉历史需要62094个上下文token,显存占用25.18GB,首次响应要等4.56秒。而PHCM只需要4308个token,显存9.98GB,响应时间0.124秒,比完整保留方案快了36倍还多。相比只用FIFO窗口的方案,PHCM只多花了0.03秒和0.29GB显存,这个代价几乎可以忽略。
学会何时该说话:状态token的取舍难题
光有记忆还不够,模型还得知道什么时候该开口。
这里引出第二个核心设计,PSTL
PSTL(Proactive State Transition Learning,主动状态转换学习,论文提出的训练策略,用来解决控制token监督失衡的问题)
模型在运行时会不断输出几种控制状态,比如</Silence>表示继续观察不说话,</Standby>表示相关证据正在出现但还不够充分,</Response>表示现在可以给出回应了。问题在于,训练数据里绝大多数时刻模型都应该保持沉默,真正需要输出回应的时刻非常稀少。如果用常规的交叉熵损失平等对待所有这些状态标签,模型会被海量的"沉默"样本带偏,学会的主要是"大部分时候别说话",而不是精准判断"什么时候该说话"。
这就像一个班级里有一个学生总是举手发言,另外四十九个学生从不举手。如果老师批改作业时,对每个学生的"不举手"行为都打一个分,那这个评分体系最后学到的东西就是"保持沉默是常态",而真正值得关注的"举手时机判断得对不对"反而被淹没在海量的沉默样本里。PSTL的做法是,不再对每一次"不举手"都打分,而是只挑出一部分具有代表性的沉默样本,加上全部的"举手"样本,用这个经过筛选的集合来训练。
具体的做法是,论文定义了每个任务里的"输出锚点",也就是真正触发文本生成的那些控制状态,比如</Observe>、</Summary>或</Response>。系统会统计每一种状态转换出现的次数,找出转向输出锚点次数最多的那一组,把这个数字作为"配额"。配额以内的转换全部保留监督信号,超过配额的转换组则随机抽样到配额数量为止。被排除的状态token依然留在因果序列里,只是不参与损失计算,不影响其他文本的正常训练。
效果上,论文对比了几种状态监督策略。全部用交叉熵损失监督所有状态token,在ProactiveVQA(一个考察模型主动问答能力的基准)上只能拿到26.1分。换成频率平衡的focal loss,分数跳到47.0,说明标签失衡确实是个大问题。但PSTL只用27.5%的标注状态token进行监督,反而拿到了48.7分,在OmniMMI上是36.6分,在OVO-Timing(专门评测响应时机准确性的基准,用F1分数衡量)上是41.6分,三项全部是对比方案里的最高分。
论文还做了个对照实验,叫Random Sparse,就是随机选27.5%的状态token来监督,结果只有26.6分,远远不如PSTL。这说明PSTL的优势不是因为"少监督"这件事本身,而是因为它挑选的那些样本确实更有代表性,既包含了状态转变的关键时刻,也包含了状态持续不变的典型情况。
数据从哪来:一套自动化的流水线
光有好的架构不够,训练数据的质量同样关键。论文团队发现,现成的开源流式视频数据存在一个普遍问题,就是时间戳标注得不准。
有些数据集的问答对应答时间设置得太早,模型还没看到足够的证据就被要求回答,这样训练出来的模型容易瞎编乱猜。另一些数据集又设置得太晚,证据明明已经足够了,却非要等到整个事件片段结束才给答案,这样的模型反应会很迟钝。
为了解决这个问题,团队搭了一套数据合成流水线,分成字幕合成和问答合成两条分支。
字幕合成这条线分三步。先做视频筛选,用语义检索、镜头切分、画面丰富度评估,挑出那些视觉变化明显、事件内容丰富的视频,同时剔除画面质量差、长时间静止、黑屏或者解码出错的视频。接着用Gemini和Seed(两款闭源多模态大模型,被用作标注工具)生成多粒度的字幕,从片段级的局部描述,到段落级的事件总结,再到全片级的整体概括,每一层都会反过来核对原始视频,确保内容真实且时间对齐没问题。最后一步是把这些核验过的标注转换成因果序列,局部字幕在它对应的观察区间结束后才释放,段落总结在事件完整结束后才释放,全片概括则放在整个视频流结束后,作为回应用户"总结全片"指令的答案。
问答合成这条线则遵循一个简单原则:只要证据足够支撑答案,就尽量把回答时间提前。具体操作是先用多模态大模型粗定位出包含证据的时间区间,再用另一个模型单独验证这个区间里的内容是否真的足以回答问题。确认区间有效后,再在区间内部用滑动窗口逐秒评估,推理类问题通过计算参考答案在不同时间窗口下的条件概率来打分,感知类问题则通过视觉文本相似度打分,最终选出满足可靠性标准的最早时间点作为校准后的回答时间。
这套流程带来的效果是,平均把回答时间提前了13.72秒,86.62%的样本都获得了更早的回应时机。最终,这些合成数据和清洗过的开源数据组合在一起,形成了OneStreamer-1M这个超过一百万条记录的训练集,覆盖了状态追踪、动作预测、主动提醒、主动计数等多种任务类型。
成绩单:八个基准测试全部拿下
说了这么多设计思路,实际效果到底怎么样?
论文用一个仅有4B参数(40亿参数,相比目前主流的70B、100B级别的大模型,这个尺寸属于轻量级)的模型在八个评测基准上全部拿到了对比方法中的最高分。
在考察感知和记忆能力的四个基准上,OneStreamer在OVOBench拿到72.1分,StreamingBench实时得分86.9,OVBench 66.8分,ODVBench 71.3分。对比同样是4B参数规模的基线模型Qwen3-VL,分别高出13.3、5.1、11.4和13.7个百分点。就算对比参数量接近它三倍的11B模型MOSS-VL-Realtime,OneStreamer也依然领先1.9到13.1个百分点不等。
在主动响应能力的四个基准上,表现同样亮眼。ProactiveVQA得分48.7,OmniMMI得分36.6,OVO-Timing得分41.6,ViSpeak得分2.87(满分制评分),全部是对比方案里最好的成绩。
如果把这些数字换算成直观感受,大概是这样:论文摘要里提到,相比Qwen3-VL基线,平均相对提升达到25.0%,相比每个基准测试上表现最好的竞争方法,平均也领先6.1%。这个差距放在实际场景里,意味着一个使用OneStreamer的直播助手或者安防监控系统,平均每四到五次判断,就能多做对一次是竞品可能做错的。
论文里还有一个挺生动的例子。研究团队给模型放了一段室内漫游视频,用户先问"我的孩子可以去哪里看书",模型早在00:07就记录了"门上挂着花环"这类细节信息,但随着镜头继续移动,那几帧画面早就被挤出了最近窗口。等到01:47用户真正提问时,模型靠着之前写下的笔记,准确回答出"楼上那张小黄桌",而不是因为画面消失就一问三不知。
另一个例子是主动计数场景,模型需要数清楚视频里"撕东西"这个动作出现了几次。它在没有新证据出现的时间段里保持沉默,每当新证据支持更新计数,就立刻输出,从1一路数到4,每次更新都卡在证据刚好出现的那一刻,既不提前瞎猜,也不拖延迟到。
不过论文也坦诚地展示了一个失败案例。模型被要求描述打印机上正在进行的操作,在00:10时输出"一个人正在合上打印机",但实际画面显示的是盖子被打开露出打印机内部。随后的几帧画面已经清楚显示打印机处于打开状态,模型却继续输出沉默,没有纠正之前的错误描述。这说明物体状态变化的精确理解,以及发现早期回答出错后主动纠正,仍然是这类系统需要继续打磨的方向。
Q&A
Q1:OneStreamer是什么?
A:OneStreamer是一个流式视频大模型,核心能力是让AI在观看实时视频流的同时,主动生成文字记录作为可复用的记忆,并在合适的时机给出回应,4B参数规模在八个流式视频理解基准测试上都拿到了最佳成绩。
Q2:OneStreamer如何解决记忆和实时感知互相冲突的问题?
A:它提出PHCM机制,让模型用文字记录代替原始画面来保存历史信息,细节描述搭配事件总结两种粒度,这样既不占用大量显存和计算资源,又能在后续被问到历史问题时调取出来,实验显示这种方式同时提升了历史问答准确率和实时反应速度。
Q3:PSTL解决了什么问题?
A:PSTL解决的是训练数据中"沉默"状态样本远多于"该说话"样本导致的监督失衡问题,它只保留全部输出触发时刻的监督信号,并挑选有代表性的状态转变和状态持续样本,只用27.5%的标注数据就超过了全量监督的效果。







