連載第58回
2023年9月23日
Stable Diffusion web UI:AUTOMATIC1111 のM1 Macインストール覚え書き

地球温暖化と生成系AIという謎テーマ

アホみたいに暑い。そこで生成系AIである。

地表に住まう全生命体の末期、そんな今、興味があるのは、庶民が生成系AIを使って絵なり動画なり、または文章や音楽を生成することによって、その生成物で十分満足出来てしまった場合、結果として「消費活動から離脱して自室に閉じこもる」社会現象が起きる可能性についてなのだけれど、まずは自分で実験してみたい。なにせ暑過ぎて全く何もヤル気が出ないのである。

サブスク嫌いなので、無料でどうにかする生成系AI

先月のM1 Mac miniへの引越し関連記事にも少し書いたが、「AUTOMATIC1111」が、Apple Silicon版のMacに対応したという記事を読んで注目していたものの、残念ながらインテル版Macには提供されていなかった。インテル版でも使えるネット越しのWEBサービスは盛況らしく、昨年末辺りまでは無料で提供されていたようなのだが、今は既に有料サブスク登録しないと使えない状況に変わったらしい。
そんな酷暑の今夏に、ちょうどM1 Mac miniを購入したこともあり、この機会にMac miniのローカル内に環境を作って、生成AIの現状がどうなっているのか「無料」で試してみることにした。その時のインストール覚え書き。

Stable Diffusion web UI:AUTOMATIC1111

生成系AIを利用する際、ネットを介して外部サービスを利用する場合は待ち時間が発生したり、生成数制限がかかっていたりとハードルが高い上に、そもそも外部の遠隔GPUを使うことに言語化できない抵抗感がある。手持ちのM1 Mac miniのローカルにインストールして自由気ままに生成AIを試せるツールは幾つかあるようだが、これを書いている時点で「AUTOMATIC1111」が一番ネットで情報共有されている模様。

参考にさせていただいたのは下記の記事。その手順に沿って、自分もM1 Mac miniに環境構築してみる。

1.ターミナルの起動

久しぶりにターミナルのお世話になる。まず起動しておく。

2.Homebrewのインストール

Homebrew公式サイトのトップページにあるスクリプト(矢印の箇所)をターミナルにコピペ入力。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

序盤でパスワードを聞かれるので、普段使っているMacに設定したパスワードを入力。

しばらくすると「Successful!」とインストールが終わるものの、赤文字で「Warning」の文字も目に入り「どっちなんだよ!」ってなる。

そこで無事にbrewがインストール出来ているのか、記事にあるようにバージョンをチェックしてみると…「command not found」と表示される。

brew -v
-bash: brew: command not found
brew help
-bash: brew: command not found

試しに、続けてHomebrewのヘルプを呼び出してみても同様「command not found」になる。どうやらインストール出来ていない模様。

ダメっぽい感じがしている中で、ターミナル内に表示されているコメント内の「Next Step」に注目して、そこをジッと読んでみる。そこに指示されているように、下記の2行を、同じターミナルのウィンドウ内に入力してみる。

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/■■■■■(ユーザー名)/.bash_profile
eval "$(/opt/homebrew/bin/brew shellenv)"

何かしら動きがあったので、Homebrewがインストールされているかどうかを再確認。改めて下記のコマンドをそれぞれ入力。

brew help

ズラーっとhelpが表示される。

brew -v
Homebrew 4.1.5

続けてバージョンを確認すると、4.1.5と表示され、ひとまずHomebrewのインストール完了。

3.UIのインストール先のフォルダを作成

どこに作れば良いのか指定もなく、良い場所も思いつかなかったので、ブラウザを使うツールということもあり、とりあえず「ユーザー>サイト>StableDiffusion」という感じで「StableDiffusion」というフォルダをサイト内に作成。※外部SSDなどは避けた。

4.関連ライブラリのインストール

続いて、ターミナルに下記コマンドを入力して、Pythonなどの必要なライブラリのインストール。

brew install cmake protobuf rust python@3.10 git wget

終わった模様。

5.満を侍して、Automatic1111のダウンロード

ターミナルで、cdコマンドを使い、上の「3」の工程で作成した「StableDiffusion」のディレクトリに移動。移動したら、git を使って StableDiffusion をクローン。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

一瞬で終わる…というか、まずは構成するディレクトリの作成を行なったということか…。

6.モデルファイルの配置

参考記事を読みつつ、何かモデルファイル(拡張子safetensors)をダウンロードするのだけれど、この時点では全く生成系AIの知識がなかったので、ネットに溢れているブログなどから、アニメ系のキャライラストを生成する「Counterfeit-V3.0」というモデルをテスト用に使ってみることにした。

Hugging Faceというサービスにアクセスして、そこにある中から9.4GBのファイルをダウンロード。

上で作成した「stable-diffusion-webui」内の「models」フォルダに、ダウンロードした「Counterfeit-V3.0.safetensors」をコピー。

7.Autoatic1111の初回起動

ターミナルでcdコマンドを使い、上で作成したフォルダ「stable-diffusion-webui」に移動しておいてから、「./webui.sh」を実行。

初回起動時には、各種インストールが始まるので珈琲を飲みながら待機。ズラズラと文字が流れていく動きも収まり、なんとなく更新が終わった気配がしたら、ウィンドウの中に次のような一文を探す。

Running on local URL: http://127.0.0.1:xxxx(←xxxxは数字)

提示されているそのURL(http://127.0.0.1:xxxx)をブラウザにペーストして開く。

ここまでの行程で問題がなければ上図のように「Stable Diffusion web UI:AUTOMATIC1111」がブラウザ上に起動するので、「Generate」ボタンを押せば何かしら抽象的な画像を生成する。さらに、任意のプロンプトを記述してボタンを押し、しばらく待機したのち、何かしら異なる画像が表示されればOK。あとはネットに溢れているブログを参考に各種操作方法や制御テクニックを学ぶ。