TaoMate-H3:低遅延ストリーミング音声・動画生成
MiniMax H3ランタイムであるTaoMate-H3について解説します。同期した音声・動画チャンクを最大11.45倍高速に生成し、480p〜1080pの長尺出力を実現します。
TaoMate-H3:低遅延ストリーミング音声・動画生成
大規模な拡散モデルで音声・動画シーケンス全体を生成するには、完成したクリップ自体の再生時間よりも長い時間がかかることがあります。この遅延により、ライブアバター、バーチャルプレゼンター、リアルタイムストーリーテリング、適応型動画生成といったインタラクティブなアプリケーションの構築は困難になります。
TaoMate-H3は、MiniMax H3を基盤とするストリーミング推論ランタイムによって、この問題に対処します。リクエスト全体の完了を待つのではなく、同期した音声と動画を小さなチャンク単位で生成するため、長いシーケンス間の連続性を維持しながら、最初に再生可能な出力を大幅に早く得られます。
本プロジェクトはAlibaba TaoLive AIGC Teamによって開発され、MiniMax H3 Community License Agreementの下で公開されています。
TaoMate-H3の違い
TaoMate-H3は、一括生成ではなくストリーミングを中心に設計されています。中核となる生成処理では、3段階のLoRA戦略を採用しています。各小さなチャンクは3つのStage3デノイジング区間を通過するため、チャンクが最終的な潜在状態に到達するまでに必要な処理量を削減できます。
また、ランタイムは音声、環境音、動画を共通のタイムライン上で生成します。この音声・動画の共同生成アプローチは、リップシンク、効果音、映像イベントを生成後に個別に組み立てるのではなく、同期させる必要があるアプリケーションにとって重要です。
主な機能は次のとおりです。
- 3ステップLoRAストリーミング生成により、チャンクの完了を高速化。
- 音声・動画の共同生成により、音声、サウンド、映像を1つのタイムライン上で同期。
- 低チャンク遅延により、MiniMax H3のリクエスト全体が完了するよりはるかに早く、最初に利用可能な潜在表現を取得。
- クリーンなKVキャッシュ更新と統合オーディオガイダンスによる長尺シーケンスの連続性。
- プロンプト境界をまたいだ映像、音声、動きの一貫性。
- 480p、768p、整列済み1080p解像度での縦長・横長出力。
- TP2およびUlyssesシーケンス並列化を使用した、4基または8基のGPUによる単一ノード推論。
ハードウェアとソフトウェアの要件
検証済みの構成は高い性能を要求し、NVIDIA Hopperハードウェアを対象としています。
- Linux
- Python 3.10または3.11
- NVIDIA HopperまたはSM90 GPU
- 検証済み構成:NVIDIA H20 96 GB × 8
- 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アダプターも使用します。現在のリリースは、ランク128、アルファ128のstep-3000 generator EMA adapterです。ローカルアダプターを指定しない場合、推論時に公式アダプターが自動的にダウンロードされ、初回使用時に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環境変数でアクセス権を提供できます。
5秒単位のプロンプト
TaoMate-H3では、シーケンス全体で再利用する単一のプロンプト、または5秒ごとの区間に1つずつプロンプトを含むJSONファイルを使用できます。ブロック単位のプロンプトは、長尺生成で役立ちます。ランタイムがKVキャッシュとオーディオガイダンスの仕組みによって連続性を維持しながら、シーン、アクション、台詞、カメラの方向性を変更できるためです。
プロンプトファイルの例:
{
"prompts": [
"0〜5秒のプロンプト",
"5〜10秒のプロンプト"
],
"seeds": [8301, 8301]
}
ブロック間で同じシードを使用すると、作成したリクエスト設定を安定させるのに役立ちます。--promptと--prompt-jsonは同時に指定できません。
10秒間の生成を実行する
次のコマンドは、8基の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の設定から推定される場合を除き、合計再生時間は5秒の倍数である必要があります。
対応解像度
TaoMate-H3は縦長と横長の両方に対応しています。
| 対象 | 縦長 | 横長 |
|---|---|---|
| 480p | 480x864 |
864x480 |
| 768p | 768x1376 |
1376x768 |
| 1080p | 1088x1920 |
1920x1088 |
1080pの寸法では、両方の寸法を32で割り切れるように、辺の長さに1088ピクセルを使用します。納品時に正確に1080ピクセルの辺が必要な場合は、推論後に生成された出力をクロップしてください。
重要なコマンドラインオプション
| オプション | 目的 | デフォルト |
|---|---|---|
--model-root |
FL2VA/を含むMiniMax H3ディレクトリ |
必須 |
--adapter |
ローカルのTaoMate-H3 LoRAディレクトリ | models/TaoMate-H3へ自動ダウンロード |
--prompt |
5秒ごとの各ブロックで同じプロンプトを再利用 | — |
--prompt-json |
5秒ごとの各ブロックに1つのプロンプトを指定 | — |
--duration |
秒単位の合計再生時間 | 5、またはJSONから推定 |
--resolution |
WIDTHxHEIGHT。短辺は480、768、1088のいずれか |
768x1376 |
--gpus |
ローカルGPU数。対応値は4または8 | 8 |
--devices |
CUDAデバイスIDをカンマ区切りで指定 | 0〜gpus-1 |
--seed |
作成したリクエストのシード | 8301 |
--output |
新規または空の出力ディレクトリ | 必須 |
解像度の両方の寸法は32で割り切れる必要があります。ランタイムは4 GPUおよび8 GPU構成に対応しており、ベンチマーク結果はTP2 × Ulysses4の8 GPU構成で測定されています。
ベンチマーク結果
プロジェクトでは、NVIDIA H20 96 GB × 8 GPUを搭載した1ノードで、480×864のキャンバス、10秒の出力、シード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の要件、検証済みの8 GPU構成、専用のCUDA/PyTorchスタックを考慮すると、専用サーバーまたは研究用インフラでのデプロイに最適です。
ライセンスと謝辞
TaoMate-H3はMiniMax H3 Community License Agreementの下で公開されています。利用および配布にあたっては、このライセンスの条項に従う必要があります。
本プロジェクトでは、MiniMax H3、Qwen3-VL、PyTorch、FlashAttention、Triton、vLLMの開発チームに謝意を表しています。
実装の詳細と最新の例については、TaoMate-H3 GitHubリポジトリをご覧ください。