MiniMax H3動画VAEの最適化がComfyUI 0.36.0に登場
ComfyUI 0.36.0はcomfy-kitchenカーネルでMiniMax H3動画VAEを高速化し、公式Comfy-Orgリポジトリがコンパクトなint8 convrot VAEをホストするようになりました。
VAEパスで変わったこと
変更はすべてcomfy/ldm/minimax/vae.pyとcomfy/ops.pyにあります。カーネルはcomfy-kitchen #167(9月13日マージ)から提供されています。
- 融合されたエンコーダパス。
group_norm_silu_pad3dはフレームごとのGroupNorm、SiLU、reflect/causalパディングを1パスで実行し、NDHWCで出力するため、cuDNNがレイアウト変換なしで動作します。PRはこのステップをロスレスで常時有効と説明しています。 - fp16アキュムレート。
ck.fp16_conv3dとck.fp16_linearはCUTLASSのfp16アキュムレートカーネルを使用し、バイアスと残差はエピローグに畳み込まれます。これらはfp16アキュムレーションを伴う--fastで有効になり、GPUを埋め尽くせないほど小さな起動はcuBLASに返されます。 - Int8デコーダ。 Int8量子化されたデコーダは
ck.int8_attentionと、エピローグが残差を運ぶint8 GEMMを経由し、rms_norm/swigluはアクティベーション量子化器に畳み込まれ、128x256タイルと128x128タイルの間にはwave quantizationガードが入ります。 - バッチ化されたタイルデコード。
tiled_decodeは空きメモリでクランプされつつ最大4タイルを一度にデコードするようになり、タイル実行がフレームごとに直列化されなくなりました。 - Dynamic VRAM互換。 重みと正規化パラメータは
cast_bias_weightを通じて渡されるため、上記はすべてComfyUIのDynamic VRAM読み込み下でも動作し続けます。
comfy-kitchenまたは特定のカーネルが不足している場合、コードは以前のeagerシーケンスにフォールバックするため、古いインストールは影響を受けません。
計測された効果
カーネルPRは、5090で計測した1344x768、362フレームにわたるエンドツーエンドのcomfy.sd.VAE呼び出しを報告しています。
| パス | 前 | 後 |
|---|---|---|
| エンコード(fp16) | 46.6 s | 32.0 s |
エンコード(--fast、fp16アキュムレーション) | 47.2 s | 21.2 s |
| デコード(fp16) | 34.6 s | 31.1 s |
デコード(--fast) | 27.7 s | 23.2 s |
| デコード(int8) | 18.7 s | 12.9 s |
品質は正確なパスに対して測定されました。fp16アキュムレートのエンコードで68 dB、int8デコードで67.7 dBで、VAE自体の再構成フロアは約38 dBです。後続のコアコミット(PR #16332)はMiniMax VAEのメモリ使用量をさらに少し下げます。
int8 convrot VAEが公式リポジトリへ移動
使用するファイルはComfy-Org/MiniMax-H3のvae/minimax_h3_video_vae_int8_convrot.safetensorsで、9月15日に2.81 GBでアップロードされました。Redditスレッドで、H3向けに流通していた以前の実験的int8 VAE(3.17 GB)とどう違うのかと尋ねられたKijaiは、エンコーダが今やfp32ではなくfp16で保存されていると答えました。そもそもデフォルトでfp16で動作していたため、両者は同一にデコードされ、保持すべきは小さい方のファイルだとのことです。
作者のカードが許す最大解像度で3枚の参照画像を使ったMiniMax H3の参照から動画の実行。更新されたVAEに関するRedditの報告とともに投稿されました(u/Chiduck99)。
小型カードでユーザーが見ているもの
この変更は、H3での以前の上限が10秒で0.8 MPだったRTX 3060 12 GBユーザーによるRedditの報告で明らかになりました。同じカードで更新済みVAEを使うと、10秒で1 MP、15秒で0.7 MPになり、目に見える品質低下はないと報告しています。そのスレッドでのKijaiの返信は、このアップロードをカーネル作業と結び付けています。comfy-kitchenの最適化されたカスタムカーネルはint8 VAEとオリジナルのfp16 VAEの両方を高速化し、ComfyUIとcomfy-kitchenが最新である限り常に有効です。
利用可能性
どちらのパーツもComfyUI 0.36.0(9月15日)の一部です。VAEパスはPR #16187を通じて提供され、comfy-kitchen 0.2.34がそのタグのrequirements.txtにピン留めされています(現在のmasterでは0.2.35)。そのため更新済みのインストールに追加のものは不要です。動画VAE、音声VAE、デコーダはすべて、既存のMiniMax H3ワークフローによって自動的に読み込まれます。
コメント
GitHubでサインインしてディスカッションに参加しましょう。