見出し画像

Mac mini M1(8GB) で 生成 AI を試す ~ ローカル環境を低コストで


まえがき

最初に書いておきますが、ガシガシ使いたい方にはオススメしません。

1枚生成するのに 512x512 で 15s、768x1152 で 57s 程度は掛かります。
(Sampling steps:20、Upscale:なし、VAE:vae-ft-mse-840000-ema-pruned、Refiner、Face Restoration)

Windows で高性能な GPU カード挿せば~数秒、Google Colab でも(枚数制限等ありますが)10秒程度で生成されます。

ローカル環境を低コストで導入したい人向けです。


画像生成 AI

春くらいに Google Colab 無料プランで、Stable Diffusion で遊んでいました。


上の記事にも書いたとおり、写真を撮ってるのと同じようなワクワク感があり楽しかったです!

しかし、負荷増大のためか規制が掛かりだしたそうで、「使ってるとアカウント Ban されるかも?」という噂もあり、Colab が使えなくなるのも困るので、警告が出る前に使うのを止めてしまっていました。


Mac 履歴


何十年も前、まだ爆弾が出まくってた頃、仕事でちょっと使ってたのが初めてでした。

だいぶ後になりますが、まだ iPhone が出る前、会社にジョブズが講演しに来たことがあります。

しかし、そのカリスマオーラをビンビンに感じるも、私的に Mac を使うことはありませんでした。

それからまただいぶ経って、その会社を辞めるときに、退職金で iMac5K と MacBook を購入。

レタッチ環境を Mac 移行しようとしたのですが、Mac で表示するとレタッチしなくても綺麗に見えてしまい、これじゃ使えない(!?)と思い移行を断念。

その後転職先で、Mac 版 MATLAB アプリを生成するためだけに自分の MacBook をちょっと使ってた程度で、一応持ってはいるけどほとんど使ったことがない、という状況でした。

それが最近、仕事上最新の Xcode が必要になり、資金難なので Mac mini M1 を購入。

今度はローカルで試してみました。


リファービッシュ品

Windows PC でやろうとすると(実質)GPU 必須なので、50万円くらいはかかりそう!?

最近もっとリーズナブルなのも出てきたようですが、それでもやはり20万円程度?

でも Apple Silicon なら、そこそこの性能の GPU 内蔵のため、現行の Mac mini M2 でも 84,800円(税込)~から購入できます。

以下のような記事も。


今回、メインで使うものではないし、Mac mini M1 のリファービッシュ品、つまり「整備済み中古」を買ってみました。

