M1/M2搭載Mac上で「Stable Diffusion」を実行する方法

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20220907 161336

AIを利用しテキストから画像を生成できるソフトウェア「Stable Diffusion」。

本来実行するためには、NVIDA製の特定のGPUが必要という制限が存在しますが、オープンソースソフトウェアの特性を生かし、Intel CPUのみで実行できるバージョンなど、さまざまな派生版が作られています。

本日はそのなかで、Appleの独自チップであるM1およびM2チップを搭載したMacでStable Diffusionを実行する方法を紹介します。

方法を説明したブログによると、Macの要件は以下の通りです。

  • M1またはM2チップを搭載したMac。
  • 16GB以上のRAM。8GBのRAMで動作するがとても遅い。
  • macOS 12.3以降

以下、具体的な手順を説明します。

目次

Pythonのセットアップ

Stable Diffusionを実行するためにはPython環境が必要です。Python環境をセットアップするためにはさまざまな方法が存在します。今回は元のブログに記事従い、HomebrewでインストールしたPython 3.10とvirtualenvを使用します。

まずPythonをインストールします。

brew update
brew install python

python3 -Vで「3.10」以降が表示されれば成功です。なおStable Diffusion実行時にcmakeprotobufrust等のソフトウェアも必要なようです。事前にインストールしておけば手戻りがありません。

brew install cmake protobuf rust

Stable Diffusionのセットアップ

Stable Diffusionのリポジトリをcloneします。

git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git
cd stable-diffusion
mkdir -p models/ldm/stable-diffusion-v1

virtualenvのセットアップを行います。

python3 -m pip install virtualenv
python3 -m virtualenv venv
source venv/bin/activate

この方法では、source venv/bin/activateは毎回実行する必要があります。実行するとコマンドプロンプトが変わります。

必要なソフトウェアをインストールします。

pip install -r requirements.txt

ダウンロードにしばらく時間が必要です。

ウェイトのダウンロード

実行に必要なウェイトと呼ばれるファイルをダウンロードします。Hugging Face repositoryを開き、ライセンスを確認し「Access repository」ボタンをクリックします。必要ならばアカウントを作成します。

S 20220907 164156

ダウンロードしたsd-v1-4.ckpt(4GB近くのサイズ)を、先ほど作成したディレクトリにmodels/ldm/stable-diffusion-v1/model.ckptとして保存します。

実行

いよいよ実行できます。

python3 scripts/txt2img.py --prompt "a red juicy apple floating in outer space, like a planet" --n_samples 1 --n_iter 1 --plms

完了するとoutputs/txt2img-samples以下に画像が作成されます。

S 20220907 164935

宇宙に赤いリンゴが浮かんでいる不思議な画像が作成されます。

まとめ

Stable DiffusionをM1/M2 Mac上で実行する方法を説明しました。8GBのM1 MacBook Airでも一応実行できるようです。話題のテクノロジーに触れてみたい方は実際に実行してみてはいかがでしょうか。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次