最高水準の動画生成AI「MiniMax H3」高速化を40日で極めた。本命「H3 Max」のウェイト公開はもう不要なのか?(CloseBox)

テクノロジー AI
松尾公也

テクノエッジ編集部 シニアエディター / コミュニティストラテジスト @mazzo

特集

現時点で最高水準であり、商用サービスSeedance 2.5に匹敵するとも言われているHailuoの動画生成AI「MiniMax H3」。その高速化への道のりを記事にしました。

結論を先に。
・5秒の動画1本の生成が193.5秒 → 31.6秒(6.12倍)。H3の重みを落とした8月14日から41日
・内訳は stepを減らすLoRAで4.39倍アテンションのINT8化と間引きでさらに1.40倍
・材料は全部、世界のどこかの誰かが公開したもの。私がやったのは拾って・試して・測って・採るか捨てるかを決めたことだけ。同じ構成は記事の後半に記載した手順で再現できます
・クラウド(fal.ai)のH3 Max Turboは1.49秒。ただし機械も重みも違うので、倍率を並べる相手ではありません
速さのためならH3 Maxの重みはもう要りません。重みだけの差(6.26倍)は手元で得た6.12倍とほぼ同じ幅で、積み上がらない。待つ価値があるとすれば指示への追従のほう
次の壁はVAEデコード(全体の39%)。ComfyUI 0.36の新しいVAEを試しましたが、本番の形では差し引きゼロでした

前提 — 何をしている人間が書いているか

筆者は、13年前に他界した妻の写真と映像を素材に、歌って演技するミュージックビデオを自宅のPC 1台で作っています。 MV 1本は5~12秒の動画を20~40本に分けて生成(曲の長さによる)し、最後につなぎます。

5秒の動画1本が193秒なら、MV 1本ぶん(30本)で1時間37分。31秒なら16分。しかも一発では決まりません(歌詞に合っていない・顔が別人・小物が出ていない)。 区間ごとに作り直すので、速さはそのまま「試せる回数」となります。3回しか試せないのと20回試せるのとでは、出来上がりが変わります。

実行環境:RTX 5090(VRAM 32GB)/Windows 11上のWSL2/ホスト63.6GBのうち52GBをWSLへ。全部自宅の1台で、クラウドは使っていません(妻の写真を外に出したくないので)。

用語 — これだけ分かれば読めます

MiniMax H3

映像と音声を一緒に作る動画生成モデル。重みが公開されていて手元で動く。私の版は19.5GB

ComfyUI

生成処理を「ノードをつないだ図」として組む土台のソフト

step(ステップ)

拡散モデルが砂嵐から少しずつ絵に近づける回数。回数がそのまま計算量なので費用の単位。減らせば速いが、減らすと絵が壊れる

LoRA

19.5GBの本体を作り直さずに、小さな追加の重み(312MB~1.2GB)で振る舞いを変える仕組み。「3stepで壊れないようにするLoRA」が今回の主役

蒸留

「20回でやっていたことを8回でやる」ようにモデルを訓練し直すこと

i2v

1枚の絵を渡して、その続きを動かす使い方。今回測ったのはこれ

アテンション

絵の各部分が互いを参照し合う計算。長さの2乗で増える

VAEデコード

生成の最後に、内部表現を実際の映像に戻す処理。step数と関係なく一定

年表 — 41日間で何が起きたか

出来事

5秒1本の所要

8月14日

MiniMax H3の重みをダウンロード。ここが出発点

193.5秒

8月17日

公式のTurbo 8step LoRAを入れる(3日後)

90.7秒

8月27日

Hao AI LabがFastH3を公開/falがH3 Maxを発表し「重みは公開する」とXで返信/スパースの部品を入れる(使うのは25日後)

8月29日

FastH3 4stepを変換して入れる(公開の2日後)

55.3秒

9月6日

アテンションの計算方法をINT8のものに切り替え

9月14日

