見出し画像

FLUX.1 dev 生成速度アップ、VRAM節約方法

FLUX1は、従来の画像生成よりも、パラメータ数が多いため、モデルも大きくメモリ、VRAMを使い、かつ時間もかかる。

ローカルで実行する場合、いかにVRAM消費を少なくし、速度をあげるかに苦労するだろう。

単純実行でも、VRAM12GBでも、かなり厳しい。1024x1024以上のサイズを(上限1~3分程度で)作ろうとすると、現実的にはVRAM16GB, Loraを使おうとするとVRAM24GB必要だろう。

というわけで、今までやってきたVRAM節約=速度アップの方法を書いておく。

[2024/08/26] EasyForgeとFlux Fusion DSを追記

forgeモデルを使う

16bitのモデルを8bitに変換して、消費VRAM半分、実行速度も半分程度になる。デメリットは、品質がbitを削った分下がるのだが、私は目で見てもわからない。

私は、ComfyUIから、WebUIに戻した。今ではComfyUIでも扱えるらしい。

[追記]forgeを入れるには、それなりに環境構築が必要なためそれをスキップするためにはEasyForgeがよさそうである。

xformersを使う

こちらはVRAM節約、速度アップをする手段だ。デメリットは、品質が少々下がるのと、シードによる再現性がなくなる。NVidiaのグラボしか扱えない。

こちらも使えるなら使ったほうが良いだろう。


上記の2つを使ったうえで、私はVRAMが節約できた分を画像サイズを大きくして生成できるようになった。FLUX1は品質がとても高く、Hires.Fixなどを使わないほうが良い画像ができる。上記二つを扱うことで、メモリに余裕ができるので1024x1024相当の画像も現実的な生成時間で扱えるようになった。

[追記]Flux Fusion DSを使ってみる→個人的には微妙

devとschnellをマージしたもので、低VRAMと8stepで生成できる。
実際に作ってみたところ、品質が微妙だったので、私は使わない。用途によってはありだろうが、私はクオリティを求めてFLUXを使っているため、いまいちだった。おそらく作る対象が人間でなければそれほど気にならないかもしれない。

実際の生成画像を置いておく。10枚くらい作って、一番良かったものだ。一番したのdevの画像と比べてみてほしい。


とはいえそれでもVRAMが足りない

FLUX.1 devをローカルで動かすときのVRAMのラインを書いておこう。VRAM以外の要素も当然あるのだが、VRAMをはみ出すと急に速度が1/5~1/10程度になるため、必要なのはとにかくVRAMの量だ。

メモリも32GBは必須、他の作業も並列で行いたいのであれば、64GB欲しいところだ。メモリに余裕がないと、大きなモデルのロードの際にボトルネックになる。タスクマネージャーを見て、メモリ展開でぶつかっている場合は増量したほうが良いだろう。

VRAM12GBの壁
RTX3060 12GBあたりが最低必要だろう。ただ、このラインは作れるというレベルであってサイズが大きい画像を作るのを常時使うのはかなり無理がある(10~20分程度かかる)。schnellかFlux Fusion DSは現実的。

VRAM16GBの壁
RTX4060Ti 16GB。上記2つを使って1024x1024サイズ以上の作成ができる。制作時間は1分程度。
ただしLoraはそれでも20分~2時間かかる。現実的ではない。

VRAM24GBの壁
RTX3090 24GB以上。ようやくLoraが扱える。
GoogleColabで作るのが良いかもしれない。

VRAM20GBは、そろそろ出ると言われているRTX5090が出た1年後に5060Tiで実現されるかもしれない。でも20GBでもLoraでは足りないのだよな。


最後にdev+forge+xfomersできた画像を何枚か張っておく。繊細さ、細密さが頭一つ抜けてると思う。


この記事が気に入ったらサポートをしてみませんか?