杂谈

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 UlyssesNCCL 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
DiTDP1 × TP1 × USP8(带 Ring1 + Fast Ulysses)
VAEPP8 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 对比

配置注意力结果
DenseTRTLLM_ATTN标准对照
⭐ VSAFASTVIDEO_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 量化到 FP8TRTLLM_ATTN 可选
Skip-Softmax动态跳过 Softmax + P×VTRTLLM_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 #68854 卡 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 系统上成立。”

聚焦的后续工作

  1. 认证原生 FastVideo SM100a VSA kernel(目标 Blackwell 系统)
  2. 集成原生融合的 NVFP4 kernel
  3. 集成并认证 Sol-Attn 即时稀疏注意力后端
  4. 完成基础版与 FastH3 对齐的多 seed 质量评估
  5. 实现分块的 VAE 到传输到 MP4 流水线,认证一个 GPU 编码器
  6. 在 VeRL-Omni / UniRL / RLinf 中增强 H3 的后训练集成
  7. 认证 FastH3 与编码器分离或其他扩展特性的组合

仓库地址

致谢(部分)

人贡献
@Isotr0py基础 H3 支持
@lishunyang12、@evanchueng、@Gaohan123、@david6666666DLO / 基础集成 / 在线 FP8
@gcanlin、@yuanwu2017编码器分离
@bobboli、@fan2956、@mo-ke-ke、@mglyn、@MosCloud、@ultism注意力 / 融合 kernel / 量化 / VAE / 传输 / 媒体路径
@princeprideFastH3 集成 + VSA/Ulysses 支持
@NancyFyong、@mengchengTangVeRL-Omni 集成
Hongsheng Liu、Roger Wang总体支持 + 博客准备

配图

vLLM-Omni MiniMax H3 FastH3

图 1:vLLM-Omni + MiniMax H3 实时服务架构(机器之心 · 2026-09-13)

来源