TaoMate 3stepのComfyUI変換が出た当日に入れる

44.1秒

9月21日

25日前から手元にあったスパースに気づき、測って採用

35.0秒

9月24日

全部を同じ条件で測り直す(この記事)/ComfyUI 0.36と新しいVAEを試す(見送り)

最速 31.6秒

今日まで

H3 Maxの重みは28日たっても出ていない

速くなった日が飛び飛びなのは、公開された日がそうなっていたからです。

縦軸は対数目盛です。

193.5秒が31.6秒に

1280×704・5.2秒(124コマ)・同じ1枚目・同じプロンプト・同じ3つの乱数種・i2v。各条件4本回して1本目は捨て、3本の中央値。

段階

step

実測(3本)

中央値

①からの倍率

① 20 step(最初)

20

191.2 / 193.5 / 195.1

193.5秒

② Turbo 8 step

8

86.0 / 90.7 / 93.8

90.7秒

2.13倍

③ FastH3 4 step

4

51.7 / 55.3 / 62.5

55.3秒

3.50倍

④ TaoMate 3 step

3

43.9 / 44.1 / 44.1

44.1秒

4.39倍

⑤ ④ のアテンションを素の PyTorch に

3

54.9 / 59.0 / 59.1

59.0秒

3.28倍

⑥ ④ + スパース 0.3

3

34.1 / 35.0 / 36.1

35.0秒

5.53倍

⑦ ④ + スパース 0.1

3

31.4 / 31.6 / 31.6

31.6秒

6.12倍

⑧ fal 素のH3(クラウド)

?

9.3

9.3秒

20.74倍

⑨ fal H3 Max(クラウド)

?

3.1

3.1秒

62.42倍

⑩ fal H3 Max Turbo(クラウド)

?

1.5

1.5秒

129.87倍

MV 1本(5秒×30本)で言えば、1時間37分が16分になりました。

各段階が何をしたのか

  • ② Turbo 8step — 公式の蒸留LoRA。20回を8回に。H3を入れた3日後に公開され、いちばん素直に効いた

  • ③ FastH3 4step — UCサンディエゴのHao AI Labが公開。8回を4回に。本家推奨の版(VSAという専用カーネル)は私のGPUで動かず、使えたのは密(dense)版だけ

  • ④ TaoMate 3step — Alibabaのタオバオライブ部門のLoRAを有志がComfyUI用に変換したもの。4回を3回に

  • ⑤(比較用) — ④からアテンションの計算方法(INT8)だけを外したもの。0.75倍に落ちる=INT8化で1.34倍速くなっていた。stepではない高速化

⑥⑦ スパースアテンション — 1回のstepの中で「絵の各部分が互いを見る」計算を3割/1割に間引く。前回の記事のテーマ

段数の効きは頭打ちになる

③→④は1.25倍しかありません。4→3なら素直には1.33倍のはず。理由は生成時間がサンプリングだけではないから—— VAEデコードはstep数と関係なく一定で、stepを減らすほど比率が上がります。手元の内訳:

アテンション

44%

VAEデコードなど、サンプリングの外

39%

MLP・射影

17%

step数を0にしても39%は残ります。ここが次の壁です。

同じ題材で、全段階を同時に走らせた

同じ1枚目・同じプロンプト・同じ乱数種で作った10本を、縮小して同時に走らせています。 枠の下に段階名・step数・実測の中央値・①からの倍率を焼き込みました。速いほうが雑になっているのか、見分けがつかないのか——数字では言えないので、見ていただくのがいちばん早い。

文字は実際のフォントで合成しています(生成モデルに日本語を描かせるとひらがなを間違えるので)。

段階ごとに1本ずつ

① 20 step(最初):20 step / 193.5秒

② Turbo 8 step:8 step / 90.7秒 / ①の2.13倍

③ FastH3 4 step:4 step / 55.3秒 / ①の3.50倍

④ TaoMate 3 step:3 step / 44.1秒 / ①の4.39倍

