メインコンテンツへスキップ
見出し画像

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. 追加ファイルの格納
     ダウンロードしたファイルを下記の構成で格納します。

    ComfyUI
        └─ models
              └─ checkpoints
                    └─ flux1-dev-bnb-nf4.safetensors

    6. 画像(ワークフロー)のダウンロード
     こちら から画像をダウンロードします。

    画像

    完了です!

    FLUX.1を動かしてみる

    画像を生成してみましょう。

    1. 下記コマンドにて、ComfyUIを起動

    cd ComfyUI
    .venv\scripts\activate
    python main.py
    画像

    2. 先ほど保存した画像をUI画面へdrag&dropし、ワークフロー呼び出し

    画像
    drag&drop
    画像
    ワークフローが自動構築されます

    3. モデルを選択し、好きな生成文(prompt)を記述

    画像
    モデル(bnb-NF4のみ対応)
    画像
    プロンプト

    A photorealistic portrait of a fit elderly man working out on a beach. The man has a lean and muscular physique, showcasing a slim but toned build. In the background, there's a sign with the word 'No Smoking' written on it.
    ビーチで運動する健康な年配の男性の写実的なポートレート。この男性は引き締まった筋肉質の体格で、スリムでありながら引き締まった体格を誇っています。背景には「禁煙」と書かれた看板があります。

    prompt

    4. 生成開始

    画像

    5. できた

    画像

     ./output へ成果物が格納されます。

    生成速度

    下記条件でタスク完了までの時間を検証します。

    ・widgh : 1280
    ・height : 720
    ・batch_size : 10

    16bitモデル:t5xxl_fp16.safetensors 

    生成時間   122.09 秒
    VRAM消費   23 GB前後

    8bitモデル:flux1-dev-fp8.safetensors

    生成時間   109.84 秒
    VRAM消費   16 GB前後

    4bitモデル:flux1-dev-bnb-nf4.safetensors 

    生成時間   109.74 秒
    VRAM消費   12 GB前後

    当環境ではスピードに関してさほど優位性がありませんでした。

    おわり

    FLUX.1量子化モデルで画像生成できた。
    元モデルの約半分のVRAMで実行できました。
    VRAM使用量が減ったことで、特にVRAMが限られている場合に実行速度が向上しそうです。
    ただし、非bnbモデルのLoRAが流用できないなど問題もあるよう。

    おしょうしな

    あ”ー盲点。新型Forge採用のflux1-dev-bnb-nf4。以下のカスタムnodeで #ComfyUI でも使えるけど、 #Flux.1 devで学習したLoRAが使えない…。おそらく新型Forgeも同様。< 今はそもそもType Errorで未サポートhttps://t.co/OSNEcHfqaE

    — Photogenic Weekend (@PhotogenicWeekE) August 11, 2024

    参考にさせていただきました。ありがとうございました。

     
     
    あとから再構築できるようにメモ。 ビギナーなのでChatGPTに助けてもらってます。

    あなたへのおすすめ