もちろん別途、マウス、キーボード、モニターは必要ですが、かなり古い iMac5K があるので、マウスとキーボードはそのまま使えます。iMac5K、全然使ってないのですが、売らなくて良かった。(^^;

WQHD モニターもあるし、HDMI ケーブルは何本か余ってます。(u_u)

一旦モニターに繋げれば、iPad Pro にミラーリングとかもできます。

iPad Pro にミラーリング


購入したサイトは、最初、検索で見つけたときは「アヤシい?」と思ってそっと閉じたのですが、まともなところのよう。w


ここ自体が整備しているわけではなく、共通の保証・サービスなどを付けた上でのマーケットプレイスのようです。

厳格な品質ガイドラインを設けているそうで、30日以内の返品保証、1年間の動作保証が付いてきます。

その辺が、Ama○on 等とは違うわけです。

それでもやはり「アヤシい?」と思う人が多いのか、BackMarket のサイトにもこんな記事が載っています。


今回は、8GB/256GB ですが、ランク A 品を本体 50,900円+手数料=51,560円(税込)で買うことができました。

注文翌日に到着!

さすがランク A 品、見た目も新品同様でした。

最近、Apple 公式整備品サイトは品揃えが悪く、値段もあまりお得感がありません。

かなりお買い得価格と言えるでしょう。

ただこのサイト、表示にクセがあるというか、同じ販売業者の同等製品であっても、値段毎?に違うページになっています。

なので、検索からたどり着き、別ランク製品がそこに表示されるのを待っててもダメなようです。

サイト内の製品名検索でなら一覧が出るので、そちらで確認する必要があります。

横川レンタ・リースがやっている Qualit というところもあるようです。
(1年~保証付き)


Google 検索だともっとやたら安いところも出てきたりしますが、「安すぎるな?」と思ったら業者名で検索してみましょう。

たいてい「本当にアヤシい」です。(¬_¬)


Stable Diffusion web UI(AUTOMATIC1111)

まずは標準の web UI をインストールしてみます。
今は Mac 版が配布されているので比較的簡単です。


上記公式サイト通りに以下の手順を踏みます。

1.(インストールされていなければ)ターミナルを開いて https://brew.sh から brew をインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールされているかの確認は
% brew --version

しばらくかかりますが、インストール後に表示される "Next steps" にしたがってパスを通します。

2.関連ツールをインストール
brew install cmake protobuf rust python@3.10 git wget

3.インストールしたいフォルダに web UI をインストール
cd [任意のフォルダ]
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

4.models/Stable-diffusion に好きなモデルファイルを置く
検索すれば色々出てきますが、それぞれ利用規約があるので確認してから使いましょう

5.web UI 起動
cd stable-diffusion-webui
./webui.sh
で、webブラウザに自動で web UI が立ち上がります。

(6.アップデート)
web UI が立ち上がっていない状態で、上記フォルダで git pull


Google Colab でのインストールとほぼ同じですね。

あとは生成するだけ・・、

のはずでしたが、sonoma と相性が悪いらしく、1枚だけ生成した後エラー!


Web 上にある対策も色々試み動きはしたものの、1枚の生成に10分以上!!

結局、webui-user.bat の set COMMANDLINE_ARGS= を
set COMMANDLINE_ARGS=--opt-sdp-attention
に。

512x512 1枚生成に 1分3秒、メモリ消費 ~7.62/8GB
768x1152 は生成できず、その後一切の動作不能になりました。

これはもう少し安定するまで待った方がよさそう。(;¬_¬)


Draw Things

標準 web UI、使い慣れているのでできればこちらを使いたかったのですが、今のところムリそう。

そこで、Apple Silicon ネイティブアプリの Draw Things を使ってみました。

なんと、iPad / iPhone でも動きます!

これは AppStore にあるので、そこからインストールするだけ。

初期起動で設定画面が出ますが、とりあえず進んで後で設定できます。

モデルは内部にリストを持っているので選択すれば DL して使えますが、使いたいモデルはあらかじめ DL しておいた方が良いでしょう。

ベースモデルも LoRA も、選択メニューをクリックして
 manage -> DL アイコンクリック -> Downloaded File -> Select from Files
 ファイルを指定して Import
とすると、メイン画面で選択できるようになります。

Model の Import


実際に生成してみると、

512x512 1枚生成に 15” メモリ消費 ~7.11/8GB
768x1152 1枚生成に 57” メモリ消費 ~7.34/8GB ピーク時間は一瞬だけであとは〜6.8GB くらいでした

ギリギリ感はありますが、安定して動きます。

右端にヒストリーが表示され、いつでも呼び出せるのは便利ですね。

生成画面

生成途中の画像も表示され、1/3~1/2 くらいまでくると構図概略が分かるので、その時点で明らかに望む結果と違っていればスキップできます。


メタデータ

ちなみにですが、生成した png ファイルの情報(プロンプトやその他設定パラメータ)は MATLAB でも読めます。(u_u)

info = imfinfo(fileName);
para = info.OtherText

web UI 版はプレーンテキスト、Draw Things は XML で入っています。
バージョンによっても違うっぽいですが。


プロンプト

テストに使ったプロンプト(以前共通で使っていたもの)は以下の通りです。

POSITIVE:
best quality, masterpiece, ultra high res,(photo realistic:1.4),beautiful lighting, (extremely detailed CG unity 8k wallpaper), detailed beautiful face, medium breasts, big eyes, cute, young, posing, looking at viewers, professional lighting, physically-based rendering, depth of field,((slim)) 

NEGATIVE:
painting, sketches,(worst quality:2),(low quality:2),(normal quality:2), lowers, normal quality,((monochrome)),((grayscale)),skin spots, acnes, skin blemishes, age spot, ugly face, fat, missing fingers, extra fingers, extra arms, open chest, mutation, multi-limbs, freckles, nipples, NSFW

プロンプト

ベースモデルは yayoi_mix を使わせて頂きました。


生成画像例

以下は、自分で撮った写真を元に img2img で、全て同じプロンプトで生成しています。

元画像
生成画像


元画像
生成画像


元画像
生成画像


元画像
生成画像


元画像
生成画像


元画像
生成画像


元画像
生成画像

img2img、普段は色合いを再現するのに良いのですが、人物の色でホワイトバランス(というか肌色バランス)取ってるんですかね?

わざと構図認識失敗しそうなのを使うと面白いのが出てきます。

元画像
生成画像


元画像
生成画像


元画像
生成画像


あとがき

最初に書いた通り、生成速度は遅目です。

やはりメモリは 16GB は欲しいところ。

でもまあどうせガチャなので、プロンプトが決まったら、空いてる時間に回しておけば良いでしょう。

LoRA を使うともう少し掛かるので、ベースモデルのみで大量に生成しておいて、気に入った構図のを元に img2img で LoRA を当てた方が効率的かもしれません。

同じ構図で別 LoRA も当てられますし。

Web 上の記事とかを見るとさすがに 8GB で学習とかはムリっぽいですね。

しかし M1 の省電力設計と Mac mini の冷却性能も相まってか、1時間~連続生成させておいても、ファンの音も全く聞こえません。

低導入コストで制限のないローカル環境が欲しい場合には良いかもしれません。

SDGs!?

この記事が気に入ったらサポートをしてみませんか?