見出し画像

【ai-diffusion】Kritaでnunchakuを利用した話【Flux】


はじめに

KritaでAI画像生成が可能になるプラグインKrita-ai-diffusionのバージョンが1.38.0になり、Flux Nunchakuが可能になったので利用してみました。

Nunchakuとは?

なぜ名前がヌンチャクなのかは不明(low-rank branch成分を"繋げる"から?)ですが、SVDQuantという高度な4bit量子化モデルを扱う技術です。ComfyUIでは、ComfyUI-nunchakuカスタムノードとnunchakuパッケージを導入する事で利用可能になります。

ただし、AI量子化技術全般に言える事ですが、量子化したからと言って演算数が変わるわけではないので、正味の演算速度が速くなるわけではありません

量子化によって高速化するほとんどの理由が、

  • ①サイズを縮小しGPUメモリに全部収まれば、マトリックスを分割しないで扱える

  • ②8bitや4bit専用ハードの演算機能が利用できる

なので、上記に当てはまらない場合は、劇的に変わりません。ただし、サイズ縮小によるキャッシュ効率化やボトルネックの解消、さらにnunchakuはただ量子化しているだけではないので、少し速くなるはずです。

また、FLUX.1をローカルで動作させる場合、FLUX.1用のControlNetはGPUメモリを大量に要求するため事実上動作困難でしたが、大幅にGPUメモリを削減できるnunchakuを利用する事で、一般的な8GB/12GB GPUでもControlNetを利用する事が可能になります。

つまり、筆者のようなRTX30xxシリーズの旧GPUやVRAMの少ないGPUの場合は、高速化の恩恵よりも「動作しなかったものが動作するようになる」事の方が大きいと思います。

Krita-ai-diffusion内蔵のComfyUIでは簡単に利用できる

Krita-ai-diffusionの「ローカル標準サーバー:Krita専用のComfyUI」を利用するのが最も簡単
各種Flux modelsとKontextが追加されています。
そしてデフォルトがベースモデルではなく「Krea」になっています

実際に利用してみる

※ 筆者環境では(少し設定に苦労しましたが)Krita専用ではなく、通常のComfyUI上でnunchakuを設定した動作ですが、上記のダウンロードモデルをそのまま使っています。

FLUX.1 Krea生成速度

nunchakuモデル利用(svdq-int4_r32-flux.1-krea-dev):1280x900解像度で39秒
通常モデル利用(flux1 KreaDevFP8_fp8E4m3fn):47秒

FLUX.1 Kontext生成速度

nunchakuモデル利用(svdq-int4_r32-flux.1-kontext-dev):49秒
通常モデル利用(flux1-kontext-dev-Q4_K_M.gguf):149秒

FLUX ControlNet利用

※ 筆者GPU環境では、GPUメモリが足りず、nunchakuモデル以外のFluxはControlNetを利用できません

Depthを利用して、
Japanese womanを生成:40秒
背景の変更:41秒
構図を変更して
生成拡張:45秒

まとめ

筆者環境での高速化は、すべてGPUメモリに乗るようになった事が大きいです。上記画像生成では、瞬間的に最大6GB程度に収まっています。

また、nunchakuの恩恵が得られるモデルは、nunchakuモデルだけなので、他のFLUXモデルが省メモリ・高速になる事はありません。しかし、高性能なKreaモデル+基本ControlNetや拡張・インペイントが可能になる点はとても大きいと思います。

ComfyUIのnunchakuは、Qwen-Image(Edit)も利用できるようになっているので、そのうちKrita-ai-diffusionが対応してくれるのではと思います。

以下、関連する記事等の【PR】です。


いいなと思ったら応援しよう!