🎨

M1 MacでStable Diffusionしたい人が試すときの一番簡単で高速な方法(M1 Mac GPUでの実行)

2023/02/22に公開

最初apple/ml-stable-diffusionに従ってPython環境を構築し、モデルを手元で変換して、プログラムを実行して画像を生成していたのですが、めっちゃ簡単な方法を見つけたので共有です。

MochiDiffusionのインストール

MochiDiffusionのインストールの画面

MochiDiffusionはM1系MacでStable Diffusionをネイティブ実行するためのmacOSアプリです。

releaseページからdmgをダウンロードしてインストールしてください。それだけで環境構築終わりです。

モデルを選ぶ

すでに主要なモデルの多くをHugging Face Core ML Models
Community
がcoreml用に変換してくれているので、手元で環境構築して変換処理に何分も待つ、ということは不要です。

↓から利用したいモデルをまず選んでください(ページ下にリストがあります)。
Hugging Face CoreML
たくさんの変換済みモデル

モデルのダウンロード

例えば coreml/coreml-stable-diffusion-v1-5を選んだなら Filesタブ にある original/ ディレクトリ以下のモデルをダウンロードしてください。originalを選ぶことでM1 MacのCPUとGPUを使えます。

Files/originalディレクトリ

ここで 512x768 というディレクトリがあることについて説明ですが、現段階ではcoreml用に変換したモデルは後からサイズの変更ができないみたいです。

なのでcoreml用に変換するときに、解像度を決める必要があり、変換後のモデルは全部別になります。今回は 512x768の縦長な画像用のモデルをコミュニティの方で変換したようでした。

縦長なモデルは以下の様な命名規則になってます。

stable-diffusion-v1-5_no-i2i_original_512x768.zip

サイズ情報がないzipファイルはデフォルトが 512x512(のはず)です。

好きな方をダウンロードしてください。

モデルの設置

zipファイルをダウンロードしたら展開し以下に移動してください。ファインダーからで問題ないです。

Documents/MochiDiffusion/models

アプリの起動

MochiDiffusionを起動してください。先に起動していたとしても更新ボタンを押せば表示されます。以下の画像のようになっていれば成功です。

modelリスト

この状態でモデルの名前をクリックするとNeural Engineを使うかGPUを使うか聞かれるのでGPUにしてください。

かを選択

あとはプロンプトを埋めて「画像の生成」ボタンを押せば画像の生成をしてくれます。モデルを選んだ初回だけロードに時間がかかります。

プロンプト

あとは好きな画像をM1Macで生成しまくってください。1画像20秒台でした。

もちもち

変換するときにGPU使用率が100%に張り付いているので、ちゃんとGPUでぶん回せてますね。
GPUぶんぶん

おわり

変換の自由度を求めるならやはりWebUIを使った方がいいと思いますが、M1/M2を持っている方がカジュアルに画像生成を始めたいならこれが最善かなと思いました。

以上です^^

Discussion