MiniMax-H3-Turbo-Loraの使い方|ComfyUIで4ステップに高速化する方法

MiniMax H3を高速化できるLoRAがリリースされたので試してみました。

既存の高速化手法と異なり、モデルやノードの差し替えなど少し準備が必要です。

この記事では専用のカスタムノード導入から生成結果まで紹介します。

MiniMax-H3-Turbo-Loraとは?

MiniMax-H3-Turbo-Loraは、MiniMax H3の生成ステップを減らすための高速化LoRAです。

最小で4ステップ生成が可能ですが、クオリティによって調整は必要とのこと。

単純計算でおよそ5倍速になり、映像と音声(32kHzステレオ)を同時に生成するMiniMax H3の性質はそのままのようです。

ただし作者さんが「早期のプロトタイプで学習途中のチェックポイント」と明記していて、品質は完成品ではありません。

本家のLoRAは非pruned版のモデル向けですが、有志の方がpruned版のモデル向けに変換したLoRAも配布されています。

主な特徴

  • MiniMax H3の生成を約20ステップから4ステップに減らす高速化LoRA
  • ベースは Comfy-Org/MiniMax-H3
  • 映像と音声(32kHzステレオ)を同時に生成
  • 重みはbf16で1ファイルおよそ780MB
  • 学習途中の早期チェックポイントで品質は発展途上
  • 非pruned版で使う場合は専用のカスタムノード ComfyUI-MiniMax-H3-Turbo が必要
  • ライセンスはApache-2.0
GitHub – Larryvrh/ComfyUI-MiniMax-H3-Turbo
Contribute to Larryvrh/ComfyUI-MiniMax-H3-Turbo development by creating an account on GitHub.

必要なもの

まずComfyUIが必要です。

インストールがまだの方はこちらを参考にしてみてください。

【ComfyUI】の使い方・始め方まとめ|インストールから基本操作・カスタムノードまで
ComfyUIを始めたいけど、インストール方法がいくつかあってどれを選べばいいか迷う、という方は多いと思います。この記事では、ComfyUIの導入方法の違いと選び方、そして基本的な使い方の入口をまとめて紹介します。各トピックの詳しい手順は、…

MiniMax H3についてはMiniMax H3の使い方で紹介しています。

ベースモデルとLoRAの組み合わせ

pruned版・非pruned版で使用するLoRAや設定が異なります。

今回非pruned版はminimax_h3_fl2va_int8_convrot、pruned版はminimax_h3_fl2va_pruned_int8_convrotで試しました。

非pruned版pruned版配置先
ベースモデルminimax_h3_fl2va_int8_convrot.safetensorsminimax_h3_fl2va_pruned_int8_convrot.safetensorsComfyUI\models\diffusion_models
LoRAminimax_h3_turbo_4step_ckpt500.safetensorsminimax_h3_turbo_4step_ckpt500_pruned_comfyui.safetensorsComfyUI\models\loras

非pruned版の使い方

カスタムノードのインストール

専用のカスタムノード ComfyUI-MiniMax-H3-Turbo が必要です。

ComfyUI-Managerからインストールする場合は、Custom Nodes Managerで「MiniMax-H3 Turbo」を検索してください。

ComfyUI-ManagerのNodes ManagerでMiniMax-H3 Turboを検索し、ComfyUI-MiniMax-H3-Turboが表示された画面

手動で入れる場合は、custom_nodes でクローンします。

cd ComfyUI\custom_nodes
git clone https://github.com/Larryvrh/ComfyUI-MiniMax-H3-Turbo

入れ終わったらComfyUIを再起動します。

ワークフローの変更

公式のMiniMax H3(i2v)のワークフローを土台にして、Image to Video (MiniMax H3)のサブグラフ内、または展開してから2か所だけ変更します。

MiniMax-H3 Turbo LoRA

MiniMax-H3 Turbo LoRAノードをLoad Diffusion Modelとサンプラーの間に挟み、Basic Guider・BasicSchedulerへ接続したワークフロー

