跳转至

M*: A Modular, Extensible, Serving System for Multimodal Models

会议: NeurIPS 2026
arXiv: 2606.12688
OpenReview: https://openreview.net/forum?id=xwpS322agK
代码: https://github.com/vllm-project/vllm-omni
领域: 多模态 VLM
关键词: 多模态推理系统, 计算图抽象, 游走图 (Walk Graph), 级联模型部署, 异构硬件放置

一句话总结

针对传统自回归服务框架难以承载复合多模态模型多样化计算拓扑的瓶颈,提出将多模态推理形式化为计算图遍历的通用服务系统 M*,通过 Walk Graph 抽象与细粒度分布式运行时实现了任意循环、并行分支及流式传输的高效调度与物理放置。

研究背景与动机

当前人工智能正在从以文本为中心的单一自回归模型转向复合多模态架构(composite model architectures)。这类模型通常由视觉编码器、语言骨干网络、扩散/流匹配头、神经音频编解码器以及具身动作生成器等结构各异的异构组件深度串联或交织而成,代表性系统涵盖统一多模态大模型(如 BAGEL)、全模态交互模型(如 Qwen3-Omni)、语音大模型(如 Orpheus)、具身智能模型(如 \(\pi_{0.5}\))以及世界模型(如 V-JEPA 2)。在实际推理中,这些系统不再沿袭标准的单一 Token 自回归解码循环,而是因输入模态与输出任务的差异,动态触发不同子图路径、非自回归流匹配迭代、条件分支并行以及跨组件的实时张量流式传输。

然而,现有的工业级大模型服务框架(如 vLLM 和 SGLang)在底层抽象上与复合多模态推理存在根本性的失配。此类系统高度针对文本自回归的预填(prefill)与解码(decode)阶段设计,在面对多模态任务时通常仅将非文本模块视作预填期的外挂编码器。近期扩展出的阶段式流水线系统(如 vLLM-Omni 和 SGLang-Omni)尝试引入静态阶段 DAG 抽象,但受限于以引擎实例为粒度的粗放设计,不仅无法原生支持跨阶段的非自回归迭代循环(如扩散降噪)、阶段内部的细粒度分支并行(如无分类器引导 CFG),更无法允许同一模型内部针对理解、生成、编辑等不同任务复用同一物理权重执行异构调度。部署人员被迫针对不同任务配置不同的专用服务实例,并编写大量胶水代码维护张量通信,造成严重的显存冗余与计算空转。

复合多模态模型在本质上具备统一的数据流结构:任意多模态系统均可表达为异构组件构成的有向计算图,而不同任务与请求则具象为该计算图上的特定遍历轨迹。核心 idea:将多模态推理抽象为基于游走图(Walk Graph)的数据流执行过程,通过将模型计算图拓扑与物理集群放置完全解耦,以统一且可嵌套的图原语无缝表达非自回归循环、分支并行与动态分块流式传输,并在分布式运行时上实现开箱即用的显存分页与推测调度。

方法详解

整体框架

M* 系统由前端声明接口与底层高性能分布式运行时两大部分构成。在模型定义阶段,模型作者将模型拓扑表达为有向计算图 \(G=(N, E)\),并定义一系列命名的图游走轨迹(Walks)\(W=\{w_1, \dots, w_n\}\) 以及状态转移机;在物理部署阶段,运维人员通过 YAML 声明图节点(或节点与游走的组合)到物理 GPU Rank 的映射关系;在底层执行阶段,统一的分布式 Conductor 与 GPU Worker 运行时负责请求调度、流式张量传输、连续批处理以及底层推理引擎的调度。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["多模态请求输入<br/>文本/图像/音频/动作"] --> B["游走图计算抽象与可嵌套图原语<br/>Walk Graph 状态机解析路径"]
    B --> C["动态流式传输边与自适应分块策略<br/>StreamingGraphEdge 与 ChunkPolicy"]
    C --> D["拓扑与物理放置解耦及细粒度并行<br/>节点-GPU 映射与张量并行"]
    D --> E["异步管线运行时与推测式批调度<br/>FlashInfer 双缓冲与推测早停"]
    E --> F["多模态推理输出<br/>流式音频/图像/动作/文本"]

