MOSS-VL:把实时交互作为一等能力的开源视觉语言模型技术报告 MOSS-VL Technical Report
用门控交叉注意力与轻量实时SFT实现"边看边说"的开源视觉语言模型家族
前置知识
交叉注意力(Cross-Attention)
交叉注意力允许查询(Q)来自一个序列(如文本隐状态),而键(K)与值(V)来自另一个序列(如视觉 token)。Q 与 K 做点积得到注意力权重后对 V 加权求和,让文本侧"按需查阅"视觉信息,而不必把视觉 token 拼进被解码的文本序列本身。
本文的核心架构选择:语言解码器只通过门控交叉注意力访问视觉,视觉 token 永不进入被解码序列。不理解交叉注意力就无法理解 MOSS-VL 为何能"边看边说"且首 token 延迟更低。
零初始化门控(Zero-init Gating)
Flamingo 提出的技巧:在交叉注意力层输出接入残差流处乘以可学习标量 $\tanh(\alpha)$ 并将 $\alpha$ 初始化为 0。训练开始时模型等价于纯语言模型,视觉通路从零逐渐打开,保证语言骨干能力不被早期随机的视觉信号破坏,训练更稳定。
MOSS-VL 的 12 个交叉注意力层全部采用零初始化 tanh 门控,这是它能在 Qwen3-8B 之上叠加视觉能力而不损坏语言底座的机制,也是"架构使行为成为可能"叙事的关键一环。
RoPE 与三维位置编码 XRoPE
旋转位置编码(RoPE)通过对 query/key 的特征维做与相对位置相关的旋转,使注意力得分自然编码相对距离。本文的 XRoPE 将其推广到 $(t,h,w)$ 三轴:文本 token 三轴同步前进,视觉 patch 按帧内行列偏移铺开,64 个旋转频率按 $(24,20,20)$ 分配给三轴。
XRoPE 是作者首创的用于交叉注意力通道的位置编码,让文本流与视觉流共享一条时间线。看懂 Figure 3 和流式场景下帧到达时位置如何衔接,必须先掌握 RoPE 的这一推广。
KV Cache 与流式推理
自回归解码时缓存每层的键值(KV Cache)可避免重复计算历史 token。MOSS-VL 的特别之处:新帧只把自身 patch 的键值追加到交叉注意力缓存,旧帧不重算;被解码的文本序列只增长时间戳与占位符 token,因此流式输入既不打断也不膨胀解码状态。
"边看边说"与推理效率优势都建立在 append-only 交叉注意力缓存之上;不理解 KV Cache 就无法理解 §2.5 的实时机制与 Figure 4 的延迟测量。
Focal Loss 与类别不平衡
Focal Loss 用 $(1-p_i)^\gamma$ 因子下调易分样本权重,使训练聚焦困难样本;逆频率类系数 $\alpha_k$ 平衡各类的名义权重。本文将两者组合用于静默/发言两类状态 token 的监督,并在每个全局 batch 上统计类别数,保证数据并行秩间系数一致。
Realtime-SFT 中静默槽远多于发言决策,均匀权重下模型会退化为永远沉默。不理解这一损失设计,就无法理解模型如何学会"何时开口"这一核心行为。
SFT 与课程学习
监督微调(SFT)在指令-回复对上以交叉熵训练模型跟随指令;课程学习按难度或长度分阶段训练,先短后长、先广后精。本文用四阶段预训练课程(上下文从 8K 扩到 256K)打底,再以一个占总 token 不足 3% 的轻量 Realtime-SFT 阶段注入实时交互行为。
全文的训练叙事完全围绕"强离线底座 + 单一轻量实时末段"展开,Table 4 的课程设计是理解方法主线与算力分配的钥匙。
研究动机
现有开源视觉语言模型几乎都工作在离线范式:给定一段已经结束的视频,模型从头到尾读完再回答问题。但真实场景中的视频助手面对的是正在展开的画面,需要在无人提示时判断何时值得开口,并且开口的同时不能停止观看。近年出现的流式模型(AURA、ViSpeak-7B、MMDuet、VideoChat3 等)虽支持持续输入、刻意沉默与持久查询,但按论文的五级能力划分只到 L2–L4:每条回复生成期间模型是"盲"的,无法在证据变化的第一时间修正或截断自己的回答。此外,主流架构(LLaVA、Qwen-VL 式交错拼接)把视觉 token 直接放入被解码序列,视觉上下文越长,首 token 延迟与端到端延迟增长越快,与实时交互的延迟要求正面冲突。
本文的目标是构建一个把"边看边说"(L5 级实时交互,即生成的同时持续感知)作为一等能力的开源视觉语言模型家族。具体目标分三层:离线形态 MOSS-VL-Instruct 要在同规模开源模型(Qwen3-VL-8B、Qwen2.5-VL-7B、LLaVA-OneVision-2-8B、Gemma-4-12B-IT)中具备竞争力,尤其在时序推理类视频基准上领先;实时形态 MOSS-VL-Realtime 要在 OVO-Bench、OmniMMI、StreamingBench、ProactiveVideoQA 四个流式基准上取得领先,特别是在考验"何时开口"的主动性子集上;推理效率要随视觉上下文增长而缓慢劣化,优于同语言骨干(Qwen3-8B)的交错式架构。最终公开全部五个 checkpoint、完整训练课程与实时推理代码。
与已有工作不同的是,论文的独特切入是全栈协同设计而非单点改进,三条线索互相咬合。架构上,语言解码器只经门控交叉注意力访问视觉,视觉 token 永不进入被解码序列,新帧只需向交叉注意力缓存追加键值,模型天然能在生成时继续感知——架构使行为成为可能。数据上,自合成的交互语料显式监督何时说话、何时沉默、何时修正,弥补现有数据集几乎不覆盖的"等证据出现再答""答案被场景推翻后自我纠正"行为——数据注入行为。训练上,所有实时特有的选择集中在一个不足总训练 token 3% 的轻量末段 Realtime-SFT,语言骨干在零初始化门控之后始终保持完好——策略保证稳定。位置编码层面,作者还首次为视觉语言架构的交叉注意力通道设计了 XRoPE,填补了该通道原本没有位置信息的空白。
核心方法
直觉上,MOSS-VL 把"看"与"说"分成两条独立的 token 流:文本流是解码器逐 token 生成的序列,每帧只向其贡献几个绝对时间戳 token 和一个占位符;一个帧的数百个 patch token 全部留在视觉侧,作为交叉注意力的键值被文本流按需查阅。这样流的到来只是给缓存做追加,生成中的模型下一步就能看到新帧。技术路线上,27 层原生分辨率视觉编码器(初始化自 Qwen3-VL,支持 4,096 到 1,680 万像素)从第 8/16/24 层与末层取特征,经 2×2 空间合并加 MLP 投影到 4096 维;48 层解码器(初始化自 Qwen3-8B)由 36 个自注意力层与 12 个零初始化 tanh 门控交叉注意力层(每 4 层一个,位于第 2,6,…,46 层)组成;XRoPE 把文本与视觉放进共享的 $(t,h,w)$ 三轴坐标,绝对时间戳 token 显式标注真实秒数。训练走四阶段预训练课程(对齐→大规模→高质量→退火与长上下文),再经标准 SFT 得到 Instruct,最后用 Realtime-SFT 得到 Realtime。
核心创新是让"何时说话"变成普通的下一 token 预测。Realtime-SFT 语料按帧到达顺序交织文本,每帧后跟一个决策槽,槽内是 <|silence|>(继续看)、<|response|> 加回复文本(开口),或以 <|silence|> 收尾的回复(说完),只需向词表加入两个状态 token(用语义相近的既有 token 的嵌入初始化),不需要任何专用决策头。与之配套两项设计:一是损失重加权——静默槽远多于发言决策,均匀权重下模型会学会永远沉默,因此对状态 token 施加 focal 因子 $(1-p_i)^2$ 与逆频率类系数 $\alpha_k=(n_s+n_r)/(2n_k)$,使"说"与"不说"两类在状态 token 损失中的聚合权重相等;二是把助手轮末的结束 token 排除出监督,因为在流中轮边界通常意味着用户插话而世界仍在继续,这一单变量对照使发言频率提高 39%、平均回复长度提高 68%。架构侧的本质区别则是视觉 token 不进解码序列,与交错拼接式模型构成正面对比。
方法步骤详情
第一步,视觉语言对齐:冻结视觉编码器与语言模型,只训练投影与交叉注意力层,150.3B token、8K 序列,数据为图像描述与 OCR。第二步,大规模多模态预训练:全模型解冻,203.0B token、64K 上下文,混入图文交错文档与纯文本。第三步,高质量预训练:459.0B token、128K 上下文,加入数学、知识与时序定位数据。第四步,退火与长上下文:450.1B token、256K 上下文,长视频描述/QA/时序定位与高质量退火混合,产出 Base。第五步,标准 SFT:7.6M 样本、102.8B token、128K 上下文,产出 Instruct。第六步,Realtime-SFT:0.56M 样本、34.8B token、256K 上下文,对状态 token 施加 $w_i=\alpha_{y_i}(1-p_i)^2$ 的重加权,产出 Realtime。推理时同一套权重靠共享系统提示词在离线/流式/实时三模式间切换;视频 1–16 fps 自适应采样,评测用 1 fps、至多 768 帧。
技术新颖性
技术新颖性有四点。其一,XRoPE:作者称这是首个为视觉语言架构交叉注意力通道设计的位置编码——文本 token 坐标 $(x,x,x)$ 推进,帧在锚点 $t$ 处按式 (1) $p_{a,b}=(t,t+a,t+b)$ 铺开 patch,帧分隔符与文本流占位符共享坐标,两通道沿单一时间线推进;64 个旋转频率按 $(24,20,20)$ 分给三轴。其二,绝对时间戳 token <|time_start|>X.X seconds<|time_end|> 使真实时间在动态帧率下始终显式。其三,把发言决策完全消解为词表内两个 token 的下一 token 预测:相比 MOSS-Video-Preview 用专门的 interrupt token 标记打断,本轮把被新事件超越的回复改写为自然语言自我纠正,时序锚定逐帧校验,并以质量门保证回复在当时画面中可见。其四,为门控交叉注意力的"每行查询可见前缀"模式扩展 FlashAttention-3:新增 cross_kv_boundary 接口把可见键值前缀编码为 32 位整数,越界 tile 直接剪枝而非掩码,SGLang 集成已合入上游。
实验结果
离线评测覆盖 39 个基准:感知最强,12 行中拿下 5 行,MMBench-EN 88.1、POPE 89.4、V* 89.0 居首,MME-RealWorld 66.3 与 BLINK 78.0 均领先 8.9 分;时序推理集领先——Minerva 40.5、TOMATO 39.5、VideoMME-Logical 17.1;短板为 MMMU 51.1(Qwen3-VL-8B 为 69.6)。流式:MOSS-VL-Realtime 在四基准中三个平均分第一——OVO-Bench 70.2 对 65.3、OmniMMI 32.7 对 25.4、ProactiveVideoQA 47.2 对 42.7,StreamingBench 视觉均值 69.7 居次(AURA 71.1);三个主动性子集全胜——PA 66.0 对 37.5、PO 60.0 对 53.2、FAR 62.1 对 55.8。效率实测(单张 H200):ViT 输出对齐时 TTFT 优势随视觉 token 从 2.8× 扩至 5.1×,端到端从 1.9× 到 4.3×;同视频下承载约 2 倍视觉 token 仍全程领先。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| OmniMMI 主动性告警(PA) | 准确率 | 66.0 | 37.5(AURA / M4 最佳) | +28.5 分 |
| OVO-Bench 平均(FAR/BT/RTVP) | 平均分 | 70.2 | 65.3(AURA) | +4.9 分 |
| OmniMMI 五子集平均 | 平均分 | 32.7 | 25.4(AURA) | +7.3 分 |
| ProactiveVideoQA 平均 | 平均分 | 47.2 | 42.7(MMDuet+rm) | +4.5 分 |
| StreamingBench 视觉均值(RT+CTX) | 平均分 | 69.7 | 71.1(AURA) | -1.4 分(居第二) |
| Minerva 时序推理 | 准确率 | 40.5 | 32.3(Gemma-4-12B-IT) | +8.2 分 |
| TOMATO 时序推理 | 准确率 | 39.5 | 34.6(Qwen3-VL-8B) | +4.9 分 |
| MMMU (val) 推理 | 准确率 | 51.1 | 69.6(Qwen3-VL-8B) | -18.5 分(落后) |
| TTFT(大视觉上下文) | 相对 Qwen3-VL-8B 的首 token 延迟倍数 | 5.1×(视觉 token 增多时) | 同骨干交错式架构 Qwen3-VL-8B | 优势从 2.8× 扩大至 5.1× |
局限与改进
作者承认的局限:其一,MOSS-VL 没有思考模式、训练面向实时视频而非考试式推理,因此在 MMMU(51.1 对 69.6)与文档类基准上落后同规模最强开源模型;其二,L5 行为(生成时感知并修正)只有定性演示,公开流式基准只覆盖 L2–L4,全领域尚无度量 L5 的基准。我自己的观察:OmniMMI 的动态状态定位 SG 仅 21.7(AURA 24.0)、多轮依赖 MD 仅 10.7,说明细粒度状态追踪与持久查询仍是弱项;ProactiveVideoQA 的 VAD 子集 35.3 输给 MMDuet+rm 的 42.5、StreamingBench 的 SQA 50.4 对 57.2,说明领先集中于"何时开口"而非流式全面碾压;多数基线数字取自各家官方报告、推理设置不一致(仅 Gemma-4 列为作者自评),横向比较存在公平性隐患;三种推理模式只靠一个手工系统提示词切换,提示词敏感性没有消融;合成语料的质量门依赖"回复在当时画面可见"的核对,仍可能残留对画面细节的幻觉。
独立分析的弱点
独立分析几点弱点。第一,推理能力短板直接源于无思考模式与偏实时的训练目标,改进方向是作者已列入路线图的强化学习后训练,或为 Instruct 形态加入可选 thinking 分支。第二,MD(10.7)与 SG(21.7)的弱势说明"持久驻留查询随场景更新答案"的监督可能不足,可在 Realtime-SFT 中提高 resident-question 轨迹占比,或为状态追踪设计专门课程。第三,两 token 状态机较刚性:只能表达"沉默/发言/自我纠正",无法表示反问澄清、置信度不足等更细的交互策略,可扩展状态 token 集合或引入策略学习。第四,无音频输入导致 StreamingBench 的 Omni-Source 组及大量多模态实时场景不可用,把音频流在 XRoPE 时间轴上对齐是自然改进。第五,模式切换完全依赖系统提示词,缺少提示词扰动下的鲁棒性实验,建议训练时显式模拟提示词变化。第六,类别平衡靠 focal 加逆频率系数而非数据层均衡,当流式分布漂移(如长时间安静场景)时发言率可能偏移,应在在线评估中持续监控发言率与误报率。
未来方向
作者明确提出两项:一是 MOSS-VL 系列的强化学习后训练(已列在公开路线图),有望同时改善 MMMU 等推理短板与实时决策质量;二是构建专门的 L5 基准,度量"生成时感知"——模型是否在场景推翻证据的第一时刻修正或截断回复,这是全领域空白。基于本文成果还可延伸:把 XRoPE 时间轴与音频、事件流对齐,做成视听实时助手;利用视觉 token 不占解码上下文的特性研究小时级乃至天级的常驻视频记忆与检索;把 Realtime-SFT 范式移植到语音全双工对话模型(状态 token 机制与模态无关);在端侧设备上验证 append-only 交叉注意力缓存的延迟与功耗优势;以及用持久查询机制构建需要长时状态追踪的应用,如监控告警、陪伴机器人与教学辅导。
复现评估
开源程度相当高:五个 checkpoint(0708 的 Base/Instruct/Realtime 与 0408 的 Base/Instruct)在 HuggingFace 的 OpenMOSS-Team 组织发布;GitHub 提供训练课程说明与实时推理的 Transformers 参考实现;SGLang 集成已合入上游;扩展的 FlashAttention-3(cross_kv_boundary)作为上游衍生一并发布;Realtime-SFT 完整对话模板与系统提示词写在附录 A.1,附录 A.2 给出演示的英文翻译。未公开的主要是训练语料本身——合成数据的 caption 驱动流水线有方法级描述但不发布数据。算力门槛:推理侧一张 H200 即可复现论文的离线延迟测量(SGLang,TP=1,BF16)与实时 demo;训练侧则是约 1.26T token 预训练加 137.6B token 后训练的 Megatron-LM 工程,需数据/张量/序列/上下文并行的大规模集群,小实验室无法复训。总体而言,权重加载与推理复现难度低,完整训练复现难度很高。
论文图表