
以前書いたSpectrumとは別に、MiniMax H3を高速化できるComfyUI-SolAttn_tritonというカスタムノードをkijai氏がリリースしました。
使い方は混合順さんの記事やうみゆきさんのポストを参考にしています。
この記事ではノードの導入と、自分の環境でSageAttentionやEasyCacheを併用し、生成速度や結果がどうなるか紹介します。
ComfyUI-SolAttn_tritonとは?
ComfyUI-SolAttn_tritonは、Sol-AttnをComfyUIで動かすための実験的な実装です。
モデルのAttentionを差し替えて推論を速くする狙いのノードで、ワークフローにノードを1つ挟む形で使います。
まだwork in progressの段階なので、これから変わる部分がある前提で触るのがよさそうです。
Tritonを使う実装なので、初回の実行はコンパイルが入るぶん遅くなります。
主な特徴
- Sol-AttnをComfyUIのモデルにパッチとして適用する
- Tritonベースの実装で、初回実行はコンパイル分だけ時間がかかる
- tau、start_percent、end_percentで速度と品質のバランスを調整できる
- repoだと4090と5090、MiniMax H3で動作確認されている
- 開発中の実験的な実装
必要なもの
ComfyUIで動かすのでComfyUIが必要です。
導入がまだの方はこちらの記事を参考にしてみてください。

MiniMax H3の基本的な使い方についてはこちらで紹介しています。

Tritonのインストール
ComfyUI-SolAttn_tritonは名前の通りTritonが必要です。
SageAttentionは任意ですが、併用することでより高速化が可能です。
Stability Matrixならオプションでインストールできますが、ポータブル版は自身で導入する必要があります。
情報が古くなってるかもしれませんが、以前書いた記事があるのでこちらを参考にしてみてください。

カスタムノードのインストール
執筆時点でComfyUI-SolAttn_tritonはManagerには公開されていませんでした。
なので手動インストールします。
custom_nodesフォルダでクローンしてください。
cd ComfyUI\custom_nodes
git clone https://github.com/kijai/ComfyUI-SolAttn_tritonSageAttentionを使う場合はComfyUI-KJNodesも必要です。
こちらはManager、または手動でインストールしてください。

cd ComfyUI\custom_nodes
git clone https://github.com/kijai/ComfyUI-KJNodes.gitクローン後は、ComfyUIを再起動します。
ノードの設定&実行
今回はComfyUIの公式テンプレートで試します。
左上部のメニューから「Browse Templates」を開いて→MiniMax H3: Image to Videoを取り込んでください。
Patch Sol-Attn
MiniMax H3の処理がImage to Video (MiniMax H3)というサブグラフにまとめられているので、サブグラフ内に入るか、右クリック→Unpack subgraphで展開して内部のノードを表示してください。
Spectrumと同じで、モデルローダーとサンプリング用ノードの間へ配置します。
またパラメータを以下のように設定します。
- sink_conditioning:exact_kv
- morton:true
- morton_curve:3d

もしSageAttentionを追加するならPatch Sol-Attnの前、EasyCacheは後に追加します。
これは他の方の真似をしているだけで理屈はよく分かってません。

それぞれのノードは以下のように設定します。
Patch Sage Attention KJ
- sage_attention:sageattn_qk_int8_pv_fp8_cuda++
- allow_compile:true

EasyCache
- reuse_threshold:0.3
- start_percent:0.2
- end_percent:0.9

初回はTritonのコンパイルで待たされるので、設定を比べるなら2回目以降で見たほうがいいそうです。
Patch Sol-Attnの生成結果
それぞれ生成速度は以下の通りでした。
| 位置 | 設定 | 生成時間 |
|---|---|---|
| 左上 | デフォルトのworkflow | 6分3秒(363.42 seconds) |
| 右上 | Patch Sol-Attn | 4分22秒(262.13 seconds) |
| 左下 | Patch Sol-Attn+EasyCache | 2分48秒(168.99 seconds) |
| 右下 | Patch Sol-Attn+EasyCache+SageAttention | 2分21秒(141.70 seconds) |
追記:10秒以上の動画かつもう少し動きのあるものじゃないと効果が分からないとのことだったので、別の動画で試して見ました。
ちょうど10秒ですが、5秒と同じくらい高速化はできており、動画もほぼ崩れていないと思います。
なので長さや動画内容に関係なく使えそうです。
| 位置 | 設定 | 生成時間 |
|---|---|---|
| 左 | デフォルトのworkflow | 18分03秒(1083 seconds) |
| 右 | Patch Sol-Attn+EasyCache+SageAttention | 6分3秒(363.42 seconds) |
まとめ
Spectrumノードありが4分44秒だったので、Patch Sol-Attnのみだと大体同じような効果でした。
ただEasyCacheとSageAttentionを組み合わせることで、そこからさらに2倍近く高速化が可能です。
今回の検証を見る限りでは動画の劣化はほとんどないので、生成を高速化してみたいという方は、ぜひ試してみてください。
以上ComfyUI-SolAttn_tritonの使い方を紹介しました。
参考になれば幸いです。

