見出し画像

画像生成 AI の Forge の環境を Windows11 & WSL2 Ubuntu に構築する【誰でもできるよ】

画像生成 AI の Forge の環境を Windows11 & Windows11 上の WSL2 Ubuntu に構築する方法を「誰でもできる」ように記事にします。最も簡単なのは Windows11 に One-Click-Package でインストールする方法ですが、WSL2 Ubuntu (Linux) の方が画像を高速に生成できますので、こちらの方がお勧めです。

「WSL2 Ubuntu へのインストール方法のみ、早くみたい!」という方は、目次から「Windows11 の WSL2 Ubuntu に Forge をインストールする」の項目にお進みください。


Stable Diffusion WebUI とは?

画像生成AI は Stability AI 社が開発した Stable Diffusion が多く使われており、その Web インターフェースである WebUI のデファクトスタンダードとなっているのは、AUTOMATIC1111 版の Stable Diffusion WebUI です。

AUTOMATIC1111版 WebUI の2024年3月現在の最新版は Ver.1.8.0 です。

Google Colab でも使用する事はできますが (最近は課金しないと使えないようです)、nVidia の GPU を使用している場合には、Stable Diffusion WebUI を自身の PC で使用して、画像を生成する事ができます。

しかし、Stable Diffusion WebUI を自身の PC で使用するには、GPU の VRAM を多く使用します。nVidia RTX3060 12GB だとなんとか動作させる事ができますが、8GB や 6GB の VRAM の GPU では、省メモリの為のオプションを追加する必要があり、初期設定で躓いてしまう方もいるかと思います。

Forge とは?

そんな中、特に VRAM が少ない環境でも動作する、省 VRAM・高速化がなされた Stable Diffusion WebUI Forge (以下、Forge と表記) が公開されました。

Forge について

Forge は、Stable Diffusion WebUI の Ver.1.8.0RC から fork (分岐) して開発されている新しい WebUI です。ControlNet の開発者である lllyasviel 氏 (Lvmin Zhang 氏) の github で公開されています。

Forge の特徴

github から特徴を日本語訳して引用します。

1.
8GB VRAM のような一般的な GPU を使用した場合、推論速度 (it/s) は約30~45%高速化し、GPUメモリピーク (タスクマネージャ) は約700MB ~ 1.3GB減少し、最大拡散解像度 (OOMしない) は約2倍から3倍に増加し、最大拡散バッチサイズ (OOMしない) は約4倍から6倍に増加することが期待できます。

2.
6GB VRAM のような性能の低いGPUを使用した場合、推論速度 (it/s) は約60~75%高速化し、GPUメモリピーク (タスクマネージャ) は約800MB ~ 1.5GB減少し、最大拡散解像度 (OOMしない) は約3倍に増加し、最大拡散バッチサイズ (OOMしない) は約4倍に増加することが期待できます。

3.
24GBのVRAMを搭載した4090のような強力なGPUを使用した場合、推論速度 (it/s) が約3~6%高速化し、GPUメモリピーク (タスクマネージャ) が約1GB ~ 1.4GB低下し、最大拡散解像度 (OOMしない) が約1.6倍に増加し、最大拡散バッチサイズ (OOMしない) が約2倍に増加することが期待できます。

https://github.com/lllyasviel/stable-diffusion-webui-forge?tab=readme-ov-file#stable-diffusion-webui-forge

Forge バックエンドは、リソース管理に関連するすべての WebUI のコードを削除し、すべてを作り直しました。medvram、lowvram、medvram-sdxl、precision full、no half、no half vae、attention_xxx、upcast unet などの以前の CMD フラグはすべて削除されました。これらのフラグを追加してもエラーは発生しませんが、現在は何もしません。私たちは、Forge ユーザーがすべての cmd フラグを削除し、Forge にモデルをロードする方法を決定させることを強く推奨します。

どのcmdフラグもなくても、ForgeはSDXLを4GBのvramで、SD1.5を2GBのvramで動作させることができます。

https://github.com/lllyasviel/stable-diffusion-webui-forge?tab=readme-ov-file#forge-backend

Forge は、特に VRAM が少ない GPU (6~8GB) で省 VRAM のオプションを追加しなくても動作し、更に高速化を図る事ができます。

Forge のインストールの種類

Windows11 に Forge をインストールする場合には、

  1. Windows11 用の一括インストール (One-Click-Package)

  2. Windows11 に github から clone してインストール

  3. Windows11 の WSL2 Ubuntu にインストール

の三種類があります。この記事では、上記の 1 と 3 について説明します。WSL2 Ubuntu にインストールした方が高速に動作しますので、3 の方法がお勧めです。

