TaoMate-H3:低延迟流式音视频生成
探索 TaoMate-H3——一个基于 MiniMax H3 的运行时,可将同步音视频分块生成速度提升至最高 11.45 倍,适用于时长较长的 480p–1080p 输出。
TaoMate-H3:低延迟流式音视频生成
使用大型扩散模型生成完整的音视频序列,耗时可能超过最终片段本身的时长。这种延迟使交互式应用——例如实时数字人、虚拟主持人、实时故事讲述和自适应视频生成——难以构建。
TaoMate-H3 通过一个基于 MiniMax H3 构建的流式推理运行时解决了这一问题。它不会等待整个请求完成,而是将同步的音频和视频分成小块生成,使第一个可播放输出能够更早到达,同时保持较长序列之间的连续性。
该项目由阿里巴巴 TaoLive AIGC 团队开发,并依据 MiniMax H3 社区许可协议发布。
TaoMate-H3 有何不同?
TaoMate-H3 围绕流式生成而非一次性生成进行设计。其核心生成路径采用三步 LoRA 策略:每个小分块都会经过三个 Stage3 去噪区间。这减少了分块达到最终潜变量状态前所需的计算量。
该运行时还会在共享时间轴上生成语音、环境音和视频。这种联合音视频方法对于要求唇部动作、音效和视觉事件保持同步的应用十分重要,因为这些内容不应在生成完成后再彼此独立地组装。
主要功能包括:
- 三步 LoRA 流式生成,加快分块完成速度。
- 联合音视频生成,让语音、声音和画面在同一时间轴上对齐。
- 低分块延迟,使第一个可用潜变量远早于完整 MiniMax H3 请求完成时到达。
- 长时序连续性,通过干净的 KV-cache 更新和集成式音频引导实现。
- 视觉、声音和动作一致性,跨越提示词边界保持一致。
- 竖屏和横屏输出,支持 480p、768p 以及对齐后的 1080p 分辨率。
- 单节点推理,可使用四张或八张 GPU,并采用 TP2 和 Ulysses 序列并行。
硬件和软件要求
经过验证的配置要求较高,目标硬件为 NVIDIA Hopper:
- Linux
- Python 3.10 或 3.11
- NVIDIA Hopper 或 SM90 GPU
- 已验证配置:8 × NVIDIA H20 96 GB
- CUDA 12.8
- PyTorch 2.8
- 支持 H.264 和 AAC 的 FFmpeg
在安装运行时之前,先创建独立环境:
conda create -n taomate-h3 python=3.10 -y
conda activate taomate-h3
pip install torch==2.8.0 torchvision==0.23.0 \\
--index-url https://download.pytorch.org/whl/cu128
pip install triton==3.4.0 vllm==0.11.1
TaoMate-H3 依赖兼容 Hopper 的 FlashAttention。请在不启用构建隔离的情况下安装 Hopper 实现:
git clone https://github.com/Dao-AILab/flash-attention.git
pip install --no-build-isolation ./flash-attention/hopper
然后克隆 TaoMate-H3,并以可编辑模式安装:
git clone https://github.com/TaoLiveAIGC/TaoMate-H3.git
cd TaoMate-H3
pip install -e .
在 Ubuntu 或 Debian 上使用以下命令安装 FFmpeg:
sudo apt-get update
sudo apt-get install -y ffmpeg
下载所需模型
该运行时使用 MiniMax H3 FL2VA 模型。将所需文件从 Hugging Face 下载到本地 models/MiniMax-H3 目录:
hf download MiniMaxAI/MiniMax-H3 \\
--include "model_index.json" "FL2VA/*" \\
--local-dir models/MiniMax-H3
TaoMate-H3 还使用一个 LoRA 适配器。当前版本是 step-3000 generator EMA adapter,rank 为 128,alpha 为 128。如果未提供本地适配器,推理时会在首次使用时自动将官方适配器下载到 models/TaoMate-H3。
如需提前下载:
hf download TaoLiveAIGC/TaoMate-H3 \\
--include "config.json" "adapter_config.json" "adapter_model.safetensors" \\
--local-dir models/TaoMate-H3
生成的目录应包含:
models/TaoMate-H3/
├── config.json
├── adapter_config.json
└── adapter_model.safetensors
对于私有或受限的 Hugging Face 仓库,请先进行身份验证:
hf auth login
或者通过标准的 HF_TOKEN 环境变量提供访问权限。
以五秒为区块进行提示
TaoMate-H3 支持在整个序列中重复使用单个提示词,也支持使用 JSON 文件为每个五秒时间区间指定一个提示词。基于区块的提示对于长时序生成非常有用,因为它可以让你改变场景、动作、对白或镜头方向,同时运行时通过 KV-cache 和音频引导机制保持连续性。
示例提示文件:
{
"prompts": [
"0-5 秒的提示词",
"5-10 秒的提示词"
],
"seeds": [8301, 8301]
}
在不同区块中使用相同的 seed,有助于保持经过设计的请求配置稳定。--prompt 和 --prompt-json 不能同时使用。
运行 10 秒生成任务
以下命令会使用八张 GPU,生成一个 768p 的 10 秒竖屏视频:
python -m taomate_h3 \\
--model-root models/MiniMax-H3 \\
--prompt-json examples/prompts_10s.json \\
--duration 10 \\
--resolution 768x1376 \\
--gpus 8 \\
--devices 0,1,2,3,4,5,6,7 \\
--seed 8301 \\
--output outputs/demo_10s
完整流程会将最终结果写入:
outputs/demo_10s/video.mp4
启动器会自行创建本地分布式工作进程,因此不需要额外使用 torchrun 命令。如需使用其他适配器,请显式指定:
--adapter /path/to/adapter
输出目录必须是新建的或为空目录。除非从提示 JSON 配置中推断时长,否则总时长必须是五秒的倍数。
支持的分辨率
TaoMate-H3 同时支持竖屏和横屏布局:
| 目标 | 竖屏 | 横屏 |
|---|---|---|
| 480p | 480x864 |
864x480 |
| 768p | 768x1376 |
1376x768 |
| 1080p | 1088x1920 |
1920x1088 |
1080p 尺寸使用 1088 像素的边长,以确保两个维度都能被 32 整除。如果交付要求精确的 1080 像素边长,请在推理后裁剪生成的输出。
重要命令行选项
| 选项 | 用途 | 默认值 |
|---|---|---|
--model-root |
包含 FL2VA/ 的 MiniMax H3 目录 |
必填 |
--adapter |
本地 TaoMate-H3 LoRA 目录 | 自动下载到 models/TaoMate-H3 |
--prompt |
为每个五秒区块重复使用一个提示词 | — |
--prompt-json |
为每个五秒区块提供一个提示词 | — |
--duration |
总时长(秒) | 5,或从 JSON 推断 |
--resolution |
WIDTHxHEIGHT;短边必须为 480、768 或 1088 |
768x1376 |
--gpus |
本地 GPU 数量;支持 4 或 8 | 8 |
--devices |
以逗号分隔的 CUDA 设备 ID | 0 到 gpus-1 |
--seed |
设计好的请求 seed | 8301 |
--output |
新建或为空的输出目录 | 必填 |
分辨率的两个维度都必须能被 32 整除。运行时支持四 GPU 和八 GPU 配置;基准结果使用八张 GPU,并采用 TP2 × Ulysses4。
基准结果
项目报告了以下测量结果:测试在一个包含 8 × NVIDIA H20 96 GB GPU 的节点上进行,画布为 480×864,输出时长为 10 秒,seed 为 8301。
| 指标 | TaoMate-H3 | MiniMax H3 | 提升 |
|---|---|---|---|
| 纯 DiT 耗时 | 14.810 秒 | 169.572 秒 | 快 11.45 倍 |
| 首个最终分块潜变量 | 6.148 秒 | 170.052 秒 | 快 27.66 倍 |
| 首个可播放视频 | 17.287 秒 | 183.313 秒 | 快 10.60 倍 |
| DiT 峰值已分配显存 | 31.37 GiB | 32.03 GiB | — |
这些数字区分了几种不同的延迟测量方式。纯 DiT 耗时不包括模型加载、文本编码、VAE 解码和媒体编码。首个可播放视频包含 Video VAE 解码和 H.264 发布,对应匹配的首分块发布基准。该基准涵盖 Stage3 生成路径,但不包括命令内部的音频准备过程。
一次 10 秒的 TaoMate-H3 运行包含 24 次生成前向计算和 8 次干净 KV 更新。最值得关注的不仅是端到端速度提升:首个最终分块潜变量仅需 6.148 秒即可到达,这为一种新路径提供了可能——在后续分块仍在生成时,应用就可以开始播放。
何时使用 TaoMate-H3
当首个视频到达时间与总生成时间同样重要时,TaoMate-H3 尤其有价值。潜在应用包括:
- 交互式数字人和虚拟主持人
- 实时或半实时故事讲述系统
- 支持提示词区块之间场景切换的长时序 AI 视频
- 音频响应式视频生成
- 同步对白、声音和画面的原型开发
- 无法等待整个片段渲染完成的流式创作工具
它并不是轻量级的消费级推理软件包。Hopper GPU 要求、经过验证的八 GPU 配置以及专用的 CUDA/PyTorch 技术栈,意味着它更适合部署在专用服务器或研究基础设施上。
许可证和致谢
TaoMate-H3 依据 MiniMax H3 社区许可协议发布。用户必须遵守该许可证关于使用和分发的条款。
项目向 MiniMax H3、Qwen3-VL、PyTorch、FlashAttention、Triton 和 vLLM 背后的团队表示感谢。
如需了解实现细节和最新示例,请访问 TaoMate-H3 GitHub 仓库。