关键设计

1. 游走图计算抽象与可嵌套图原语:统一异构组件与多模态执行路径 针对传统系统无法在单一模型中表达多任务不同执行路径及复杂迭代循环的痛点,M* 建立了游走图(Walk Graph)核心契约。模型作者将系统定义为计算节点 GraphNode 与张量通信边 GraphEdge,并通过四个可完全嵌套的代数原语完成组装:Sequential 用于串联子图;Parallel 支持多分支并发执行;Loop 用于固定步数的有界迭代并区分每轮丢弃与全轮累加的张量输出通道;DynamicLoop 则支持单请求粒度的早停判断(如 EOS 终止或世界模型动态预测步长)。在 BAGEL 模型中,同一组权重仅需定义一次,通过 6 个不同的 Walk 即可分别支持文本对话、图像理解、流匹配生成与图像编辑,彻底消除了针对每种任务单独部署独立引擎实例的结构性开销。

2. 动态流式传输边与自适应分块策略:标准化跨组件流式流水线 全模态交互与实时语音模型要求上游骨干网络以极低时延向下游声码器或编解码器递送张量,传统系统依赖定制的 Python 队列或硬编码阶段传输,缺乏通用的流量整形控制。M* 提出了 StreamingGraphEdge 边类型,与消费端工作进程内部的 StreamBuffer 配合,通过三类标准分块策略(ChunkPolicy)实现自适应触发:固定分块策略 FixedChunkPolicy(K) 每积攒 \(K\) 个输出张量即触发消费节点(如 Qwen3-Omni 中 Thinker 到 Talker 设为 \(K=1\));滑动窗口策略 SlidingWindowChunkPolicy(W, S) 维护窗口长度为 \(W\) 并在步长为 \(S\) 时推进;左上下文策略 LeftContextChunkPolicy(C, L) 则在每次发射 \(C\) 帧前向附加 \(L\) 帧历史左上下文以保证音频波形因果平滑。所有策略均在运行时框架内标准化,无需在模型源码中侵入通信同步逻辑。

3. 拓扑与物理放置解耦及细粒度并行:最大化多硬件拓扑利用率 为解决现有框架只能按粗粒度阶段绑定整卡导致显存与算力闲置的问题,M* 将图节点(甚至特定 Walk 下的特定节点)到物理 GPU Rank 的映射完全交由部署配置文件声明。部署人员可将前序轻量编码器部署于小型计算卡,将大语言模型骨干网络部署于高端加速卡;对于具有高并发计算的 CFG 分支,只需声明 Parallel 并将各个分支分配到独立 Rank,系统便自动在不同 Rank 间完成张量扇出与汇聚。此外,M* 将张量并行(TP)下沉为节点级属性,用户只需替换节点内部的线性层与注意力层并配置切分度,跨节点不同 TP 度的通信同步与 KV 缓存重排完全由运行时接管;对于共享权重的计算节点(如 BAGEL 中的 LLM 模块在预填、生成、理解中复用),运行时在物理上保持单一常驻实例,通过虚拟标签在单个分页 KV 缓存池中隔离不同上下文,彻底规避了阶段间张量频繁序列化与内存搬运的开销。

4. 异步管线运行时与推测式批调度:消除多模态执行气泡与前置规划延迟 在系统微架构层面,M* 针对多模块频繁切换带来的调度开销设计了轻量级运行时。每个单进程 GPU Worker 托管两个专用引擎:KVCacheEngine 基于 FlashInfer 构建,支持 PagedAttention 显存池与 CUDA Graph 捕获;StatelessEngine 则服务于无状态前向模块(如 VAE 解码器与声码器)。为了彻底隐藏 CPU 调度开销,Worker 采用双缓冲与异步重叠机制:在 GPU 执行批次 \(N\) 时,CPU 线程在独立 CUDA 流中并行构建批次 \(N+1\) 的 FlashInfer 注意力规划(Attention Plan)。面对 DynamicLoop 带来的动态退出分支,运行时引入推测式调度机制,将早停检查推迟至下一轮迭代边界,使多轮连续迭代的内核发射无缝衔接,每条请求最多仅承担单步无效推测代价,大幅压低了全图端到端运行气泡。

