MiniMax H3を高速化する(3)

高速化できると聞くと試してみたくなる…

4種の神器

 下記のXのポストで紹介されているMiniMax H3の高速化ツールです。1.と2.は私も導入済みだったので,3.と4.を導入しました。

  1. minimax_h3_video_vae_int8_convrot.safetensors
  2. MATLOWAI/minimax-h3-fused-turbo-int8-convrot
  3. MiniMax H3 Fast VAE Decode
  4. Sparse Attention node (ComfyUI最新版へ)

Photogenic Weekend on Twitter / X

以下の記事でも詳しく解説されています。

【MiniMax H3】懲りずに高速化手法を試してRTX4070で5秒動画を30秒時短してみた(ワークフロー付き)|かみもと|ローカルAI生成

ComfyUI-MiniMax-H3-MotionCache-FastVAE

VAEデコードのノードを入れ替えて高速化するカスタムノードです。

https://github.com/Mozer/ComfyUI-MiniMax-H3-MotionCache-FastVAE/blob/b719329e0ecf35f0ae08d241c363ed1e56adbb95/fast_vae_decode.py

ノードを入れ替えて動画を生成したのですが,なぜか映像が暗くなってしまいました。同様の症状の方が他にもいらっしゃったので,何か解決策がないか調べていくと,GoogleのAIが修正版が出ていることを教えてくれました。
私は以下のWebページから修正されたfast_vae_decode.pyファイルをダウンロードして入れ替えてComfyUIを再起動したところ,症状が改善しました。

https://github.com/Mozer/ComfyUI-MiniMax-H3-MotionCache-FastVAE/blob/b719329e0ecf35f0ae08d241c363ed1e56adbb95/fast_vae_decode.py

肝心のVAEデコード時間は448x640ピクセルの5秒動画で8秒台と標準のノードとほとんど差がありませんでした。解像度が高く,時間が長い動画ほど効果が出るようなので,解像度を832x1216ピクセルに変えてチェックしました。生成時間と( )内の数値はVAEデコード時間です。

  • Fast VAEデコード 172秒(28.7)/148秒(27.3)/152秒(27.4)
  • 標準VAEデコード 169秒(27.7)/149秒(27.0)/148秒(26.8)

結果はこちらもほぼ同じでした。私が使う設定ではあまり高速化されないようです。

Block Sparse Attention

 今まではカスタムノードをインストールして使っていた同様のノードがComfyUI本体にマージされたとのことです。先日,ComfyUIが0.35.0にアップデートしてノード名がModel Sparse Attentionに変更され,正式にサポートされるようになりましたので以下の内容は古いものになりますが,自分の覚書として残しておきます。


ComfyUIをアップデートすれば使えるようなのですが,バージョン番号が割り振られていないアップデートなので,方法がわかりませんでした。私はStability Matrixを使って環境を構築しているので,色々調べてこちらの記事にたどり着きました。
コミットハッシュを使えばアップデートできそうということがわかりました。コミットハッシュは以下のWebサイトでe308cc7であることをつきとめました。

https://github.com/Comfy-Org/ComfyUI/commit/e308cc73b466584b0c17be695e5de1a17438bb40

Stability Matrixのパッケージ画面のComfyUIの中にある…ボタンからChange Versionを選び,下記のように設定します。Versionの部分は先にmasterを選ぶとCustom…の部分が設定できないので,masterではない項目を選んでCustom…の部分を設定し,masterに変更しました。

ss.jpg

コミットハッシュは私の場合,e308cc7だけでは更新ができませんでした。下記のWebサイトで赤い□の部分をクリックしてコピーしたものを貼り付けたら更新ができました。

https://github.com/Comfy-Org/ComfyUI/commit/e308cc73b466584b0c17be695e5de1a17438bb40

ss3.jpg

ss2.jpg

ここまでくるのに数日を要してやっとたどり着きました。やっと生成テストにたどり着きました。先日構築した4stepモデルを使うワークフローのH3 SLA Attentionノードと比較してみました。448x640ピクセルの5秒動画を3回生成した時間です。

  • Block Sparse Attentionノード 83秒/67秒/64秒
  • H3 SLA Attentionノード 171秒/72秒/68秒

H3 SLA Attentionノードと比較すると数秒速くなっているようです。多少のばらつきはありますが,2回目以降は最速60秒台で生成できるようになり,体感的にもかなり速くなった印象です。

4種の神器はそろったけど…

 ComfyUIをアップデートしてBlock Sparse Attentionノードが使えるようになりましたが,今までMiniMax H3のベースのワークフローで使っていたH3 Memory OptimizationとComfyUI MiniMax-H3 SPEED Samplerの2つのノードで生成中にエラーが出るようになりました。H3 Memory Optimizationはノードをインストールしなおして使えるようになりましたが,ComfyUI MiniMax-H3 SPEED Samplerの方はエラーが出て使えない状態です。高速化に一役買っていたノードであることと,Block Sparse AttentionノードがH3 SLA Attentionノードよりも若干速いくらいだったので,ComfyUIのバージョンを0.34.0に戻してComfyUI MiniMax-H3 SPEED Samplerを使える状態にしています。
ComfyUI 0.35.0のアップデートも試してみましたが,同様の状態でワークフローが動かないので0.34.0でしばらく様子見をすることにしました。

この記事へのコメント

コメントはまだありません。

コメントを送る

必須
 
※ メールアドレスは公開されません
任意
必須
Loading...  画像の文字を入力してください
9
10
11
12
13
14
15
16