Flux1 with LoRA&Flux1 NF4 on ComfyUI
何というか、暴力的なまでの速度で画像生成AI環境が進化しつつありますが、lllyasviel氏が「天才」の名に恥じぬ異能ぶりを発揮してくれたお陰で、遅い、重いと言われていたFlux1が、NF4形式という新しいフォーマットで動作させることによって相当速度環境が改善されることになりました。
ただ、後日この形式に問題や障害が生じるとすれば、今後マージモデルやオリジナルモデルを開発する各位が、氏と同じようにNF4形式で開発できるのか…という点がありますが。
(後述しますが、LoRAの互換性の問題も出てきそうです)
そして、元から最新技術の反映が速いと言われているComfyUIがこれに追随しない筈もなく、あっさりとNF4公開当日の内にComfyUIでもNF4形式のFlux1を使用できる環境が整いました。
ただ、現状ではLoRAを組み込むとKSampler時点でエラーを起こす為に、LoRAが使えません。完全にモデルのフォーマットが異なるので、互換性がないものと思われます。
ともあれ、ベースノードを作成したので公開します。
上のノードでは、下図のようにKSamplerに代わるFlux用のSamplerを採用してみました。
また、先日作成したNegative Prompt対応版についても、NF4形式に改良してみました。こちらは従来のKSamplerでしか対応できないノードになっているので、そのままですが、Samplerの種類はipndmに変更しています。
拡張機能インストール時の注意点としては、解説文にもありますが、bitsandbytesライブラリーをインストールしてくださいと、ただそれだけですね。Portable形式のComfyUIにPythonライブラリーを追加するコマンドについては、下の記事を参照してください。
venv形式とは異なる仮想環境(※私は仮にPortable形式と呼んでいますが、これはこれで一種の仮想環境です。尚、パッケージ版のForgeとComfyUIは、Portable形式という点で似ているようで、Pythonのロード方法は微妙に違います。ただ、ライブラリーを操作するコマンド形式は同一です)になるので、コマンド文がA1111等と異なります。
ちなみに、当然NF4形式でなければFlux1にもLoRAは適用できるので、従来形式によるLoRA適用バージョンのノードは以下の通り作成しました。
Flux1用のLoRAとしては現状、下記のようなものがあります。