画像生成AI「Stable Diffusion」をM1搭載Macのローカル上で実行する方法
![](https://image.news.livedoor.com/newsimage/stf/1/6/16fd3_88_66ffd82e8a7fb422bbccba69ac0fbffa.jpg)
非常に高精度な画像を生成できるとして大きな話題を呼ぶ画像生成AI「Stable Diffusion」は、オープンソースであるためユーザーがローカル環境で実行することもできますが、記事作成時点ではNVIDIA製GPUの使用が推奨されています。そのため、「Stable Diffusionが気になっているけどMacユーザーだからローカルで実行できない」という人もいるはず。そんなMacユーザーに向けて、「Stable DiffusionをM1・M2チップ搭載Macのローカル上で実行する方法」についてオープンソースの機械学習モデルをクラウドのAPIで実行するウェブサービス・ Replicateが解説しています。
https://replicate.com/blog/run-stable-diffusion-on-m1-mac
![](https://image.news.livedoor.com/newsimage/stf/2/f/2ffd0_88_6866ba849e140bd07bd403e93d74c552.png)
ReplicateはオープンソースのAIをクラウドで実行できるAPIを開発しており、Stable Diffusionをクラウドで実行するAPIも提供しています。また、ReplicateはStable DiffusionをM1・M2チップを搭載したMacのローカル上で実行する方法についても、公式ブログで説明しています。
前提条件として、利用するデバイスはM1またはM2チップを搭載したMacで、OSはmacOS 12.3以降のバージョンであることが必要です。また、8GBのRAMでも動作するものの非常に遅いため、可能であれば16GB以上のRAMを搭載していることが望ましいとのこと。
まず、Stable Diffusionを実行するにはPython 3.10以降のバージョンが必要なため、インストールしていない場合はパッケージ管理システムのHomebrewから最新バージョンのPythonをインストールします。
brew update
brew install python
最新バージョンのPythonをインストールしたら、Stable Diffusionのフォークをクローンします。
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
アクティブにします。なお、Stable Diffusionを実行するたびにこのコマンドを再実行する必要があるとのこと。
source venv/bin/activate
次にPythonパッケージのインストール・管理システムであるpipから依存関係をインストールします。
pip install -r requirements.txt
このようなエラーが表示される場合……
Failed building wheel for onnx
以下のパッケージをインストールする必要があるかもしれないとのこと。
brew install Cmake protobuf rust
そして自然言語処理のオープンソースコミュニティ・Hugging Faceのリポジトリに移動してライセンスを読み、「Access repository」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/6/f/6f0dc_88_f0fd8b96361f7690799cc42d4db3e1a5.png)
「sd-v1-4.ckpt(〜4GB)」をダウンロードして保存すると、学習モデルが上記で作成したディレクトリにあるとのこと。
models/ldm/stable-diffusion-v1/model.ckpt
これでセットアップは完了です。以下のようにコードを実行し、「a red juicy apple floating in outer space, like a planet(赤くてジューシーなリンゴが、まるで惑星のように宇宙空間に浮かんでいる)」という文字列を入力すると……
python 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/」に以下のような画像が生成されるとのことです。
![](https://image.news.livedoor.com/newsimage/stf/6/a/6a3e2_88_c81e5575590a6f8ad9e17e6bc5a094fe.jpg)
Replicateは、この方法は自分たちが独自に編み出したものではなく、すべての功績はGitHubで公開されているStable Diffusionのフォークに貢献したり、GitHubのスレッドに参加したりした開発者にあると主張。以前の作業に付け加えたのは、pipを使用して依存関係をインストールすることでセットアップを簡略化した点くらいだとして、「私たちは彼らの偉大な働きのメッセンジャーに過ぎません」と述べています。
なお、Stable DiffusionをWindows環境にインストールしてGUIで操作できる「NMKD Stable Diffusion GUI」や、Intel製GPUで実行できる「stable_diffusion.openvino」なども登場しています。
画像生成AI「Stable Diffusion」をWindows環境にボタン1つでインストール可能&GUIで操作できる「NMKD Stable Diffusion GUI」がついに登場 - GIGAZINE
![](https://image.news.livedoor.com/newsimage/stf/6/8/6808a_88_12f0358702c1e937d9f7b271558cfd2f.png)
Intel製CPUでも画像生成AI「Stable Diffusion」を動かせる「stable_diffusion.openvino」が登場、誰でもダウンロード可能に - GIGAZINE
![](https://image.news.livedoor.com/newsimage/stf/1/6/16afb_88_9dbcc99f597ceade1a9004f69559997c.jpg)