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をカンマ区切りで指定 0gpus-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リポジトリをご覧ください。

ソース

TaoLiveAIGC/TaoMate-H3