Google colabを使ってStable Diffusionを動かす
AIを使ってイラストを描こうとしても、無料サイトでは、
- 一度に出力できる枚数が少ない
- 混雑時には繋がらない。
- 使いたいモデルが設定できない(モデルによっては選択できるが・・)。
などの不満点があります。
Stable Diffusionはオープンソースで公開されているので、自分のマシンで動かしてみましょう。
AI(人工知能)の仕組み
AI(人工知能)プログラムを動かすため、簡単に仕組みを説明します。(簡略化した説明ですので一部誤解を招くような表現もありますが、大雑把にはとお許しください。)
AI(人工知能)プログラムは人間の脳の仕組みを抽象化してプログラム化しています。
人間の脳は、ニューロンと呼ばれる神経細胞がいくつもつながり、さらに、それらが網目状につながったものを神経伝達物質が伝わっていく過程で認識が行われています。
それを電子的に行うと、同じ電子回路が少しずつ違った計算を同時に行うこととなります。
画面上の全てのピクセルへその発色具合(赤、青、緑の強さ)を計算することが、膨大な神経細胞上を伝達物質が伝わっていく過程を表現しやすいため、同じ計算を膨大な数繰り返すことが得意なグラフィックボードに搭載されているGPU(Graphics Processing Unit)を使った方が効率的となります。
そのため、AI関連の
- Machine Learning-機械学習
- Deep Learning-深層学習
- Large Language Model-大規模言語モデル
などには、計算させるために、CPUよりもGPUを使います。
幸いというか、近年はゲーム用(遅延がない、発色数を増大させる、3D表示)のためAMD、Nvidiaがグラフィックボードの開発に取り組み、数ヶ月単位で新製品を発売しています。しかも、高性能なグラフィックボードは価格がCPUの何倍もしますし、その辺のPCよりも沢山のメモリを搭載しています。
ハードウェア以外にもソフトウェア実行環境が必要になります。
Stable DiffusionなどのAIプログラムはPythonと言うプログラミング言語で開発されているため、実行するにはPythonの動作環境を作成しなければなりません。
Google Colaboratory
注意
Google Colaboratory無料版ではWebUIが使えなくなりました。
2023年4月21日からGoogle Colabの規約が変更されWebUIが使えなくなりました。コードを実行すると警告が出ます。
ここから先を実行する場合には、Colab Pro版を使用してください。Pro版は制限しないとGoogleから回答がありました。
じゃあ、自分でStable Diffusionを動かすのムリだとあきらめる必要はありません。
Googleが、Pythonが動作し、必要であればGPUの使える環境を制限付きでありますが、無償で提供してくれています。GoogleだけでなくAmazonも提供していますが・・
GoogleのPython環境は、「Google Colaboratory」が正式名称でGoogleアカウントがあれば誰でも使うことができます。
では、Googleアカウントをお持ちでない場合には、Googleアカウントを作成してください。
Waifu Diffusion 1.5 beta2をGoogle Colabで
Waifu Diffusionは、Stable Stable Diffusionの二次元イラストに特化したチューニングが施されたモデルです。
Waifuとは、日本語的には「俺の嫁」のニュアンスです。
最新の1.5はベータ版ですが、リアル系の表現もかなり上手くなっています。
Google Colabで動作させる手順は、
- Hugging Faceのアカウントを作成
- 学習モデルのダウンロード
- 自分のGoogle Driveにフォルダを作成
- ダウンロードしたモデルをアップロード
- 私のColabノートブックを開き、自分のGoogle Driveへ保存
- ノートブックを順次実行
- 表示されたURLをクリック
となります。
1. Hugging Faceのアカウント作成
モデル(学習結果)をダウンロードしたり、Stable Diffusionなどを使用する場合のLicense承諾のために、Hugging Faceのアカウントを作成します。
メールアドレスがあれば、ユーザー名、氏名、パスワードを入力するだけでアカウントを作成することができます。
すでにHugging Faceのアカウントをお持ちでしたら、次のステップへ。
Hugging Faceとは?
Hugging Face, Inc. は 機械学習 アプリケーションを作成するためのツールを開発しているアメリカの企業である[1]。自然言語処理アプリケーション向けに構築された Transformers ライブラリや潜在拡散モデルを扱う Diffusers ライブラリなどのライブラリに加え、ユーザーが機械学習モデルやデータセットを共有するためのプラットフォームなどを提供している。
Wikipedia
Hugging Faceへアクセスします。右上の「Sign Up」をクリックします。
次に表示された画面で、メールアドレス、パスワードを入力し「Next」をクリックします。
ユーザー名、氏名(Full name)を入力し、「Create Account」をクリックします。
ようこそ画面が表示されるとアカウント作成の完了です。
2. 学習モデルのダウンロード
Waifu Diffusionの学習済みモデルをダウンロードします。
Hugging FaceのWaifu Diffusionのページにアクセスします。
1.5はベータ版ですが、いろいろな改良が行われていますので最新のものを使います。2023年3月14日現在での最新版「wd-1-5-beta2」をクリックします。
表示されたページの「Files」タブをクリックします。
何種類かのモデルがありますが、
・wd-1-5-beta2-fp16.safetensors
・wd-1-5-beta2-fp16.yaml
の2つのファイルが必要です。
まずは、「wd-1-5-beta2-fp16.safetensors」をクリックします。
ファイル名を確認し、「download」をクリックします。2.58GBありますので、ご自身のネット帯域やディスク空き容量を確認してからダウンロードしてください。
元のページに戻り、「wd-1-5-beta2-fp16.yaml」をクリックします。
ファイル名を確認します。「raw」をクリックすると、コードのみのウィンドウが開きます。
すべてを選択し、コピーします。
お使いのテキスト・エディタを開き貼り付け、「wd-1-5-beta2-fp16.yaml」名で保存します。
以上で、モデルのダウンロードは完了です。
3. 自分のGoogle Driveにフォルダを作成
次に、Google Driveにモデルを保存するためのフォルダを作成します。Google Driveにアクセスしてください。
「マイドライブ」を右クリックし開いたメニューから「新しいフォルダ」を選択します。
フォルダ名に「Stable-diffusion」と入力します。くれぐれもスペルにご用心ください。
4. ダウンロードしたモデルをアップロード
Google Driveにフォルダの作成が完了しましたら、作成したフォルダに先ほどダウンロードっしたモデルファイル2つをアップロードします。
アップロードは、上図の「ここにファイルをドロップ」へ2つのファイルをドラッグ&ドロップしてください。
5. Colabノートブックを自分のGoogle Driveへ保存
以下のURLは、私のColabノートブックです。
https://colab.research.google.com/drive/1TrWkjxbsj04TiTXhJoAmUTY4GP2q9JrH?usp=sharing
リンクを開くと、ご自分のColabで開いた状態になりますので、自分のGoogle Driveへ保存してください。
保存しますと、以下のダイアログが表示しますので「新規タブで開く」を選択します。
6. ノートブックのセルを順次実行
Colabノートブックは、セルと呼ばれる区画に分かれており、セルには「テキスト」「コード」を入力することができます。
コードやコメントはすでに入力してありますので実行しますが、その前にメニューの「設定」- 「ノートブックの設定」を選択します。
表示されたダイアログの「ハードウェア・アクセラレーション」がGPUになっていない場合には、「GPU」を選択し「保存」ボタンをクリックします。
次に、サーバーへの接続を行います。右上部の「接続」をクリックします。
以下のように接続されればOKです。
それでは、セルを一つずつ実行します。セルの左側の[ ]または、右向き三角丸をクリックします。
Googleが、このノートブックは「risingforce9zz@gmail.com」に認証されたもので、あなたのGoogleにあるデータにアクセスします。
と、警告が出ます。
「実行」をクリックすると、Googleアカウントでの認証を求められます。
どのGoogleアカウントを使用するのか選択します。
下までスクロールし許可を与えます。
セルを実行します。最初のセルは、他の実行中のセッションを削除します。実行中のセッションがない場合には、エラーになりますが問題ありません。
次のセルを実行します。Googleドライブの接続です。
次のセルを実行します。ブラウザでSatble Diffusionを実行するためのプログラムをダウンロードします。
次のセルを実行します。
[3]は、Googleドライブへアップロードしたモデルを実行するフォルダへコピーしてきます。毎回ダウンロードするよりは待ち時間が短くなります。
7. 表示されたURLをクリック
最後のセルが、ダウンロードしたプログラムの実行となります。少し時間がかかりますがURLが表示されるまで待ちます。
このようにURLが表示されますので、クリックします。
URLをクリックすると、WebUIが開きます。
上部の赤ワクがプロンプトを入力する場所です。下の赤ワクは、ネガティブ・プロンプト(こんなのは要らない指示)を入力する欄です。
3つめの赤ワクが、一度に何枚のイラストを出力するのかの指定となります。
前回紹介したプロンプトを探せるサイトから、以下の画像を選択してみました。この画像のプロンプト、ネガティブ・プロンプトをコピペします。
コピペし、画像枚数を9に設定し「Generate」ボタンをクリックします。以下のような画像が作成できました。
プロンプトに、「1girl, kawaii, anime」を追加してみました。
8. 終了する
終了する際には、WebUIを閉じてください。その後、Colabノートブックの[4]が実行中ですのでクリックして終了します。
まとめ
いかがでしたでしょうか?自分のマシンが非力でも、Google Colabを使うことでイラストAIを自分用に作成することができました。
一度セットすれば、スマホからでも実行できますのでスキマ時間でも遊ぶことができます。
また、モデルはいろいろ発表されていますので、Google Driveの容量内であれば別のモデルをアップロードしてみると面白いと思います。
コメント