Windows11 に One-Click-Package でインストールする

Windows11 の One-Click-Package を使用すると、複数のソフトウェアのインストールや PATH の設定等の面倒な手順が不要で、One-Click で簡単にインストールする事ができます。

CUDA や PyTorch、git 、Python も含まれていますので、Windows11 で「直ぐに試してみたい!」という方は、こちらをお試しください。

Forge One-Click-Package のダウンロード

Forge の github から One-Click-Package をダウンロードします。以下のリンクをクリックしてください。

Forge の github のページを開いたら、下にスクロールします。

Forge の github を開く

Installing Forge を探します。

下方へスクロールして Install Forge を探す

">>> Click Here to Download One-Click Package<<<" と表示されている箇所をクリックすると、'webui_forge_cu121_torch21.7z' がダウンロードされます。

webui_forge_cu121_torch21.7z のダウンロード
'ダウンロード' フォルダに保存される

webui_forge_cu121_torch21.7z の展開

Windows11 22H2 では、7z 形式の圧縮ファイルは Windows の機能で展開できますので、"C:\Forge" に展開します。

右クリックメニューから「その他のオプションを確認」を選択
「全て展開」を選択
展開先を "C:\Forge" に変更して展開
展開中…
展開後

Forge のアップデート

後は、

  1. update.bat を実行

  2. run.bat を実行

とすれば、Forge がブラウザで起動します。

まず最新の環境にアップデートする為に、update.bat を実行します。update.bat をダブルクリックして下さい。Microsoft Defender によりブロックされた場合には、"詳細情報" をクリックして "実行" をクリックします。

Microsoft Defender によるブロック その1 "詳細情報" をクリック
Microsoft Defender によるブロック その2 "実行" をクリック
Forge アップデート中 何かキーを押すとアップデート終了

Forge の起動方法

Forge を起動するには run.bat をダブルクリックして実行します。update.bat と同じように Microsoft Defender にブロックされますので、"詳細情報" をクリックして "実行" をクリックします。(2回目以降は表示されません)

一度目の実行時には各種パッケージがダウンロードされるので時間を要します。

一度目の起動時 その1
一度目の起動時 その2

各パッケージのインストールが完了すると、自動的にウェブブラウザが起動して Forge の WebUI が表示されます。

Forge の WebUI が起動

Forge で画像を生成する方法

モデルもインストールされていますので、512 x 512 ピクセルの画像であれば、プロンプトに文字を入力して 'Generate' ボタンを押すだけで画像が生成できます。

Batch size 4、'kitten' で生成

512 x 512 ピクセルで4枚を子猫 (kitten) で生成させてみました。正常に動作しています。

生成した画像は、"C:\Forge\webui\output\txt2img-images" フォルダ以下に日付のフォルダが作成されて、保管されています。

保管されている画像

Forge で使用するモデルは、"C:\Forge\webui\models\Stable-diffusion" フォルダ以下に保管します。SDXL 1.0 等、別のモデルを使用したい場合には、このフォルダにモデルを保管すると、モデル選択リストに追加されます。

モデルの保管場所

Forge の終了方法

Forge を終了する場合には

  • ウェブブラウザを閉じる

  • cmd.exe で起動している Forge 本体を停止する

の二つを行います。

Forge 本体を停止する場合には、run.bat を起動した際に表示された画面で Ctrl + c を押します。

Forge の終了方法

「バッチジョブを終了しますか (Y/N)?」と表示されますので、"y" を入力して Enter を押すと、Forge 本体が終了し、このウィンドウも閉じられます。

Forge を再び使用する方法

Forge を再び使用する場合には、"C:\Forge\run.bat" をダブルクリックして実行して下さい。2回目以降は直ぐに起動します。

Forge の最適化

Forge には CUDA を最適化するオプションが存在します。オプションの項目、及び設定方法については、次項の WSL2 Ubuntu に Forge をインストールする際に説明していますので、興味のある方はご覧ください。(有料エリアに設定しております)

Windows11 の WSL2 Ubuntu に Forge をインストールする

何故 WSL2 Ubuntu にインストール?

「Windows11 で簡単に Forge が使えるのに、わざわざ Windows11 WSL2 Ubuntu に Forge をインストールする必要があるの?」と疑問に感じる方もいるかと思います。

Forge を含む生成 AI で使用している、CUDA や PyTorch 等は Linux 用に最適化されており、Windows11 よりも Linux で高速に動作します。

ライブラリが対応していない為に、将来的に Windows 用のパッケージが公開されなくなる可能性もあります。今のうちから、生成 AI の環境を Linux へ移行しておいた方が、この先も安心して使用する事ができると思います。

