MacbookでStable Diffusionを試した記事です。
今回はM1のものととi5の第8世代のものの2つで検証します。
結論から言って、M1は比較的実用的な画像を18から21秒で一枚生成できました。
NVIDIA製のグラボを積んだWindowsマシンよりは遅いですが、M1 Macの醍醐味はその優れた省電力性能です。
具体的にRyzen7-4800HとNVIDIA RTX2060 6GBを積んだゲーミングノートの半分の消費電力量で1枚の画像を作成できました。
M1 MacBook Air | ゲーミングノート | |
1枚あたり生成時間 | 18秒 | 5秒 |
消費電力(概ねの平均) | 18W | 123W |
概算消費電力量 | 324Ws | 615Ws |
M1ってやっぱりすごいですね。
Apple SiliconのMacでStable DIffusionするメリットとは?
メリットはこちらです。
メリット1 そこそこの速度を出せる
速度を追求するのであればハイスペックなレンタルサーバー的なものを契約するか、高性能なデスクトップPCを買った方がいいです。
ほかの記事でCoreとRadeonを搭載したPCと比較したのですが、そちらの方が5倍高速に出力が可能でした。
KさんPC | M1 Macbook Air | |
CPU/SoC | i7-4790K | Apple M1 |
TDP | 88W | 15.1W |
Passmark | 約8000 | 約14000 |
メモリ | 32GB | 16GB |
GPU | RTX2070Super | |
Vram | 8GB | |
環境 | NMKD | Draw Things |
OS | Windows | MacOS |
とはいえ、M1をはじめとしたアップルシリコン搭載のMacやiPadはそこそこに高速でした。
少なくとも僕の環境では、Intel N100やRyzen5-5600UなどのCPUを積んだWindowsマシンよりもはるかに高速に作動していました。
追記、ゲーミングノートとの比較
今度はM1 MacBook Airとゲーミングノートを比較しました。
また違った条件で揃えて比較したところ、こんな感じ。
M1 MacBook Air | ゲーミングノート | |
CPU/SoC | Apple M1 | Ryzen7-4800H |
Passmark | 14000 | 18800 |
コアスレッド | 8C8T | 8C16T |
メーカー | Apple | AMD |
TDP | 15.1W | 35W、45W、54W |
メインのGPU | 7コアGPU | NVIDIA RTX2060 |
専用VRAM | なし | 6GB |
メモリ | 16GBユニファイド | 16GB DDR4 3200MHZ |
M1 MacBook Air | ゲーミングノート | |
1枚あたり生成時間 | 18秒 | 5秒 |
消費電力(凡その平均) | 18W | 123W |
概算消費電力量 | 324Ws | 615Ws |
M1 Macは消費電力が1秒あたりでも1枚あたりでも優れていますが、ゲーミングノートPCでもそこそこの省電力で、さらにより高速に画像を作成できます。
省電力ということにこだわった場合は、M1やM2やそれらの派生のSoCを搭載したMacやiPadは非常に強力だと思われます。
メリット2 NVIDIAグラボのマシンよりも1枚あたりの電力が少ない
M1チップなどのAppleシリコンの最大級のメリットはここだと思います。
こちらに可能な限り同様な設定にして、先ほどのPCと比較しました。
| 秒数 | 電力 | 電力量 |
KさんPC | 7.5s | 249W | 1867.5Ws |
M1 MacBook Air | 21.5s | 18W | 387Ws |
なんと生成に必要な電力量は、KさんのPCの5分の1で済んでいます。
生成に必要な費用を減らすことができ、便利そうです。
メリット3 ほかの用途にも使える
これはほかの端末にも言えることですが、ほかの用途にも使いまわせます。
M1 Macの場合、プログラミングや動画編集やデザインにも使えます。
個人的にはブログの執筆がめちゃくちゃしやすいと思っています。
とはいえ、ほかの端末にも言えることではあります。
たとえばNVIDIA製の高性能なグラボを積んだPCであれば、楽しい楽しいビデオゲームや需要の高い動画編集、マイニングなどにも使えることでございましょう。
また、M1チップを積んだ端末であればM1 iPadもあり、そちらは仕事やゲームなどにも使えます。
メリット4 人によっては最初から持っている
M1 Macは人気の端末で、人によっては最初から持っているというのもポイントです。
もっとも、ゲームや動画編集などのためにNVIDIAグラボ搭載のPCを持ってる人も結構いるとは思いますが。
Apple SiliconのMacでStable DIffusionするデメリットとは?
デメリットは以下のとおりです。
デメリット1 2023/04/23現在ではNVIDIAグラボのWindowsPCやレンタルサーバーが主流
まず、現在の主流としてはレンタルサーバーやNVIDIAグラボを搭載したPCとなっています。
もし本格的にStable DIffusionを使いこなしたいのであれば、NVIDIAグラボのものの方がいいかもしれません。
デメリット2 速度ではほかの環境に劣る
速度を追求した場合、NVIDIAグラボやレンタルサーバーの環境の方がいい可能性があります。
デメリット3 初期費用がかかる
Apple製品は値段が高い傾向にあります。
デメリット4 ランニングコスト差は長い目で見ないと有利にならない
ランニングコスト面でM1 Macはほかの環境よりも上かもしれませんが、かなり長期的に使い込まないと有利にならない気もします。
デメリット5 Windowsの方がアプリやできることが充実している
そんな印象です。
テストの結果
まず、1回目に計測した方法です。
測定条件について
まず、普通にやってみた測定条件はこちらです。
Drawthingsで512×512で、25ステップで美少女系のモデルで検証しました。
DrawthingはMacやiPadなどでつかえるアプリで、Stable DIffusionを簡単にローカルにて動かすことができます。
iPadやAndroidのStable DIffusionのアプリで、モバイル端末の高いスペックや潤沢なリソースを活かすことなしに、サーバー上で動くものがいかに多いことか。
そして数少ないローカル動作のアプリで、設定項目や機能性に優れたものは結構少ないです。
そのようななかで、Draw Thingsはローカルで十全に動作し、おまけに機能性が高い
また、ネット上からダウンロードしたモデルを使用することや、ある程度の設定が可能です。
おまけに無料です。個人的にはもっと設定項目を増やしたら1000円ぐらいは取れるぐらいのアプリだと思います。本当にいいアプリです。
iPadアプリとしてもGoodNote5やSafari、Lumafusionに並ぶすんばらしいアプリです。
もちろんもっといろいろな方法はあると思いますが、簡単な方法でやった方が再現性が高いでしょうし、なにより筆者自身の時間ややる気といったリソースを節約するためにもこのような方法を取りました。
幸いにもDraw Thingsは十分高速に動作するようですね。
また、画像サイズについては一般的なサイズである512×512としました。
ステップ数は上げればあげるほどいいとは言われていますが、その分だけ時間がかかります。
生成時間とクオリティーを考えて、25ステップが最もちょうどいいと思い、そのようにしました。
SOC/CPU | メモリ | 環境 | 時間 | |
M1 iPad Pro 11(2021) | M1 | 8GB | Draw Things | 35秒 |
iPad Pro 12.9(2018) | A12X | 4GB | Draw Things | 132秒 |
M1 MacBook Air | M1 | 16GB | Draw Things | 38秒 |
Macbook Pro 2018 | i5-8279U | 16GB | Draw Things | 604秒 |
Macの場合、M1+16GBでも38秒で1枚の画像を生成できました。
これでも十分早い気はしているのですが、他のマシン、とりわけ高価で高性能で高消費電力なNVIDIAグラボをはじめとした高性能なMachineでは3秒とか、1秒未満で測定できるらしいですね。やばい。
速度を上げるために設定をいじることといたしました。
高速化してみた
設定から色々と高速化できそうな設定をいじった結果、上記の条件で21秒まで短縮できました。
詳しいことはわからないのですが、Googleの翻訳機能を用いて調べて、可能な限りMacのM1に負荷がかかり、メモリ使用量を使うような設定にしてみました。
すると1枚あたりの生成速度が38秒から21秒となり、2倍近くの速度を出せるようになりました。
もちろん似たような構成で高性能なグラボだと4秒で生成できたりするので、それに比べると遅いです。
しかし、初期費用はどっこいどっこいとしても消費電力は圧倒的にM1 Macbook Airの方が低いはずなので、謎の優越感を感じられて素晴らしいです。
バッチサイズは1が最速っぽい
バッチサイズについても検証しました。
バッチサイズは一度に作ることができる画像の枚数です。
NVIDIA製GPU搭載のハイスペなMachineであればバッチサイズをあげた方が高速化する場合があるとのこと。
M1 Macでは今のところはバッチサイズを2以上にして、設定を変更しても1枚あたり21秒の壁を突破することは能いませんでした。
バッチサイズは1にし
より速くするために必要そうなこと
M1 Macbook Air 16GBメモリモデルでStable Diffusionを使用してみてわかったことや考えたことを記載していきます。
M1の16GBメモリモデルの場合、GPUがボトルネックになる?
Stable Diffusionで最速になるように設定した場合、アクティビティモニタで確認する限りはGPUがボトルネックになるようです。
また、バッチサイズをさらに盛る場合はメモリがもっと必要になるかもしれないですね。
自分がもし効率化のために購入するならM1 Proの32GBメモリのMacbook Proで生成する、かも?
M1モデルの場合GPUがボトルネックになり、メモリがもっとあれば効率がいいかもと思いました。
そのため、より効率よく大量の画像を高速に出せる比較的コスパのいいマシンを買うなら、M1 Proモデルで可能なら16GBモデルより32GBモデルにするのがいいかもしれません。現時点では
メモリはとりあえず16GB以上
少なくとも調べた限りでは、MacはアプリごとにメモリやGPU使用率を制限することができないようなので、8GBメモリのMacの動作確認ができませんでした。
あとがき
参考になれば幸いです。