MiniMax H3 ハイブリッドマージ: FL2VA の品質と Ref2VA の参照サポートを両立

ComfyUI Wikinews

コミュニティによるマージで、MiniMax H3 FL2VA の品質と Ref2VA の参照条件付けを1つのチェックポイントに統合。専用の ComfyUI Hybrid Loader ノードも付属します。

MiniMax H3 は、同じアーキテクチャを持つ2つのチェックポイントとして提供されます。FL2VA は高品質なビジュアルとオーディオを生成し、Ref2VA は参照駆動生成(画像、ビデオ、オーディオの参照条件付け)をサポートする唯一のバリアントですが、生成結果の品質は明らかに劣ります。コミュニティプロジェクトがこの2つを1つの MiniMax H3 Hybrid チェックポイントにマージし、付属のカスタムノードで ComfyUI に直接読み込めるようにしました。

公式 README に記載された推奨 Hybrid Loader 設定

公式プロジェクトの README に記載された推奨 Hybrid Loader 設定

マージが存在する理由

2つの公式チェックポイントをテンソル単位で比較したところ、重みの大多数(アテンション QKV/出力プロジェクション、MLP、RMSNorm、パッチプロジェクション、ロータリーエンベディング、トークンリファイナー)は FL2VA と Ref2VA の間でビット同一か極めて近い値(コサイン類似度 ≥ 0.9997)であることが判明しました。有意な差異は、ブロックごとの adaln_proj 重みに集中しています。これは、テキスト、オーディオ、ビデオ、参照モダリティ信号を残差ストリームにルーティングする AdaLN 変調プロジェクションです。

参照条件付けの処理は後半ブロックの AdaLN 重みに局在し、一般的なビジュアル/オーディオ品質は共有重みに存在するため、損失を伴う妥協ではなく、ターゲットを絞ったマージが有望に思えました。他のすべての部分は FL2VA をベースとし、後半のトランスフォーマーブロックの設定可能な範囲について、Ref2VA から adaln_proj 重みを引き継ぐという方法です。

利用可能なバリアント

マージはテンソルレベルで実行され、追加のトレーニングは行われていません。すべてのバリアントは FL2VA をベースとしており、50個のトランスフォーマーブロックのうち何個が adaln_proj 重みを Ref2VA から取得するかだけが異なります。

ファイルRef2VA 由来ブロックトレードオフ
minimax_h3_hybrid_fl2va_ref2va_b30-49.safetensors30–49(最後の20個)FL2VA に最も近い: 最高の出力品質、参照機能は低下
minimax_h3_hybrid_fl2va_ref2va_b25-49.safetensors25–49(最後の25個)推奨されるデフォルトのバランス
minimax_h3_hybrid_fl2va_ref2va_b20-49.safetensors20–49(最後の30個)Ref2VA に近い: 参照への忠実度が高く、品質はやや低い
minimax_h3_hybrid_fl2va_ref2va_b15-49.safetensors15–49(最後の35個)参照機能が最も高い、品質はやや低下

各バリアントは、ソースモデルと同じアーキテクチャとテンソルレイアウトを持つ自己完結型のチェックポイント(約21 GB)であり、読み込み後は通常の拡散モデルとして動作します。

ComfyUI での使用方法

このハイブリッドは、ComfyUI 標準の Load Diffusion Model ノードでは読み込めません。標準のローダーは2つのチェックポイントを合成する方法を知らないためです。付属の MiniMax H3 Hybrid LoaderComfyUI_MinimaxH3HybridLoader)がそのギャップを埋めます。

  1. カスタムノードを ComfyUI/custom_nodes/ にインストールし、ComfyUI を再起動します。model/loaders の下に MiniMax H3 Hybrid Loader として表示されます。
  2. ベースモデル に FL2VA チェックポイントを、オーバーレイモデル に Ref2VA チェックポイントを設定します。
  3. プリセットを選択します。ref2va_adaln_over_fl2va(Ref2VA 由来のブロックごとの AdaLN のみ)または、より細かい制御が可能な block_range_adalnblock_range_start / block_range_end(ブロックは 0〜49 でインデックス付け)を選択します。
  4. ローダーはマージされた state dict を ComfyUI 標準のモデルローダーに渡すため、結果は Load Diffusion Model で読み込まれたモデルと区別がつきません。同じパッチャー、同じマルチGPUサポートを備え、int8 の .comfy_quant 兄弟ファイルも自動的に一緒に移動します。

このローダーはメモリに優しい設計です。両方の safetensors ファイルを mmap で開き、テンソルを1つずつマージするため、ピーク RSS はモデル2つ分ではなく約1つ分に抑えられます。

入手方法

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
MiniMax H3 ハイブリッドマージ: FL2VA の品質と Ref2VA の参照サポートを両立 | ComfyUI Wiki