2026年9月4日 金曜日
AI時短ラボ
検証· 約13

ComfyUIの新アテンション実装「Comfy Kitchen」──int8量子化で計算する専用カーネル群が起動オプション1つで切り替わる

画像・動画生成ツールComfyUIはv0.32.0で、`--use-ck-attention`起動オプションから有効化できる新しいアテンション実装「Comfy Kitchen attention」を追加した。実体は別パッケージ`comfy-kitchen`が提供するint8量子化アテンションカーネルで、PyPI上の公式パッケージ説明を確認すると、CUDA・Triton・HIPと複数の計算バックエンドに対応した「Fast Kernel Library」であることが分かる。

ComfyUIの新アテンション実装「Comfy Kitchen」──int8量子化で計算する専用カーネル群が起動オプション1つで切り替わる
執筆・編集:
目次

画像・動画生成のノードベースツール「ComfyUI」は、v0.32.0(2026年8月11日公開)で、モデル内部の計算方式(アテンション実装)を選べる新しい仕組みを追加した。GitHubのリリースノートには「Implement comfy kitchen attention.」という1行しかないが、実装したPRと、関連パッケージの公式説明を追うと、その正体は独立した量子化カーネルライブラリだと分かる。

3行まとめ

  • ComfyUI v0.32.0の--use-ck-attentionは、comfy-kitchenという別パッケージのint8量子化アテンションカーネルを既定バックエンドに切り替える起動オプション
  • PyPIのJSON API経由でREADME全文(約14,000字)を取得すると、開発元はgithub.com/Comfy-Org/comfy-kitchen──ComfyUI本体と同じ「Comfy-Org」組織──で、Apache-2.0ライセンス、バージョンは0.2.31(2026年8月29日確認)だった
  • int8_attentionはCUDAとHIP(AMD)バックエンドのみに対応し、eager(通常のPyTorch実行)・Tritonには対応していない。バックエンド選択の優先順位はhip → cuda → triton → eagerの順

リリースノート1行の裏にある実装

この変更を実装したPR #15479(2026年8月11日マージ)の本文は、次の通り簡潔だ。

"Add a ModelAttentionBackend node to manually select the attention for models in the workflows. Currently supports pytorch attention or comfy kitchen attention." "Add --use-ck-attention to enable comfy kitchen attention as the default attention backend for all models (might break some)."

(ワークフロー内のモデルに対して、アテンション実装を手動で選択できるModelAttentionBackendノードを追加した。現時点ではPyTorchアテンションかComfy Kitchenアテンションのどちらかに対応している。すべてのモデルの既定アテンションバックエンドとしてComfy Kitchenアテンションを有効化する--use-ck-attentionも追加した(一部のモデルでは動作が壊れる可能性がある))

つまり今回の変更は2段構えだ。ワークフロー単位でノードから選択できる方法と、起動時のコマンドラインオプションで全体の既定値を切り替える方法の両方が用意されている。「一部のモデルでは動作が壊れる可能性がある」という但し書きが、開発者自身によって明記されている点は正直な記載だ。

「Comfy Kitchen」の正体は別パッケージのint8量子化カーネル

実際にComfyUI本体のソースコード(comfy/ldm/modules/attention.py)を確認すると、この機能はcomfy_kitchenという別パッケージをインポートして使っていることが分かる。ソースコード中にはattention_comfy_kitchen_int8という関数名があり、int8(8ビット整数)量子化を使ったアテンション計算であることが読み取れる。

このパッケージ自体は、PyPI(Pythonパッケージのレジストリ)に「comfy-kitchen」として公開されている。公式の説明文はこうだ。

"Fast Kernel Library for ComfyUI with multiple compute backends" "# Comfy Kitchen Fast kernel library for Diffusion inference with multiple compute backends."

(ComfyUI向けの、複数の計算バックエンドに対応した高速カーネルライブラリ。Comfy Kitchen:複数の計算バックエンドに対応した、拡散モデル推論向けの高速カーネルライブラリ)

PyPIページに掲載されている「Backend Capabilities Matrix(バックエンド対応表)」を見ると、int8_attentionという関数は、eager(PyTorchの通常実行モード)とTritonには対応しておらず、CUDAとHIP(AMD GPU向け)のバックエンドでのみ実装されていることが確認できる。一方、quantize_per_tensor_fp8adalnna3d(Neighborhood Attention 3D)といった他のカーネルは、eager・CUDA・Triton・HIPのすべてに対応している。

開発元はComfyUI本体と同じ「Comfy-Org」組織

