FLUX.1を量子化モデルで遊ぶメモ
このメモを読むと
・画像生成を高速化できる
・VRAM使用量を減らせる
・FLUX.1[dev]モデルは約24GB→12GBまで節約
検証環境
・OS : Windows11
・Mem : 64GB
・GPU : GeForce RTX™ 4090
・ローカル(pyenv+venv)
・python 3.10.12
・2024/8/M時点
推奨環境
・Mem : 16GB 以上
・GPU : 12GB 以上
bitsandbytes nf4 モデル
4bit量子化されたモデル。
量子化を活用すると、VRAMを節約できます。
ComfyUIで使用可能になりましたので、試してみましょう!
事前準備
まずはComfyUIを導入します。
環境構築
とても簡単です!
1. ComfyUIを最新化し、仮想環境立ち上げ
cd ComfyUI
git pull
.venv\scripts\activate
2. 追加のコンポーネント導入
cd custom_nodes
git clone https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4.git
3. 追加パッケージのインストール
cd ComfyUI_bitsandbytes_NF4
pip install -r requirements.txt
cd ../..
4. 追加ファイルのダウンロード
こちら(Hugging Face) から下記をダウンロードします。
・flux1-dev-bnb-nf4.safetensors (11.5GB)
5. 追加ファイルの格納
ダウンロードしたファイルを下記の構成で格納します。
6. 画像(ワークフロー)のダウンロード
こちら から画像をダウンロードします。
完了です!
FLUX.1を動かしてみる
画像を生成してみましょう。
1. 下記コマンドにて、ComfyUIを起動
cd ComfyUI
.venv\scripts\activate
python main.py
2. 先ほど保存した画像をUI画面へdrag&dropし、ワークフロー呼び出し
3. モデルを選択し、好きな生成文(prompt)を記述
4. 生成開始
5. できた
./output へ成果物が格納されます。
生成速度
下記条件でタスク完了までの時間を検証します。
16bitモデル:t5xxl_fp16.safetensors
8bitモデル:flux1-dev-fp8.safetensors
4bitモデル:flux1-dev-bnb-nf4.safetensors
当環境ではスピードに関してさほど優位性がありませんでした。
おわり
FLUX.1量子化モデルで画像生成できた。
元モデルの約半分のVRAMで実行できました。
VRAM使用量が減ったことで、特にVRAMが限られている場合に実行速度が向上しそうです。
ただし、非bnbモデルのLoRAが流用できないなど問題もあるよう。
おしょうしな
参考にさせていただきました。ありがとうございました。