MiniMax-H3 Turbo LoRAを追加して、Load Diffusion Modelとサンプラーの間に挟み、Basic Guider・BasicSchedulerに繋いでください。

MiniMax-H3 Turbo LoRAでダウンロードしたLoRAを選びます。

MiniMax-H3 Turbo Sampler (4-step)

SamplerCustomAdvancedに繋がってるKSamplerSelectを外して、MiniMax-H3 Turbo Sampler (4-step)に差し替えます。

MiniMax-H3 Turbo Sampler (4-step)のSAMPLER出力をSamplerCustomAdvancedのsamplerに接続した画面

パラメータ

あとはBasicSchedulerで、Schedulerをsimple、stepsを4にします。

BasicSchedulerでschedulerをsimple、stepsを4に設定した画面
項目
steps(BasicScheduler)4(4以上なら何ステップでも有効。シャープさ重視なら6〜8)
schedulersimple 固定
幅・高さ32の倍数。短辺は768あたりが目安
フレーム数24fpsで、およそ124〜362(5〜15秒程度)が検証済みの範囲

非pruned版の実行結果

VRAM16GBで10秒(576×736)の動画の生成してstepごとにまとめました。

ステップ数生成時間
20step1054seconds(約17分34秒)
4step269.43seconds(約4分29秒)
5step322.44seconds(約5分22秒)
6step376.24seconds(約6分16秒)
7step433.69seconds(約7分14秒)
8step484.80seconds(約8分5秒)
8step(Sage Attention+Patch Sol-Attn)282.67seconds(約4分43秒)
左上から20step/4step/5step/6step/7step/8step/8step(Sage Attention+Patch Sol-Attn)

pruned版の使い方

pruned版の方は作者の方がワークフローを上げてくれているので、こちらを使用します。

fl_minimax_h3_turbo_lora_example_workflow.json

ワークフローの設定

基本は画像とモデルをセットして、あとは次の3つを調整するだけです。

  • BasicSchedulerのstep
  • Scale Image to Total Pixels・Resolution Selectorのmegapixels
  • Float (duration)

デフォルトでmegapixelsが1以上、Float (duration)が18になってるので、スペックに合わせて調整してください。

任意でPatch Sol-Attnなどの高速化ノードも併用できます。

pruned版ワークフローのOptimisationsグループ(Patch Sage Attention KJ・Patch Sol-Attn・Spectrum Apply MiniMax H3)

pruned版の実行結果

こっちはアスペクト比とFloat (duration)を変えるの忘れてて、18秒(480×864)で生成した結果です。

ステップ数生成時間
20step2891seconds(約48分11秒)
4step681seconds(約11分21秒)
5step801seconds(約13分21秒)
6step936seconds(約15分36秒)
7step1068seconds(約17分48秒)
8step1215seconds(約20分15秒)
8step(Optimisations併用)623seconds(約10分23秒)
左上から20step/4step/5step/6step/7step/8step/8step(Optimisations併用)

まとめ

4stepだとチラつきが発生するので、最低6stepは必要かなという印象でした。

ただもっと高い解像度で生成している方は4stepでも崩れてなかったので、環境や解像度もあるかもしれません。

あと6stepやるなら8step+高速化ノードの方が処理速度も速くクオリティも安定しているので、8step+高速化ノードが無難な気もします。

20stepと8step+高速化ノードで比較すると1054→282.67秒で約3.7倍、2891→623秒で約4.6倍になっており、長い動画ほど恩恵がありました。

10秒の動画だとPatch Sol-Attn+EasyCache+Sage Attentionよりも高速化できています。

  • Patch Sol-Attn+EasyCache+Sage Attention:363seconds(約6分3秒)
  • 8step(Sage Attention+Patch Sol-Attn):282.67seconds(約4分43秒)

若干ワークフローの設定が面倒だったり、人によってLoRAの有無によるクオリティが気になる部分もありそうですが、今のところ速さだけならLoRA+高速化ノードが一番良さそうな結果でした。

以上MiniMax-H3-Turbo-Loraの使い方を紹介しました。

参考になれば幸いです。

タイトルとURLをコピーしました