PyPIのJSON API(pypi.org/pypi/comfy-kitchen/json)からパッケージのメタデータとREADME全文を取得すると、project_urlsHomepagegithub.com/Comfy-Org/comfy-kitchenだった。PR #15479が送られた先もComfy-Org/ComfyUIであり、両者は同じGitHub Organization配下にある。ライセンスはApache-2.0、確認時点(2026年8月29日)のパッケージバージョンは0.2.31。バージョン番号の低さからも、比較的新しく開発が進んでいるパッケージであることがうかがえる。

README全文(約14,000字)には、以下のようなカーネル関数の対応表(Backend Capabilities Matrix)も含まれていた。抜粋すると次の通りだ。

関数 eager cuda triton hip
quantize_per_tensor_fp8
int8_attention
int8_linear
na3d(Neighborhood Attention 3D)
quantize_nvfp4
scaled_mm_nvfp4

出典: PyPI JSON API経由で取得したcomfy-kitchenのREADME「Backend Capabilities Matrix」(2026年8月29日確認、全34関数中6件を抜粋)

READMEにはハードウェア要件も明記されており、fp8量子化テンソル(TensorCoreFP8Layout)はSM 8.9以上(NVIDIA Ada世代以降)、NVFP4・MXFP8はSM 10.0以上(Blackwell世代以降)のGPUを要求する。バックエンドの自動選択はhip → cuda → triton → eagerという優先順で行われ、入力が満たせないバックエンドはNoCapableBackendErrorという例外で明示的に弾かれる(try/exceptによる暗黙のフォールバックはしない、とREADMEに明記されている)設計だという。

--enable-triton-backendという関連オプションも存在する

ComfyUI本体のコマンドライン引数を確認すると、Comfy Kitchenに関連する別のオプションも見つかった。

"--enable-triton-backend: ComfyUI will enable the use of Triton backend in comfy-kitchen. Is disabled at launch by default." "--disable-triton-backend: Force-disable the comfy-kitchen Triton backend, overriding the automatic ROCm/AMD default and --enable-triton-backend."

--enable-triton-backend:comfy-kitchen内でのTritonバックエンドの使用を有効化する。起動時は既定で無効。--disable-triton-backend:comfy-kitchenのTritonバックエンドを強制的に無効化し、自動的なROCm/AMDの既定設定と--enable-triton-backendの両方を上書きする)

「ROCm/AMDでは自動的にTritonバックエンドが選ばれる」という記述から、AMD GPU環境ではTritonバックエンドが既定で使われる設計になっていることがうかがえる。int8_attention自体はTritonに対応していないため、この--enable-triton-backendオプションはComfy Kitchen内の他のカーネル(adalnやna3dなど)に影響するオプションだと考えられる。

なぜ量子化アテンションが必要なのか

拡散モデル(画像・動画生成モデル)の推論では、attention計算がGPUメモリと計算時間の両方で大きな比重を占める。int8のような低ビット精度で計算することで、メモリ使用量を減らし、計算速度を上げられる可能性がある一方、精度の低下によって生成結果の品質に影響が出るリスクもある。今回のリリースでは、同じv0.32.0にMiniMax-H3(動画生成モデル)のVAE最適化(PR「Optimize MiniMax-H3 VAE」)も含まれており、動画生成のような計算負荷の重いワークロードへの対応強化が、このリリース全体のテーマの1つだったとみられる。

GPUの種類で最適解が変わる複雑さ

筆者は自宅の環境でComfyUIを使って画像生成を試したことがあるが、アテンション実装の違いを意識して切り替えたことはなかった。今回、comfy_kitchenというパッケージが独立したPyPIパッケージとして存在し、CUDA・Triton・HIPという複数のバックエンドを想定して設計されていることを確認して、ComfyUI本体とは別に、推論カーネルの最適化だけを専門に扱うレイヤーが育ちつつあることを認識した。ローカルで画像・動画生成AIを動かす際、GPUの種類(NVIDIA/AMD)によって最適な設定が変わってくる、という複雑さが、この手のオプションの多さからも見て取れる。

品質劣化の定量評価は確認できなかった

comfy-kitchenの開発元がComfyUI本体と同じ「Comfy-Org」組織であることはPyPIのメタデータから確認できたが、int8量子化によって生成画像・動画の品質にどの程度の劣化が生じるか(あるいは生じないか)についての定量評価は、今回参照したPR本文にもPyPIのREADMEにも記載がなかった。「一部のモデルでは動作が壊れる可能性がある」という記載についても、具体的にどのモデル・どのような壊れ方をするのかという詳細は確認できていない。README内の「Constraint System」の説明によれば、対応できない入力はNoCapableBackendErrorという例外を出す設計だとあるが、--use-ck-attention使用時にComfyUI側がこの例外をどう扱う(起動が止まるのか、警告を出して別バックエンドに回るのか)かは、ComfyUI本体側のコードまでは今回読み込んでおらず確認できていない。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事