AITemplate&StableDiffusion をWindows (WSL)で動かしてみた


Meta社が開発してる、オープンソース高性能推論エンジン「AITemplate」
を使ってStableDiffusionを動かしてみました。
実際かなり早くなったので、興味ある方は是非。導入もそんなに難しくないです。
image2imageもサポートしてくれてるのも嬉しい。
(ただ、RTX30以降やA100とかじゃないと使えないのでそこは注意

WSL上のdockerで動かすまでの手順になります。
WSLのinstallは割愛します。

Dockerのinstall

Docker Desktop for Windowsを入れれば使えるようになるので
下記の公式参考にDockerインストールしましょう。


NVIDIA Container Toolkitのインストール

dockerのコンテナから GPU 使えるようにするために
NVIDIA Container ToolkitをWSL上でインストールします。
下記の公式通りに手順を踏めば問題なくインストールできるはずです。


AITemplateリポジトリのダウンロード

こちらのリポジトリをもってきてください。

※ --recursive を忘れずにつけること!

git clone --recursive https://github.com/facebookincubator/AITemplate

Dockerイメージのビルド

cd AITemplate
./docker/build.sh cuda

コンテナ起動

docker  run  --gpus all  --name ait -it  ait:latest /bin/bash

# 起動後にdocker内のシェルでGPUの利用が出来るかチェック
nvidia-smi



必要モジュールのインストール

ここからはコンテナ上での作業になります。

Stable Diffusionを動かすのに必要はpythonのモジュールをinstallします。

pip install transformers==4.25.0
pip install diffusers==0.11.0
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
pip install accelerate

サンプルPJへ

cd examples/05_stable_diffusion/


モデルDL

サンプル起動様にモデルをDLしたいので
huggingfaceのtokenを取得してください。

https://huggingface.co/settings/tokens

取得したtokenで下記コマンドを実行

python3 scripts/download_pipeline.py --token 取得したトークン

コンパイル

結構時間かかります。

python3 scripts/compile.py

デモの起動

https://github.com/facebookincubator/AITemplate/tree/main/examples/05_stable_diffusion

python3 scripts/demo.py

# i2iのデモスクリプト
python3 scripts/demo_img2img.py

これで無事動くと思います。
スクリプトも見てもらうと通常のdiffusersを使って書くコード同じように書ける(様にラッパーを用意いしてくれてるので)使い勝手も大分良いと思います。


Waifudiffusionなどの2次元系モデル動かしたい場合はさらにこちらの手順でいけます。






いいなと思ったら応援しよう!