损失函数 / 训练策略

M* 为纯系统层面的模型推理与服务引擎框架,不涉及模型权重的反向传播与训练损失计算。所有实验均采用对应模型的官方开源权重(如 BAGEL-7B-MoT、Qwen3-Omni-30B-A3B-Instruct、Orpheus-3B、V-JEPA 2 ViT-g 等),以贪婪解码(Temperature = 0)或标准流匹配欧拉离散步长配置执行确定性评测。

实验关键数据

主实验

论文在统一多模态模型 BAGEL、全模态模型 Qwen3-Omni、实时语音模型 Orpheus 以及具身世界模型 V-JEPA 2 上展开了严格评测。硬件平台涵盖 4×H100 与 8×H200 单节点集群,基线选取对应领域的代表性先进框架(vLLM-Omni、SGLang-Omni、VoxServe 以及 Meta 官方原生实现)。

评测模型与任务 评估指标 本文 (M*) 之前 SOTA 基线 性能提升
BAGEL-7B (T2I 文生图, B=1, 3卡) p50 端到端时延 (E2E) 1.25× 提速 vLLM-Omni (单阶段配置) 降低 ~20% 时延
BAGEL-7B (I2I 图像编辑, B=1, 3卡) p50 端到端时延 (E2E) 2.64× 提速 vLLM-Omni (默认两阶段配置) 降低 62.1% 时延
BAGEL-7B (I2T 图像理解, B=16, 1卡) 系统吞吐量 (req/s) 高出 32.7% vLLM-Omni (默认配置) 吞吐提升 32.7%
Qwen3-Omni (TTS 语音生成, B=16, 2卡) 音频生成吞吐量 2.7× / 4.0× vLLM-Omni / SGLang-Omni 吞吐提升 170% / 300%
Orpheus-3B (TTS 语音生成, B=16, 1卡) p50 实时率 (RTF) 降低 13.6% VoxServe (语音专用系统) 实时率降低 13.6%
V-JEPA 2 (机器人规划 Rollout, H=30, 1卡) p50 规划时延 12.5× 提速 Meta vjepa2 原生实现 提速 12.5 倍

消融实验与架构对比

论文对不同服务抽象和配置策略在处理复杂多模态交互时的能力差异进行了深入对比。

服务系统架构 图抽象粒度 支持的组合原语 循环与迭代表示 硬件放置粒度 单配置覆盖多模态能力
vLLM-Omni 引擎实例阶段 静态扁平 DAG 仅限于单个阶段内部 粗粒度 Stage ❌ 需两套割裂配置
SGLang-Omni 工作池阶段 静态扁平 DAG 仅限于单个阶段内部 粗粒度 Stage ❌ 仅支持部分管线
VoxServe 单一 Model 类 无 调度器外层硬编码 固定两卡划分 ❌ 仅限语音领域
M (本文)* 组件前向运算 串行/并行/循环/流式 图级 Loop/DynamicLoop 细粒度 (节点, 游走) ✅ 单配置高效全支持

关键发现

  • 打破配置分裂与显存搬运墙:在 BAGEL 测试中,vLLM-Omni 无法用单一配置同时兼顾所有任务——其默认两阶段配置虽利于理解,但图像编辑时因 Thinker 与 DiT 跨阶段传输 KV 缓存导致性能坍塌;单阶段配置虽消除了传输,却丢失了自回归连续批处理能力。M* 依托 Walk Graph 在单一配置下共享权重与分页缓存,在图像编辑上比默认配置提速 2.64 倍,同时在图像理解高并发下吞吐领先 32.7%。
  • 端到端 CUDA Graph 化带来全模态质跃:在 Qwen3-Omni 语音生成中,vLLM-Omni 因无法将 Code 预测循环捕获为 CUDA 图而导致 CPU 调度成为瓶颈。M* 借助细粒度子模块图抽象与推测调度,将整个 Talker 模块(含多 Token 循环)封装入单一 CUDA Graph,并在单进程内本地管道化至 Code2Wav,在 Batch Size = 16 时吞吐超越 vLLM-Omni 2.7 倍、超越 SGLang-Omni 4.0 倍。
  • 具身世界模型无感接入 KV 缓存:原生 V-JEPA 2 进行动作条件视频预测时,采用朴素 Python 循环对持续增长的上下文进行全量重复计算。M* 将其映射为 DynamicLoop 与 KVCacheEngine,无缝复用 PagedAttention 显存池,在预测步长 \(H=30\) 时斩获 12.5 倍加速。