⑤ ④ のアテンションを素の PyTorch に:3 step / 59.0秒 / ①の3.28倍

⑥ ④ + スパース 0.3:3 step / 35.0秒 / ①の5.53倍

⑦ ④ + スパース 0.1:3 step / 31.6秒 / ①の6.12倍

⑧ fal 素のH3(クラウド):? step / 9.3秒 / ①の20.74倍

⑨ fal H3 Max(クラウド):? step / 3.1秒 / ①の62.42倍

⑩ fal H3 Max Turbo(クラウド):? step / 1.5秒 / ①の129.87倍

※falの3本は1376×768を1280幅に縮めて上下5pxずつ切ってあります。音はそれぞれのクリップのもの(カードの間は無音)です。

クラウド(fal.ai)と比べる

MiniMax H3を大幅に高速化したというfal.aiが配信しているH3を3種、同じ1枚目で測りました。どれも1376×768(うちより画素17%多い)・音声つきプロンプトへの追従も絵の出来も、3つとも見たかぎり同等。違うのは速さと値段だけ(各1本ずつ)。

所要

単価(768p)

5.2秒1本

MV 1本(30本分)

うちの最速(⑦)

31.6秒

電気代のみ

⑧ fal 素のH3

9.33秒

$0.06/秒

$0.312

$9.36

⑨ fal H3 Max

3.10秒

$0.04/秒

$0.208

$6.24

⑩ fal H3 Max Turbo

1.49秒

$0.02/秒

$0.104

$3.12

費用は速さと逆順。素のH3がいちばん遅くて、いちばん高い。そのぶん、最大4Kで生成するオプションがあります。Turboは6.26倍速くて値段は3分の1(割引価格。9月30日以降は倍)。

3つ並べると、2つの差に割れます

比べるもの

何の差か

倍率

うち①20step 193.5秒 / fal素H3 9.33秒

機械と推論基盤(重みは同じ素のH3)

20.7倍

fal素H3 9.33秒 / Max Turbo 1.49秒

重み(機械は同じ)

6.26倍

上段は「機械の差」だけではありません(向こうは画素+17%・音声つき・段数不明)。fal独自の推論基盤ぐるみの差と読むのが正確です。

私が41日かけて手元で得たのが6.12倍。falが重みを替えて得たのが6.26倍。ほぼ同じ幅でした。

縦軸は対数目盛です。193.5秒と1.49秒を同じ直線目盛に載せると下が潰れて読めないので。

H3 Maxの重みを待つべきか

fal自身が公開を明言しています——ただしXの返信1行だけです(ブログ・製品ページ・API文書・GitHubのどこにもない)。

“we will release the weights, model keeps improving”
— Gorkem Yurtseven(fal)2026年8月27日

予定日はなく、“model keeps improving”という条件つき。28日たっても出ていません。

待つ価値があるのは「速さ」ではありません。重みだけの差は6.26倍で、私が段数削減で得た6.12倍とほぼ同じ幅。 どちらも「段を減らす」系なら、載せ替えても積み上がりません。しかもfalは速さの出どころを「post-training+その模型専用の推論エンジン」と書いており、 重みが公開されても手に入るのは前半だけです。

価値があるとすれば「指示への追従」(falの売り:stronger prompt adherence)。そこはこちらの高速化がいちばん弱い所です (TaoMate 3stepは暗さ・カメラ固定・手を動かさないといった場面の指示への追従が弱い)。ただし今日の作例では、falの3つも筆者が実装した7段階の高速化も追従は同じでした。

次の壁・VAEデコード — ComfyUI 0.36と新しいVAEを試した(9月24日)

ComfyUIの公式ブログが「H3のVAEを2倍速く」(v0.36.0)と発表し、同じ日に別の検証記事(RTX 5080)も出ました。残り39%の本丸なので試しました。

ComfyUI内部の時計・4本回して1本目を捨てる・中央値。第2節の表とは時計が違うので絶対秒は1~2秒ずれます。

