見出し画像

Paperspace上でのSD.NEXTによるFLUXモデルの環境構築について

概要

SD.NEXTは、AUTOMATIC1111 のフォーク版で、Midjourne(ミッドジャーニー)越えの最高品質モデルのFLUXを安定して出力できる数少ないUIの一つです。

特にこんな下記に当てはまる方にお勧めです。

  • これから画像生成を始めたいと思っている方

  • いきなり凄い画像を出したい方

  • AUTOMATIC1111をずっと使ってきた方

  • 高性能なグラフィックボートを買わないで、ネット上でやりたいし、大人向けの画像(ヌード画像等)も出したいと思っている欲張りな方

また、Paperspace(ペーパースペース)は、クラウド上で高性能なコンピューティング環境を提供するサービスです。簡単に言えば、インターネット経由で強力なパソコンをレンタルできるようなもので、ローカル環境のように自由に画像出力が可能です。

今回は、FLUXモデルの中にもバージョンが各種存在し、その中でも、パフォーマンスの高い量子化されたモデル"qint4"の導入を行います。

 ※2024/9/21時点では量子化モデルにLORAが反映されない状況です。
 ※LORAを使用する場合は別モデルを使用する必要があります。

経緯

FLUXモデルの各パフォーマンスは下記のとおりです。

GPUでA6000を借りることが多いので、通常のモデル”bf16”で問題ないと判断しましたが、実際は最後にメモリをオーバーするのか、出力の段階で、接続が切れてしまう危機的な状況でした。

そこで、量子化されたモデルの"qint4"の導入を目指すのですが、そのためには、新たに”torch==2.4.0”が必要となり、その他のバージョンと合わないので、SDNextが立ち上がらなくなるようような状況まで追い込まれ、私のような非エンジニアは絶望の淵に立たされました。

そんななかで先輩方の記事を拝見し、環境を再構築することから始めました。

Paperspaceのコンテナの変更

”torch==2.4.0”が必要になりますが、まずはコンテナの変更が必要になります。
コンテナを変更して、初めて、”torch==2.4.0”が使用できるようになるようです。

<方法>

一番最初からになります。
まずは、右上の
①「CREAT」を選択

②次に「Start  from Scratch」を選択 

②その中の下の方にある「Advanced option」を選択


③下の方に表示される「Container」に下記のコードを入れて最新のコンテナを導入します。

elementtheory/paperspace-gradient-base:latest


<参考>

shiba*2さんの資料を参考とさせていただきました。
本当にありがとうございました。
コンテナの詳細は下記をご確認ください。

たぶん、多くの人がコンテナの変更に気が付かなかっただけだと思いますので、もうここまでくると、自力でできる人も多いと思います。

あと、引っ掛かりやすいというか、最難関のtorch関係のコード部分は、下記のとおりです。
torchと他のバージョンを合わせるのが自分には本当に辛かったです。。

多くの方が求める1行をここに。

!python3.11 -m pip install torch==2.4.0+cu124 torchvision==0.19.0+cu124 torchaudio==2.4.0+cu124 --extra-index-url https://download.pytorch.org/whl/cu124


一応、初めての方のために、コンテナ変更後の流れや設定を簡単に説明しておきます。

SD.Nextのインストール

インストールはとにかく簡単です。
下記を実行するだけでインストールできます。

 #SD .Nextのインストール
%cd /notebooks
!python3.11 -m pip install pickleshare
!git clone https://github.com/vladmandic/automatic
%cd /notebooks/automatic


モデルのダウンロードも簡単なのですが、他と異なっていますので、
参考に記載しておきます。
※フォルダに保存する方法でも大丈夫です。

SD.Nextへのモデルのダウンロード

①UIを立ち上げて、Networksを選択

②Referenceを選択して、希望のモデルを選択
 この時に "Reference" から
   "FLUX.1 dev qint4" を選択します。

設定の追加

現時点で、何点か追加の設定をしておいた方がよさげなのを記載しておきます。
個人的に色々試した結果で、もしかすると不要なのもあるかもしれません。

タブで "System" から ”Settings” を選択して、慣れないうちは "Show all pages" で全部表示させます。

  1. Device precision typeを ”BF16" に

  2. Quantize Model weights with Optimum Quanto を全部チェック

  3. Weights type for Optimum Quanto の"qint4" にチェック

  4. Model offload mode を ”balanced” にチェック

  5. Quicksettings list の該当をすべて選択(後が楽になります)

  6. "LoRA force loading of all models using Diffusers" 関連にチェック
                      (ここはまだ研究中です)

  7. 最後に忘れずに "Apply settings" を押して、更新されたら、一応、システムを立ち上げなおします(しなくて良い場合もあります)。

  8. 上部に表示されるテキストエンコーダーを "T5 FP16" に変更

Quicksettings list
7."LoRA force loading of all models using Diffusers"関連
Quicksettings list 設定後


ここに記載した以外にも、おすすめ設定が多くあります。
これも後日掲載する予定です。


出力例

修正なしのそのままの状態です。参考にプロンプトも記載しておきます。
※4枚ずつ出したものの中から選んでいるので、もっと良いはずです。

A close-up shot of an elegant Asian woman in a sleek white astronaut suit, standing on the moon’s surface. Her face, framed by her dark, flowing hair, is illuminated by the Earthrise in the background, highlighting her calm determination as she gazes


A photorealistic image of a beautiful Asian woman lying on a tropical beach, wearing a vibrant bikini. Her relaxed pose is framed by golden sunlight, her skin glowing against the soft white sand, with gentle waves rolling in the background.


A vibrant anime-inspired image of an Asian woman in a bikini, reclining on a tropical beach. Her features are soft and expressive, with large sparkling eyes, while the sunset casts a golden glow across her body. The turquoise ocean stretches behind her, with tropical waves gently rolling. The author is a famous Japanese animation film director.


Prompt: An Asian woman triumphantly planting a flag on the moon's surface, wearing a state-of-the-art spacesuit. The lunar landscape stretches endlessly under a vast starry sky. The Earth is visible, casting a soft blue glow on her reflective helmet visor.

Negative: watermark



実行コード

あと、次のページに実行コードとファイルを載せておきますね。
コード修正するの面倒だからという人は、よかったら、ぜひ、お使いください。

私がChatGPTo1previewと相談しまくってなんとか形に仕上げたものです。
本当にありがたい世の中になりました。


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