生成された画像がどこの何を模倣しているか分からないため、意図せぬ著作権等の権利侵害を犯さぬよう、状況が落ち着くまで生成画像は公開せずおくことをお勧めします。
MacでAI画像生成に必要な主流の無料アプリをインストールするガイドです。全インストールを完了すれば、以降はインターネット接続無しのローカル環境で安全に生成出来ます。
手順は指示通りにコピペしエンターキーを押すだけです。AIど素人で本職もIT界隈と全く無関係な筆者でも自力で出来たので、むしろ逆に素人にも分かりやすく説明できると思います。
この記事①では例として美しい人物描写に特化した生成を行い、既存LoRAの適用までガイドします。試してみて理解できたら、風景やイラストなど他の目的に合わせて特化を変更してみれば、スムーズにマスターできると思います。LoRAの学習自作生成については記事②を参照ください。
なお検討事項の多さに混迷してこの記事にたどり着いた人の参考用に、以下灰色のメモも残します。読まなくても構いません。
MacはどのAI画像アプリがベストなのか
当サイトではAUTOMATIC1111を用います。これはStableDiffusionという画像AIを扱えるアプリの一種で、現在最も主流であり、従って最新機能やニュースもこの周囲で生まれています。
コストについてGoogleCorab無料版は現在、規約改定によりWebUIでの使用は禁止です。Fireflyはいずれ有料化するのでフォトショップの料金で表示しています。
生成時間はおおむね、解像度512✕512、20ステップという、AUTOMATIC1111初期設定の画像を1枚生成するのに最安モデルのMacで要した時間です。
CorabはクラウドGPUの圧倒的なパワーを使うので最速ですが生成量に上限があります。
Midjouneyは生成条件が異なりますが中庸の速度で、上限を超えると遅くなります。
Fireflyも生成条件が異なるので、筆者がフォトショップでジェネレーティブ塗りつぶしを試した時に要した時間で記述しました。
MochiDiffusionはCoreMLという、MacをStableDiffusionに最適化させたモデルを扱えるのでMacオフライン最速ですが、一般的な.safetensorsモデルからの変換を要します。
DiffusionBeeは.safetensorsながらもMacで比較的速く生成できます。
オフラインは、インストール後にインターネット接続なしのローカル環境で生成できるかどうかです。これは安全性と密接に関係しています。Fireflyのみ例外的に、最初から著作権フリーです。
機能についてですが、AUTOMATIC1111とそれを用いたGoogleCorabは、StableDiffusionの最新機能を現在もっとも多く利用することができ、主流です。
Midjourneyも少し遅れて使用可能な状態になり、最後にMochiDiffusionとDiffusionBeeが対応する傾向で、これらもControlNetという重要機能が扱えますが、プリプロセッサが使えないなど、完全ではありません。
Fireflyは独自の路線を進んでおり、主に著作権関連の安全性を担保する反面、機能は全般に遅れています。
ComfyUIは大変楽しいアプリで筆者は大好きですが、パッと見とっつきづらいためAUTOMATIC1111に比べまだユーザーが少なく、このため作例が不足しています。最大のメリットはSDXLでControlNetを使えることですが、事実上NVIDIAのGPU必須となり、Macだと必要なパワーが不足します。
Fooocusなどその他雑多なアプリは単にStableDiffusionを単機能に限定しただけで、しかも単機能特化で性能に優れているというわけではなく、操作を分かりやすくしただけのものとなっています。
記事のルール
赤の文章は前提条件です。真っ先に確認してください。できないと知ってたらそもそも検討しなかったなど初期の判断に影響しそうなものを塗ってあります
灰の文章は読む必要はありません。無視して飛ばしてください。手順に問題が生じたり、成功した後でアレンジしたい時、読むと役立つ場合があります
白の本文は全文余さず読み、完全に再現して実行してください。全部必須手順です。最初は指示にあるフォルダの構成、名前のたった一つのスペース文字でさえ、変えてはいけません。
黒の文字列はコードです。本文の指示通りコピペに使用してください。長文はスクロールで隠れています。右上のコピーボタンでコピーできます
青の文章はチェックポイントです。指示通りにテストを実施すると、そこまでの手順で失敗がないか途中の段階ごとに確認できます
再現環境
筆者が2023.7月にLoRA生成、適用し作画まで成功した端末環境を参考にメモします
- MacOS Ventura 13.4.1
- 2020MacBookAirM1 GPU7コア VRAM8GB ※M1Mac最安モデル
免責事項
この記事は2023.7月時点のものです。アプリバージョンアップ等により今後再現できなくなる可能性があります。
また、サイトポリシーに記述の通り記事の方法によって生じたいかなる損害も補償はなく自己責任です。
ダミーアカウント作成
個々人のMac設定状態の違いに起因するエラーを防止し、あるいは手順をミスって混乱した時リセットできるよう、最初は綺麗な初期状態のダミーアカウントを作ってそこで作業します。
画面左上のリンゴマークからシステム設定を選択
ユーザとグループからアカウントを追加ボタンを押してください。この時管理者パスワードを求められるので入力が必要です。通常、あなたがMacにログインする時入力しているパスワードです。
ダミーアカウントは上記のように設定してください。必ず、一番上の新規アカウントの箇所を「管理者」にしてください。パスワードはなんでもいいですが忘れないでください。
設定したら再起動し、dummyアカウントからMacに入ってください。
初回は以下一連の画像のように、いろいろ初期設定が出ますが、「あとで設定」「スキップ」などで全部飛ばしてください。
これで終了です。以降の作業はすべて今作ったダミーアカウントの中で実行しましょう。
原因不明・解決不能のトラブル対処法
万一手に負えない問題が起きた時は、おもむろにMacを再起動し、本来のもとからあったあなたのアカウントは手つかずのまま残っていますからそちらから入り、dummyアカウントを削除すれば何もしなかったゼロの状態に戻れます。その後dummyを作り直せば何度でもやり直せます。
dummyアカウントを削除する際は、上記画像のように「ホームフォルダを削除」を選択してください。それでdummyアカウントの内容だけ、変えた設定からインストールしたアプリから何から綺麗さっぱり全部消せます。
Homebrewインストール
Macの⌘コマンドキーとスペースキーを同時押しし、出てきた検索窓に日本語で「ターミナル」と入力すると自動でターミナル.appの文字列が出るので、エンターを押す。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
するとターミナル画面が出るので、上記をコピペし、エンターを押す。スクロールで右側に隠れている場合があるので注意してください。右上のボタンを押すと一括コピーできます。ターミナル画面の背景色はダークモードだと黒、通常モードだと白です。
ターミナルの閉じ方
今後いかなる場合でも、ターミナルを終了して閉じる時はキーボードの Control+C を押してプログラムを停止してから、ウインドウを閉じて終了するようにしてください。Commandではありません。Controlです。
停止せずいきなりウインドウ左上の赤いボタンを押してはいけません。予期せぬトラブルやプログラムの破損を招く恐れがあります。プログラムが走っている最中に赤いボタンを押すと警告が出ます。
Homebrewとは
Homebrewとは、Macに各種パッケージをインストールするためのツールです。パッケージとはアプリ等のことです。通常、普段アプリをインストールする時はアプリストアから入れたり.dmgファイルをドラッグしたりしていると思いますが、そういうストア登録やファイル形式の用意のないプログラムでもインストールすることが出来ます。
zsh シェルとは
ターミナルのウインドウ上部に表示されているzshという表記はシェルといい、OSの根幹に影響を与える命令を司るプログラムの種別です。ユーザーが直接OSの根幹を操作すると予期せぬトラブルに繋がりやすくなるため、殻/shell のようにOSを守り、通す操作を限定する役割のあることからシェルという名称になっています。M1以降のMacは全てzshという種類ですが、動作に支障ありません。
今後記事に沿って例えばAutomatic1111などのプログラムを動作させると、このzshと描かれていた部分の文字列が変化し、動作中のプログラムを示すようになります。
逆に言えば、いまターミナルでプログラムが走っている最中なのかどうかは、ウインドウ上部の表示がzshのままなのか別のプログラム名に変化しているかどうかで一目瞭然にわかります。前記の赤い文章で示したとおり、Ctrl+Cでプログラムを停止する必要があるかどうか、きちんと停止できたかどうかは、すべてウインドウ上部の表示を見れば観察できるというわけです。
上記の表示になり管理者パスワードを求められるので、最初に設定したdummyアカウントのパスワードを入力してください。
なおパスワードが間違っていると「Sorry, try again.」と出ます。
Press RETURN/ENTER to continue or any other key to abort:と表示されたらエンターキーを押してください。動作におよそ1分ほど待ちます。
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/dummy/.zprofile
動作が止まったら上記コードをコピペエンターしてください。
eval "$(/opt/homebrew/bin/brew shellenv)"
続いて上記コードをコピペエンターしてください。これで終了です。
ダミーアカウントなしで進めた場合
初回は必ずダミーアカウントで進めてください。
ダミーで成功してから別のメインアカウントなどでやりたいなど、記事通りのダミーアカウントを作らなかった場合は、動作が止まった時「==> Next steps:」という表示付近を探してください。
上記画像の赤四角で囲った部分二行をそれぞれコピーし、2回に分けてターミナルの黒い画面末尾に貼り付け、エンターキーを押してください。この部分はあなたが選択したアカウントによって異なる文字列になっています。これで終了です。
インストール確認テスト
黒いターミナル画面に下記のコードをコピペしエンターキーを押してください。
brew -v
Homebrew 4.0.26などといったバージョン番号が表示されれば成功です。番号はインストールする時期によって異なります。
Automatic1111 Stable Diffusion Web UI インストール
brew install cmake protobuf rust python@3.10 git wget
上記コードをターミナルの画面にコピペエンターしてください。数十秒待ちます。
dummy@MacBook-Air %などと表示されて停止したら次の手順に進みます。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
続いて上記コードをコピペエンターしてください。数秒待つとダウンロードが完了し、下記画像のように止まります。
git github clone リポジトリとは
gitとはプログラムのバージョン管理を厳密にするためのシステム総称です。原始的なアプリは複数のプログラムの組み合わせで動きますが、動くことが保証されたプログラムのバージョンの組み合わせは限られます。
関係する全プログラムが最新バージョンならOKというわけではなく、アプリの動作確認がなされた時点の、特定の古いバージョンが必要になることが多々あるため、厳密なバージョン管理が必要になります。
githubはその、厳密にバージョン管理されたプログラムのファイルをダウンロードできるウェブサイトです。
cloneとは、githubというウェブサイトから、バージョン管理が厳密になされたファイルを、ダウンロードしてくる命令です。
リポジトリとは、githubというウェブサイトのどこに、バージョン管理が厳密になされた、望むファイルがあるかの場所を指定する、https://で始まり.gitで終わるURLです。githubのサイト内、下記画像のような場所で示されています。
要するに何一つ新しいことも学ぶこともありません。既存の技術を言い替えているだけです。
model BRA v7 インストール
modelとして BRA V7 をリンク先よりダウンロードします。空き容量が2GB必要です。入手したファイル名末尾が .safetensors となっているファイルを、MacのFinderから
Machintosh HD/users(ユーザ)/dummy(ダミーアカウントを作らなかった場合はあなたのアカウント名)/stable-diffusion-webui/models/Stable-diffusion
という位置にあるフォルダにペーストしてください。
modelとは .ckptと.safetensors
modelとは実態上は生成画像の質と傾向を制御するもの。checkpoint(ckpt)ともいう。BRA V7の場合、東洋系の美しい女性的な人物描画を面倒な呪文なしでも出せるようになる反面、似たような顔の傾向に偏ります。
modelは好きなものを同様の手順でダウンロードしインストールすることが出来るので、今回の方法が成功したら自分の必要に応じて変えてみると良いでしょう。人間だけでなく建築物などのモデルも存在します。
かつてファイル形式は.ckptでしたが、現在は.safetensorsが主流です。ckptでも使えますが、もう見ることもなくなってきました。
modelがなぜ実態上、画像の質と傾向を制御できるかというと、単純にそのモデルが学習する元画像を、制作者が望む質と傾向を持つものに偏らせているからです。したがって生成される画像も当然その傾向に偏るというわけです。この場合東洋系の美しい女性的な画像を集中的に学ばせたと推定できます。
なので傾向の偏ったモデルほど、実在の人物数名に似てくる危険性が大幅に高まります。この危険性は呪文プロンプトの使い方を誤ると致命的になると思われます。すなわち、モデルが学習した元画像いずれかに偶然該当する名前自体が呪文プロンプトに含められると、集中学習した元画像本人いずれかが登場する可能性が極めて高まります。実在の人名を呪文プロンプトに含めることは現時点で自殺行為、将来的に禁止行為になるでしょう。気をつけて危険から距離を取り、抽出でなく混合に、盗用でなく空想に、好奇心と情熱を傾けることをお勧めします。
ほかのmodelを使いたい場合でも、まずはいったん記事通りBRA V7で進めて成功させること。modelの選択は、プロンプトやサンプリングメソッド、解像度と同じくらいかそれ以上に結果に影響を与え、しかも多くの設定項目の影響を受ける。
なにか一つ、最初の軸になるモデルを決めてある程度練習しないと、結果に占める偶然の割合が高まり、上達が遅くなる。どれに決めるかは、現在最も主流で人気のあるものが良い。成功や失敗位の事例が多く学べる体。ここではそのうちの一つとしてBRAを選出した。画像分野の宿命で、使用者数が最も多くかつ進歩の早いカテゴリーは、国内外問わず「美女」となる。
Automatic1111StableDiffusionWebUI インストール
cd
cd stable-diffusion-webui
上記コードを順番にひとつずつターミナルの画面にコピペエンターしてください。
ターミナルのコマンド
cdとはチェンジディレクトリの略。単にcdと入力すると、最初のホームディレクトリに戻ることができます。
ディレクトリとはフォルダのことです。つまりFinderでもフォルダとして見ることが出来ます。今いるフォルダ名はターミナル画面末尾の文字列として記載されています。
ここでcdとはチェンジディレクトリの略ですが、例えばcd stable-diffusion-webuiと入力すると、stable-diffusion-webuiフォルダに移動したことになります。今いるフォルダから直下にあるフォルダにしか移動できません。
直下のフォルダに何があるかはlsと入力すると表示されます。
ひとつ上のフォルダに戻るにはcd ..と入力します。なおcdと..の間にも半角スペースを要します。
./webui.sh
続いて上記コードをコピペエンターしてください。プログラムが動作し、文字列が流れます。ネット環境次第ですが5分程度待ちます。
上記のような表示で止まったらインストール完了です。赤い部分の文字列をコピーし、Safariの検索窓にコピペエンターしてください。見つからない場合少し上にスクロールしてみてください。これで終了です。
xformersとは
前記画面の文字列途中には No module ‘xformers’. Proceeding without it.(xformersモジュールがないので、それなしで進行中)という注記が表示されています。
xformersとは画像生成の高速化に役立つものですが、現状でMacのM1以降には対応していません。インストールは出来ますが、不要ですし、なくても問題なく生成できます。
主としてNVIDIAでPascal以降のGPU製品をAI生成高速化するとき、VRAM消費量を抑えるのに役立つものです。
生成テスト
Safariに表示された画面がAutomatic1111 StabelDiffusion Web UIです。なおターミナルの画面は閉じないでください。
まず左上のStable Diffusion Checkpoint欄から、beautifulRealistic_v7.safetensorsを選択してください。[]内の文字列は時期によって異なる場合があります。
次に中段のSampling Method欄から「DPM ++ SDE Karras」を選択してください。
次に上方のPrompt欄に「1man」または「1woman」どちらかを入力してください。
その他は初期設定のまま、最後に右端のGenerateボタンを押してください。
約80秒で、東洋系の美しい男性または女性画像が出力されたら成功です。
生成された画像がどこの何を模倣しているか分からないため、意図せぬ著作権等の権利侵害を犯さぬよう、状況が落ち着くまで生成画像は公開せずおくことをお勧めします。
Sampling Methodとは
サンプリングメソッド、通称サンプラーとは色のドット集合体にすぎない元データから、人間の目で認識できるようノイズ整理していく抽出方法を支配するものです。
例えば1manというプロンプトでノイズ整理していく時、学習した大量の男性的画像をグチャグチャのドット単位に混ぜた画像から、プロンプトの命令に沿わないと推定するドットを排除し、沿うと推定するものを混ぜながら配列し直して画像を作りますが、その推定方法と排除や混ぜ方のパターンの違いが Sampling Method/サンプル抽出の手法 です。
名称にaがつくと画像生成ごとのランダム性が高まり、DDIMがつくと比較的速く、Karrasがつくと画像のシャープネスが高まる傾向があるとされていますが、いずれも経験則による情報にすぎず、結局試してみるまでわからないのが実態です。
ただmodelとsampling methodとは密接に関係しており、ここの相性が悪いと画像が崩壊してしまいます。つまり逆に言えば、常に何にでも通用するオススメ一択のサンプリングメソッドは無いということです。
今回の説明においてはDPM++SDE Karrasを推奨してますが、成功したら変えてみてください。意味がよく分かると思います。
LoRAを適用する
LoRAとして Round glasses | Accessory をリンク先よりダウンロードし、入手したファイル名末尾が.safetensorsとなっているファイルを、MacのFinderから
Machintosh HD/users(ユーザ)/dummy(ダミーアカウントを作らなかった場合はあなたのアカウント名)/stable-diffusion-webui/models/Lora
という位置にあるフォルダにペーストしてください。これで終了です。
LoRAとは
LoRAとは実態上、生成画像の結果を微調整するもの。Round glasses LoRAの場合、眼鏡を生成させた時、生成結果を透明レンズの丸メガネに固定することが出来ます。
LoRAもmodel同様好きなものをネットで探してきてインストールすることが出来るので、今回の方法が成功したら自分の必要に応じて変えてみると良いでしょう。自作も可能です。目的によっては、LoRAが不要な場合もあるでしょう。
LoRAテスト
Safariに表示されたAutomatic1111StableDiffusionWebUI画面で、Generateボタンの下にある花札マークのアイコンをクリックしてください。
表示された画面で①「Lora」タブをクリックしてください。
先程コピペしたLoraが表示されるので、クリックしてください。今回の場合表示名は「glasses-2」です。末尾の数字は時期によって異なります。
すると、画像の赤四角で囲った箇所のようにPlompt欄にLoraが表示されます。
あとはプロンプト欄を「1woman,glasses」または「1man,glasses」に変えてください。
LoRAのトリガーワード
LoRAを発動させるには、LoRAを選択してプロンプト欄に表示させるだけでなく、トリガーワードをプロンプト欄に直接入力する必要があります。冗長ですが。
今回だと glasses または round eyewear です。トリガーワードは各LoRAダウンロードサイトの右側に Trigger Word として表示されています。
サンプリングメソッドなど、その他の設定は前回の生成テスト同様にして、Generateボタンを押してください。
その他の設定欄や生成画像窓は、今のLoraタブのまま画面を下にスクロールすると出てきます。
東洋系の美しい女性または男性の画像が、丸い透明レンズの眼鏡をかけていれば成功です。
このあとWifiなどインターネット環境を切断し、再試行してみてください。ネットに接続しなくてもローカル環境で実施できることが確認できたら、完了です。
終了後に再開する
cd stable-diffusion-webui
./webui.sh
ターミナルを閉じるなどの終了後に再開するには、ターミナルを起動し、上記を順番にコピペエンターし、同様に下記画像で止まったら表示されるアドレスをSafariにコピペエンターすれば戻れます。
Safariを使いますが、最初から最後までインターネット接続なしのローカル環境で再開できます。
成功してから考えよう
AIは加速度的に進歩しており、特に画像AIは文章AIに比べて成果物が単純で誰にとっても分かりやすく魅力的なため、突出して進化のスピードが早まっています。
すでに誰にでも無料でプロ写真家やイラストレーターに匹敵する成果を得ることが可能になっていますが、現時点では方法説明が複雑に分散している状態です。また、Macの説明サポートが遅れています。
当サイトではど素人でしかも最低ランクのM1Mac環境というハンデキャップを持つ筆者が、一気通貫でこのAI画像生成を試せるよう、方法をひとまとめにし、実際に筆者自身で生成を試したものです。
まずは成功実績のある方法を愚直に再現し、どんな画像がどれほど楽に生成できるのか、試してみましょう。その上で望みの呪文プロンプトを試したりモデルやLoRAを入れ替えたり、ControlNetやLoRA生成などに挑戦してみることにすれば、混乱せず着実に目的へ近づいて行けるでしょう。
おまけ 今後の展望
冒頭少し解説しましたが、Appleは既にCoreMLという独自のモデル形式を使ってそれにOSを特化させました。要するにStableDiffusionやMidjourneyの傘下利用でなく、独自の自社開発AIを目指す方向性を行動で示しています。
無料で自由なStableDiffusionと、そうではないAppleを含めた他の全アプリとでは、果たしてどちらの技術進歩が速くなるでしょうか?誰にでも容易に想像できるとおりです。
今のままではいずれ、StableDiffusion以外のすべての企業は監視を強化し、自由を制限することでStableDiffusionの足をひっぱりつつ、技術で劣る各自社アプリに誘導する方向へ行くしかありません。すでにそういう動きは見られます。
ではどうすればいいか?第一に、それでも今一番人の多い場所に居続けるべきです。Appleや他社の独自開発を信じて閑散としたアプリに居続け、いつまで待っても機能が劣っていたとき、いざ他のアプリへ移行しようと思っても、それまでの閑散アプリで積んだスキルがゴミになってしまいます。
Macであっても、あくまでStableDiffusionを使うようにしておけば、自身がWinに移行というほどでなくとも会社や他人のPCで操作する必要が生じたときなどにも、応用が効くようになります。
第二に、将来の監視をみすえてローカル環境の構築に努めておくことです。クラウドGPUなど動作にネットへ接続する必要のある方法は、生成する画像が監視、検閲される可能性があります。今後足の引っ張り合いになったとき真っ先に狙われると思います。要するにCorabなど安易な方法を使うと、サービス提供側の都合でいろいろ制限されその都度振り回される運命ですし、すでにそうなりつつあります。
最終的にはアプリやOSのバージョンアップという手法を使って、強制的に生成内容や生成上限を制限強化するでしょう。Macの場合、旧バージョンの環境をタイムマシンという標準アプリを使って保存しておけるので、現時点でフル機能が使えるダミーアカウントをタイムマシン保存しておけば、備えになるでしょう。
第三に、やはりネットワークと計算量の増大を見越して、ローカル環境を備えておく必要があると思います。今はまだマニアな一部の人間しか使用していませんが、今後爆発的に参加者が増えてくることと、技術が進んで扱える情報量が増えてくると、ネットを介したサービスの規制はどんどん厳しくなります。すでにStableDiffusionはSDXL1.0といって高画質な新バージョンが出ており、これは当然データ量と計算量の増大を招きます。
ローカルでも計算量が増大するとGPU買い替えなどコストを要しますが、たとえ買わなくても時間をかければ計算はできます。しかしネット接続だと、企業側の都合で一定時間無操作接続は強制切断など規制がちょこまか変更されて振り回されるでしょう。すでにクラウドGPUはそうなっています。
一番良いのは、StableDiffusionと同盟したクラウドGPU企業が生まれることですが、ありません。あっても弱小だと、OS会社につぶされます。OS3強はみな独自開発を狙っています。MicrosoftはOpenAIと同盟しましたが、これはChatGPTという文章AIの会社です。OpenAIは自身の弱点をよく理解していると思われます。画像AIのStableDiffusionは、持つ技術の優位性の割に力が弱すぎて目立ちすぎており、早くいずれかの強者と同盟できなければ足を引っ張られる運命にあると思います。しかし今はまだその時でありません。まだ少し時間があります
読者コメント