vLLM-Omni 上的 MiniMax H3:从系统级优化到基于 FastVideo FastH3 的实时服务
vLLM-Omni 部署 MiniMax H3 实时服务:① 系统级优化(注意力 + 融合 DiT + 并行 VAE + 紧凑输出 + 并行 MP4)相对 Diffusers 时延 ↓30.8%(1.445×);② FastVideo FastH3(DMD2 蒸馏四步学生模型)将 49 次 DiT 前向 → 4 次。在 8× B300 上 10.125 秒完整 MP4 用时 8.678-8.710 秒 —— **完整响应快于播放**(RTF_client ≤ 1.0)。
一句话总结
vLLM-Omni 部署 MiniMax H3 实时服务:⭐ ① 系统级优化(注意力 + 融合 DiT + 并行 VAE + 紧凑输出 + 并行 MP4)相对 Diffusers 时延 ↓30.8%(1.445×);⭐ ② FastVideo FastH3(DMD2 蒸馏四步学生模型)将 49 次 DiT 前向 → 4 次。在 8× B300 上 10.125 秒完整 MP4 用时 8.678-8.710 秒 —— ⭐ 完整响应快于播放(RTF_client ≤ 1.0)。
问题:H3 服务是系统级问题
“MiniMax H3 的服务是一个系统问题。一个请求要经过:⭐ 庞大的 Qwen3-VL 编码器 + 长序列的音视频 DiT + 独立的视频与音频 VAE + 设备与进程边界 + 最后 H.264/AAC 封装。”
“只优化 DiT,其余环节的时延依然留在那里。”
已发布的 3 种服务任务
| 任务类型 | 详情 |
|---|---|
| ⭐ T2VA | 文本 → 视频 + 音频 |
| I2VA | 图像 → 视频 + 音频 |
| V2VA | 视频 → 视频 + 音频 |
“DiT 主导基础调度,但不是唯一瓶颈。编码器的常驻影响容量;去噪被缩短后 VAE 解码显现;原始帧仍必须跨越进程边界并封装成 MP4。”
解决方案:两层 ⭐
第一层:vLLM-Omni 系统级优化(处理周围开销)
第二层:FastVideo FastH3(处理去噪主导项)
两条证据线严格分开 ⚠️
“两条线各自都是有效且已冻结的实验,但它们并不共用同一个源码 SHA、prompt、seed 与产物。因此我们不推导从基础版到 FastH3 的加速比。本文只报告 FastH3 的绝对时延,直到有一组严格对齐的 A/B 实验为止。”
第一层:vLLM-Omni 系统级优化 ⭐
1️⃣ 长序列注意力与通信
| 维度 | 详情 |
|---|---|
| 负载 | 58,758 个有效 token 占据 58,816 token 对齐缓冲区 |
| TRTLLM_ATTN | 接收有效序列长度 → 打包序列去掉结构性尾部 padding |
| rank 本地边界 | 只构建本地 embedding / RoPE 行,gather 128 通道投影(不是 5,376 通道隐藏状态) |
| Fast Ulysses | NCCL SymmetricMemory → 直接以注意力所需布局交换分片,省去 all-to-all 前后一次单独重排 |
2️⃣ 融合的 DiT 算子
- 49 次前向循环反复施加矩阵乘法周围的小算子
- PR #5990:Q/K RMSNorm 与 RoPE 融合
- PR #6281、#6878:合并 FP32 调制 / 归一化 / 残差计算
- PR #6283:融合 SwiGLU 取代分开的 SiLU + 乘法两次 launch
3️⃣ 并行且融合的 VAE 解码
- ⭐ VAE patch 并行:tile 化的视频解码器分布到 8 张 GPU
- 加速 VAE 算子路径:物化解码块 + 融合 Q/K 归一化 + RoPE + SwiGLU + 带缩放残差更新
- 不受支持布局保留 eager 回退
4️⃣ GPU 输出准备、传输与 MP4 ⭐
FP32 BCTHW
→ uint8 BTHWC(传输前负载 ↓75%)
→ pinned D2H + IPC 传输
→ planar frames
→ H.264 / AAC MP4
每步只做一次:直接 planar 编码 + 常驻并行转换器 + 传输后 strided RGB 平面 → H.264 直接取用,无需构建完整交错 RGB 缓冲区。
实测结果 ⚡
| 配置 | 数据 |
|---|---|
| 硬件 | 8× B300 |
| Diffusers | 原生上下文并行 + 复制权重 |
| vLLM-Omni | 编码器 TP8 + DiT USP8/Ring1(Fast Ulysses)+ VAE PP8 tile + TRTLLM_ATTN |
| ⭐ 无损加速比 | 30.8%(1.445×) |
| “无损”含义 | 加速不依赖量化 / 稀疏注意力 / 缓存复用 / 减少去噪步数 |
| ⚠️ 注意 | 并不意味着输出逐位一致(不同 kernel 实现与浮点归约顺序仍可能扰动扩散轨迹) |
第二层:FastVideo FastH3 ⭐
“FastH3 是 FastVideo 基于 MiniMax H3 蒸馏出的四步 DMD2 学生模型。”
| 维度 | 详情 |
|---|---|
| 基础模型 | MiniMax H3 |
| 蒸馏方式 | DMD2 |
| 去噪步数 | ⭐ 49 → 4 次 transformer 前向(5 个 sigma 位置) |
| 复用 | 编码器 / 视频 VAE / 音频 VAE / tokenizer / 调度器 |
| vLLM-Omni 支持 | Dense/Data-Free + 推荐 VSA/Data-Free |
集成方式(两层协作)
| 层 | 责任 |
|---|---|
| FastVideo | 开发并发布蒸馏出的学生模型 + 适配器产物 |
| vLLM-Omni | 验证产物 → checkpoint 流式载入同时完成融合 → 对融合权重分片 → 通过已优化的注意力 / VAE / 传输 / MP4 路径服务 |
FastH3 ≠ 普通 LoRA ⚠️
“FastH3 不是一个可按请求切换的普通 LoRA。除低秩因子外,其产物还携带满秩 delta + 替换权重——这是普通 LoRA 层无法表达的。因此 vLLM-Omni 选择在分片之前先融合这份产物,而不是按请求激活它。”
FastH3 v1 服务契约 ⚠️
| 约束 | 详情 |
|---|---|
| 任务 | ⭐ 只接受 T2VA |
| 调度 | 必须用它自己的四步调度 + checkpoint 的 flow shift |
| 资源 | ⭐ 拒绝 offload |
| 并发 | 不能在接纳另一个请求时再接受 LoRA |
| VSA 变体 | 额外要求 CUDA + 外部 FastVideo kernel 包 + 本地或纯 Ulysses 序列并行 |
实测:8× B300 上的 FastH3 ⭐
部署配置
| 组件 | 配置 |
|---|---|
| FastH3 副本数 | 1 |
| 编码器 | TP8 |
| DiT | DP1 × TP1 × USP8(带 Ring1 + Fast Ulysses) |
| VAE | PP8 tile 解码 |
| 注意力 | TRTLLM_ATTN |
| 输出 | 标准紧凑输出 + MP4 路径 |
核心数据 ⭐
| 测试时长(帧) | 测试时长(秒) | 完整 MP4 用时 |
|---|---|---|
| 5 秒(124 帧) | 5.175 | ⭐ 快于播放 |
| ⭐ 10 秒(243 帧) | 10.125 | ⭐ 8.678-8.710 秒 |
| 15 秒(362 帧) | 15.0 | 快于播放 |
判定标准:⭐ RTF_client = T_client / T_media ≤ 1.0(完整响应的实时判据)
“全部六次计入的请求都满足 RTF_client ≤ 1.0 —— 在测试过的每一个时长上,完整 MP4 的生成都快于播放。”
Dense vs VSA 对比
| 配置 | 注意力 | 结果 |
|---|---|---|
| Dense | TRTLLM_ATTN | 标准对照 |
| ⭐ VSA | FASTVIDEO_VSA + top-k 64 + Triton kernel | ⭐ 更优加速比 |
VSA 额外要求:CUDA + 外部 FastVideo kernel 包 + 本地或纯 Ulysses 序列并行。
通用 H3 服务架构 ⭐
4.1 分布式逐层卸载(DLO)
“DLO(Distributed Layerwise Offload)在 HBM 中保留一个有界的 DiT 层窗口,其余部分从主机内存流式取用。”
| 模式 | 机制 |
|---|---|
| AllGather 模式 | 从主机侧分片集体重建活跃层 |
| rank 本地模式 | 流式取用各 rank 常规 loader 产生的张量 |
8× B300 BF16 DLO 帕累托前沿:
| 配置 | 时延代价 | HBM 降低 |
|---|---|---|
| r = 35(常驻 35 个 DiT block) | +5.1% | ⭐ ↓37.5% |
| r = 0 | — | 显存最小端点 |
4.2 编码器分离 ⭐
| 维度 | 详情 |
|---|---|
| 编码器显存常驻 | BF16 下 ~51.5 GB Qwen3-VL |
| 解法 | 把编码器移入独立 vLLM 阶段(自己的放置 / 张量并行 / 副本 / 队列 / kernel / prefix cache) |
| 接口 | 编排器把第 50 层隐藏状态 + token 角色标签 + 原始媒体 → 交给 DiT/VAE 阶段 |
4.3 可选量化与注意力加速
| 路径 | 类型 | 状态 |
|---|---|---|
| 在线 FP8 | 全局 FP8 路径 | ✅ 已合并 |
| SVDQuant NVFP4 W4A4 | 离线 loader + BF16 低秩修正 | ✅ checkpoint + 正确性兼容;性能路径待原生融合 |
| SAGE 量化 | QK + PV 量化到 FP8 | TRTLLM_ATTN 可选 |
| Skip-Softmax | 动态跳过 Softmax + P×V | TRTLLM_ATTN 可选 |
| Cache-DiT | 请求级缓存策略 | quality=high / lossless |
进一步优化空间(尾部开销显现)⭐
“去噪被压缩后,新的尾部开销显现出来 —— 在 10 秒档上,插桩路径中合并的 VAE + 推导的传输 + CPU MP4 合计约占 3 秒。”
| 优化项 | 节省 | E2E 占比 |
|---|---|---|
| 重叠传输 + 编码 | 0.87 秒 | 10% |
| + 增量式 VAE 解码 | 1.75 秒 | 20% |
| 分块 VAE 到传输到 MP4 流水线 | RFC #6872 提议 | go/no-go: 5% / 10% E2E |
| 草稿 PR #6885 | 4 卡 L20X 上 VAE → MP4 减 0.8847 秒(26.57%) | — |
限制 ⚠️
| 限制 | 详情 |
|---|---|
| 兼容性 | ⚠️ FastH3 VSA 不要在没有经过新正确性 / 质量 / 显存 / 时延认证的情况下,与 DLO / 量化 / 缓存 / Ring-AllGather 稀疏注意力 / 编码器分离组合使用 |
| license | ⭐ MiniMax H3 Community License Agreement —— 商业 / 托管服务运营方应与法务一起审阅当前地域 / 署名 / 营收 / 可接受使用 / 安全保障要求 |
| 后训练 | vLLM-Omni 也在 VeRL-Omni 中为 H3 提供 rollout 服务 —— 训练属于生态覆盖,不属于本次服务基准测试 |
结论
“系统级优化让完整的 H3 流水线变得高效。随后,FastVideo 的四步前向学生模型把专用的 T2VA 画像推进到了完整响应快于播放的区间,在实测的 B300 系统上成立。”
聚焦的后续工作
- 认证原生 FastVideo SM100a VSA kernel(目标 Blackwell 系统)
- 集成原生融合的 NVFP4 kernel
- 集成并认证 Sol-Attn 即时稀疏注意力后端
- 完成基础版与 FastH3 对齐的多 seed 质量评估
- 实现分块的 VAE 到传输到 MP4 流水线,认证一个 GPU 编码器
- 在 VeRL-Omni / UniRL / RLinf 中增强 H3 的后训练集成
- 认证 FastH3 与编码器分离或其他扩展特性的组合
仓库地址
- vLLM-Omni:github.com/vllm-project/vllm-omni
- FastVideo:github.com/hao-ai-lab/FastVideo
- vLLM 博客:vllm.ai/blog/2026-09-01-minimax-h3-production-serving
致谢(部分)
| 人 | 贡献 |
|---|---|
| @Isotr0py | 基础 H3 支持 |
| @lishunyang12、@evanchueng、@Gaohan123、@david6666666 | DLO / 基础集成 / 在线 FP8 |
| @gcanlin、@yuanwu2017 | 编码器分离 |
| @bobboli、@fan2956、@mo-ke-ke、@mglyn、@MosCloud、@ultism | 注意力 / 融合 kernel / 量化 / VAE / 传输 / 媒体路径 |
| @princepride | FastH3 集成 + VSA/Ulysses 支持 |
| @NancyFyong、@mengchengTang | VeRL-Omni 集成 |
| Hongsheng Liu、Roger Wang | 总体支持 + 博客准备 |
配图
图 1:vLLM-Omni + MiniMax H3 实时服务架构(机器之心 · 2026-09-13)
来源
- 网易新闻(机器之心)· 原文
- vLLM-Omni 仓库:github.com/vllm-project/vllm-omni
- FastVideo 仓库:github.com/hao-ai-lab/FastVideo
- vLLM 官方博客:vllm.ai/blog/2026-09-01-minimax-h3-production-serving
- 相关 PR:#5990 / #6281 / #6283 / #6878 / #5810 / #5700 / #6476 / #6550 / #6714 / #6885 / #6909