1280×704×124・TaoMate 3step

ComfyUI 0.33(いま)

ComfyUI 0.36

間引きなし・従来VAE

45.5秒

間引きなし・INT8 VAE

(0.33では遅くなる

36.0秒(1.26倍)

間引き0.1(ふだん使う構成)

30.1秒

29.3秒

  • INT8 VAEは0.36で初めて速くなる。0.33では+2.7秒遅かったものが、0.36では1.26倍。画質は画素差1.2~1.7/255・PSNR 42~43dBで見分けがつかず、5080の検証記事も同じ値(1.2~1.3/255・42~43dB)

  • ただし筆者が普段使っている構成はスパース込みで、0.33の30.1秒と0.36の29.3秒は同じ(差0.8秒・散り4秒)。いま使っている間引きの実装(H3-Optimizations)が0.36では動かず、本体版の間引き(BlockSparseAttention)に替えるとそのぶん遅くなってVAEの得を相殺するから

  • 5080の記事の見出し「2.8倍」はVAEの往復だけの数字。生成全体は56.4→43.0秒(1.31倍)で、うちの間引きなしの1.26倍と整合します

  • --fast fp16_accumulation(ついでに試した)は効かず。順序を入れ替えた2対で差が消え、しかも絵は変わる(画素差1.9/255)

⇒ 0.33のまま。上げるならINT8 VAEと一緒に、間引きの代わりを用意してから。

計測方法

  • 固定:1280×704、141コマ(5.9秒)、同じ1枚目・プロンプト・3つの乱数種、i2v

  • 各条件4本回して1本目は捨てる。重みを読んだ直後は必ず遅い。捨てた1本目は7条件すべてで最遅でした(229.8 / 99.6 / 61.2 / 49.1 / 61.6 / 41.2 / 36.5秒)

  • 秒はComfyUI自身の記録。端から端を自作プログラムで測ると、状態確認の刻みに引きずられて小さな差が消えます

  • 最後に①をもう一度回す:193.5秒 → 36分後 195.3秒(差0.9%)。機械が傾いていないことを確かめて初めて表を出せます

  • 過去41日の記録は寸法・コマ数・使い方・日付がばらばらで、そのままでは並べられませんでした。だから同じ日に全部測り直した(機械の状態も途中で変わっていました——WSLを4日上げっぱなしにすると同じ仕事が2倍遅くなる)

残っていること

  • VAEデコードの39% — 0.36+INT8 VAEは筆者がふだん使う構成(間引き込み)では差し引きゼロ。間引きの実装が0.36に追随したら、もう一度

  • アテンションをさらに削る — 0.1より下も動きますが、0.05では顔が溶けました。プロンプトに書いた物は全部残ったのに、書いていない顔が先に壊れる

  • 重みそのものを4bitにする — 有望ですが、私のGPU(Blackwell世代)は対応対象外

同じ構成を再現するには

特別な物は何も使っていません。全部公開されているものの組み合わせです。⑥(35.0秒・いまの既定)を作る手順を書きます。

必要なもの

GPU

VRAM 32GB(本体19.5GB+VAE 5GB+テキストエンコーダ。24GBでは本体をGGUF量子化にする必要があり、その場合スパースの部品が動きません)

RAM

48GB以上をLinux側に。長い尺・大きい寸法ほど食います(1920×1088では58GB要りました)

ドライバ

CUDA 13系(580.88以上)。INT8の重みを扱う comfy-kitchen がこれを要求します

ComfyUI

0.33.0(0.36ではスパースの部品が壊れます)

重み(ComfyUIの models/ 以下)

置き場

ファイル

出どころ

diffusion_models/

minimax_h3_fl2va_pruned_int8_convrot.safetensors(19.5GB)

Comfy-Org/MiniMax-H3

text_encoders/

qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors

同上

vae/

minimax_h3_video_vae_fp16.safetensors/minimax_h3_audio_vae_fp32.safetensors

同上

loras/

TaoMate-H3-3step-ComfyUI.safetensors(④⑥⑦)

CZMartin22/TaoMate-H3-3step-ComfyUI

loras/

Turbo 8step(②)

MiniMax公式(ComfyUI版)

loras/

FastH3 4step(③)

FastVideo/FastH3 の dense LoRA を自前で変換(下記)

FastH3はdiffusers形式で配られていて、ComfyUI形式にするにはqkvの並べ替えとfc1の前後入れ替えが要ります(変換器 studio/h3_lora_convert.py。公式ComfyUI版が出ているLoRAと416本ビット一致で検算済み)。 ⑥⑦だけ再現するならTaoMateだけで足ります

ノードの組み方(④の骨格)

UNETLoader(int8_convrot)
→ LoraLoaderModelOnly(TaoMate・strength 1.0)
→ MiniMaxH3SigmaShift で shift = 12(映像)/ 3(音声)
→ ModelAttentionBackend = "comfy kitchen attention" ← ⑤との差。INT8アテンション
→ BasicGuider(CFG 1.0)/ KSamplerSelect: euler / BasicScheduler: simple・3 step
→ SamplerCustomAdvanced → VAEDecode → CreateVideo(24fps)

  • テキストエンコーダは CLIPLoader(type=minimax)。i2vは1枚目を MiniMaxH3ImageToVideo で焼き込む

  • 3stepの並びは、本家の「50段のshift付き線形の index 0・16・33・49」とComfyUIの simple 3段+shift 12が0.5%以内で一致します。特別なスケジューラは要りません

  • ⑤(比較用)は ModelAttentionBackend を "pytorch attention" にするだけ

スパース(⑥⑦)

H3-Optimizations(github.com/Zironic)を custom_nodes/ に置き、LoRAより手前に2つ挟みます:

UNETLoader → H3MemoryOptimization → H3SparseAttention(video_budget 0.3、denser_early_late_steps False)→ LoraLoader …

  • H3MemoryOptimization を先に通さないと chunk_rows で落ちます。denser_early_late_steps は必須入力

  • 効くのは大きい絵のとき。幅×高さ×コマ数が8000万を切る寸法(832×480×124など)では1秒程度しか変わらないので、うちは寸法で自動的に入れる/入れないを決めています

  • 代償は「プロンプトに書いていないところが別の絵になる」こと。書いた物は残ります(8要素で9/9本とも全部残った)。保ちたいものは肯定文で名指しすること。0.05まで下げると顔が溶けました

  • GGUF量子化の本体では動きません(重みの形を読んで落ちる)

測り方の再現

  • 同じ乱数種で同じワークフローを2回投げるとキャッシュに当たって0秒になるので、種を変える

  • 1本目は捨てる3本の中央値最後に最初の条件をもう一度(機械の傾きの確認)

  • 秒は /history の execution_start → execution_success か、ログの Prompt executed in から取る

現状では、5秒の動画を大きな劣化なし、30秒で生成できるというところまではきています。falがH3 Max、Max Turboのウェイトを本当に公開するのかはまだわかりませんが、すでに同レベルまでは到達しているのではないかと思います。

ローカルで試したらそれよりもむちゃくちゃすごいことがわかって、これまでの俺たちの努力は? みたいなことになったらそれはそれでうれしいので、焦らさないで早く公開するといいと思いますよ、falさん。

とりあえず今回の検証のために10ドルのクレジットを買ったので。

《松尾公也》

Amazon売れ筋ランキング

松尾公也

テクノエッジ編集部 シニアエディター / コミュニティストラテジスト @mazzo

特集

BECOME A MEMBER

『テクノエッジ アルファ』会員募集中

最新テック・ガジェット情報コミュニティ『テクノエッジ アルファ』を開設しました。会員専用Discrodサーバ参加権やイベント招待、会員限定コンテンツなど特典多数です。