亮点与洞察

  • 将图计算理念降维下沉到推理微架构:M* 敏锐捕捉到多模态大模型从“单一自回归”向“异构复合网络”演进的历史趋势,用纯粹的代数原语(串行、并行、静态循环、动态早停循环、流式边)重构了服务系统的抽象层,优雅化解了以往针对不同模态打系统补丁的技术债务。
  • 虚拟标签化单池显存管理机制:在无分类器引导(CFG)的三路并行分支中,M* 摒弃了为每个上下文维护独立密集张量的传统做法,而是将多个分支视作统一分页显存池上的不同键轴标签,使多路分支能原地以 PagedAttention 读取页表,实现了显存零拷贝切分。
  • 可复用的跨模态生产-消费分块策略:设计的固定、滑动窗口与带左上下文分块策略,精准抽象了语音因果平滑与多模态流式交互的核心通信模式,这一机制可直接迁移并泛化至视频实时流生成、具身多传感器融合等更广泛的时序流任务中。

局限与展望

  • 分布式并行范式覆盖尚存盲区:目前 M* 主要在单节点 NVLink 环境下深度优化了张量并行与细粒度 Rank 放置,对跨多节点的序列并行(Sequence Parallelism)、流水线并行(Pipeline Parallelism)以及分布式上下文并行的探索仍处于初步阶段。
  • 异构加速器与极端硬件配置未做全覆盖:论文评估主要聚焦于英伟达高带宽 H100 与 H200 硬件,对于 PCIe 拓扑、边缘算力芯片以及国产异构多模态推理卡在显存带宽受限场景下的流式性能表现仍待验证。
  • 未来方向:作者团队计划将稀疏注意力(如视频生成中的 STA 算法)封装为图节点的标准插件,并拓展动态流式边以支持更复杂的自适应速率流传输。

相关工作与启发

  • vs vLLM-Omni & SGLang-Omni: 后两者将系统粗粒度抽象为由引擎实例构成的扁平 DAG,无法在图层面表达跨阶段循环与内部并行,多任务切换开销巨大;M* 深入到单次前向算子级别,提供全套可嵌套原语与细粒度物理放置,做到了单一配置统一高效服务。
  • vs VoxServe: VoxServe 是专为语音大模型定制的单体系统,缺乏通用性;M* 证明了通过通用的 Walk Graph 抽象与流式分块策略,通用服务引擎不仅能够完全覆盖专用引擎的功能,甚至能借助统一底层的 FlashInfer 与推测调度实现更高的吞吐与更低的实时率。
  • vs 传统自回归系统 (vLLM, SGLang, DistServe): M* 完整继承了文本时代验证成功的 PagedAttention、连续批处理与预填解码分离理念,并通过 Walk 契约成功将其辐射扩展至流匹配扩散、全模态语音交互与具身世界模型等更广阔的计算范式。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次提出游走图(Walk Graph)服务抽象,精准切中了复合多模态模型多样化计算拓扑与传统静态推理系统之间的结构性鸿沟。
  • 实验充分度: ⭐⭐⭐⭐⭐ 跨越图文生成与理解、实时全模态语音交互、具身动作预测与世界模型规划四大极具代表性的复合领域,对比了多个强基线。
  • 写作质量: ⭐⭐⭐⭐⭐ 系统抽象阐述极其清晰,问题定义切中要害,原语代数语义严谨且提供了详尽的配置文件与参数细节。
  • 价值: ⭐⭐⭐⭐⭐ 随着未来多模态与具身基础模型的进一步大一统,该框架有望成为下一代复合多模态部署的基础设施标杆。