そのような可能性も考慮して、この記事では Windows11 WSL2 Ubuntu への Forge のインストールについて「誰でもできる」形で説明します。

前提条件

WSL2 Ubuntu の環境設定が済んでいない方は、こちらの記事をご覧ください。

WSL2 Ubuntu の起動方法につきましては、こちらの記事をご覧下さい。

次の条件で Windows11 WSL2 Ubuntu に Forge の環境を構築します。

  • Windows11 WSL2 Ubuntu 22.04.4 LTS

  • apt update & apt upgrade 済

  • Python 3.10.12

  • nVidia GPU (VRAM 12GB なら余裕、6GB あれば動作します)

WSL2 Ubuntu のバージョンは以下のコマンドをコピペで貼り付けて、Enter で実行して確認して下さい。

lsb_release -a

Python のバージョンは以下のコマンドをコピペで貼り付けて、Enter で実行して確認して下さい。

python3 -V

nVidia GPU が WSL2 Ubuntu から使えるかどうかは以下のコマンドをコピペで貼り付けて、Enter で実行して確認して下さい。(Windows11 に nVidia GPU のドライバをインストールしていれば、WSL2 Ubuntu で nvidia-smi コマンドが実行できます)

nvidia-smi
WSL2 Ubuntu と Python のバージョン確認
nvidia-smi の実行結果

実行結果が上の画面のようになれば OK です。

他の WSL2 Ubuntu のバージョン、Python のバージョンでも、Forge は動作するかもしれませんが、本記事の対象範囲外となります。ご自分で挑戦して頂くか、新しく WSL2 Ubuntu 22.04.4 LTS の環境を作成下さい。

必要なパッケージのインストール

この後で必要となるパッケージを予めインストールしておきます。使用するのは、

  • wget

  • git (導入済み)

  • python3 (導入済み)

  • python3-venv

  • google-perftools

の5つです。google-perftools は TCMalloc を使用する為に必要です。

一括でインストールします。以下のコマンドをコピペで貼り付けて、Enter で実行して下さい。

sudo apt install -y --no-install-recommends wget git python3 python3-venv google-perftools 

sudo コマンドはパスワードを要求しますので、設定した自分のパスワードを入力して Enter を押します。(パスワードは画面に何も表示されません)

必要なパッケージのインストール後

エラーなくインストールが終了すると上のような画面となります。

上記の画面と異なり、エラーが発生した場合には、以下のリンク先をご覧になり、原因を探してください。殆どの場合は、WSL2 Ubuntu からインターネットに接続できていない事が原因です。(ウィルスチェックやファイアーウォールの設定を確認下さい)

CUDA 12 インストール

WSL2 Ubuntu に CUDA (Compute Unified Device Architecture) toolkit をインストールします。

この後で使用する PyTorch 2.1.2 は CUDA 12.1 を要求しますので、CUDA の最新版ではなく、Ver.12.1 Update1 を使用します。

CUDA 12.1 Update1 をインストール済みの方は、これ以下の作業は不要です。CUDA がインストールされているかどうかを確認する方法は、次のコマンドをコピペで貼り付けて、Enter で実行し確認します。

/usr/local/cuda/bin/nvcc -V
nvcc コマンドの実行結果

nvcc コマンドが実行できて 'Cuda compilation tools, release 12.1' の文字が表示されていれば、CUDA 12.1 がインストールされています。これ以降は実行せずに次の項にお進みください。

CUDA 12.1 Update1 をインストールする方は、以下の行を一行ずつコピペして、Enter で実行して下さい。

(sudo コマンドでパスワードを要求された場合には、自身で設定したパスワードを入力します)

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

CUDA が正常にインストールされたかどうかは、次のコマンドをコピペで貼り付けて、Enter で実行し確認します。

/usr/local/cuda/bin/nvcc -V
CUDA 12.1 が正常にインストールできたか確認

nvcc コマンドのバージョンが表示されれば、CUDA は正常にインストールされています。

deb ファイルが残りますが、消去してかまいません。次のコマンドをコピペで貼り付けて Enter で実行します。

rm cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

Forge の git clone

Forge の github から clone します。

ホームディレクトリに移動します。次のコマンドを1行ずつコピペで貼り付けて、Enter で実行して下さい。

cd
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge
cd stable-diffusion-webui-forge
Forge を git clone してディレクトリの中に入る

設定ファイルの編集

省メモリの設定は不要ですが

  • インストールする PyTorch のバージョンを指定

  • PyTorch 2.0 以降の高速化設定

  • CUDA の最適化設定

を設定ファイル webui-user.sh に記載します。

ここから先は

3,491字 / 23画像

¥ 300

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