以前Google ColabでStable Diffusionを動かす方法をご紹介しました。
しかし、Google Colabは有料プランでも制限があり、長期的に画像生成を行うのは難しいです。
そこで、代替サービスとしてよく挙げられているPaperspaceを試してみました。
実際に使ってみたので使い方や使用感などをご紹介します。
Paperspaceとは?
Paperspaceは、クラウドコンピューティングサービスです。
基本的にはGoogle Colabと同じ用途で使用でき、機械学習、データサイエンス、ゲーム開発、メディア制作など、さまざまな用途に使われています。
画像生成でいうといろいろメリット・デメリットはありますが、まとめると以下のような方におすすめです。
なお、これはProプラン(月額8ドル・容量15GB)で利用する人向けのものです。
容量の関係でSDXLを使うのが難しく、通常のモデルや拡張機能を好きなだけ入れるといった使い方もできません。
基本は容量を計算しながら用途に応じて必要なものだけ使うことになると思います。
上位のGrowthプラン(月額39ドル・容量50GB)であれば、より高性能なGPUや、SDXLも問題なく使えます。
Paperspaceの料金・使えるGPUについて
料金プランは3つに分かれており、プランごとに自由に使えるGPUが異なります。
以下は公式サイトで紹介されているTier表で、下に行くほど性能が良いとされているものです。
Freeプラン | Proプラン | Growthプラン | |
---|---|---|---|
価格 | 0 | 8ドル/月 | 39ドル/月 |
容量 | 5GB | 15GB | 50GB |
Free CPU (C4) | 〇 | 〇 | 〇 |
Free GPU+ (M4000) | 〇 | 〇 | 〇 |
Free IPU-POD4 | 〇 | 〇 | 〇 |
Free P4000 | 〇 | 〇 | |
Free RTX4000 | 〇 | 〇 | |
Free P5000 | 〇 | 〇 | |
Free RTX5000 | 〇 | 〇 | |
Free A4000 | 〇 | 〇 | |
Free A5000 | 〇 | ||
Free A6000 | 〇 | ||
Free A100-80G | 〇 |
容量の上限を超えると$0.29/GBの追加料金が発生します。
23年12月時点の価格でいうと、1GB超えたらその月は約40円プラスされるといった感じです。
そこまで高額ではありませんが、余計な料金を払いたくないという方は容量に注意しましょう。
それぞれGPUやCPUの詳細は以下のリンクでご確認ください。
Paperspaceのアカウント登録
まずPaperspaceのサイトに行き、右上のSign up Freeをクリックします。
Cloud GPUs & Hosting for AI | Paperspace
GithubやGoogleアカウントが使えるので、持っている方はそちらで登録した方がスムーズです。
連携すると認証のため、携帯番号の入力を求められます。
国を日本にして番号を入力してください。
SMSが届くので認証番号を入力します。
次にユーザー名を登録します。
上は本名、下はハンドルネームで問題ありません。
次にどちらの製品を使用するかを選びます。
正直ここについては違いがよくわからず、調べると画像生成AIで利用している方は「gradient」を選択していました。
実際に「gradient」で使用していますが特に問題はないため、ここは「gradient」で良いと思います。
続いて職業や利用目的を問われるので、該当するものを選びましょう。
次にプロジェクト名を決めます。特にこだわりがなければデフォルトのもので問題ありません。
続いて開発環境を選びます。こちらはNotebooksを選択します。
最後にクレジット情報を入力します。
無料プランもクレジットの入力は必須ですが、有料サービスを選択するまで課金は発生しません。
アカウント登録は以上です。
Notebookの作成
ホーム画面にプロジェクトが表示され「CREATE NOTEBOOK」というボタンがあるので、そちらをクリックしてください。
次にテンプレートを選びます。
Stable Diffusionがありますがスルーして、ここでは「Start from Scratch」を選択します。
次に使用するGPUを選択します。
基本Freeと付いているGPUを選択してください。料金が表示されているものは従量課金制のGPUになりお金がかかります。
またGPUは共有で使用しているため、時間帯やタイミングによって使えない可能性もあります。
選べるGPUがない場合は右上の更新ボタンで更新できますが、Freeプランの場合はほぼ使用中で選ぶことができません。選べれば無料で試せますが、基本はアップグレードすることになると思います。
アップグレードする場合は、右上のUPGRADEボタンから変更できます。
プランが表示されるので、使用したいプランを選択します。
なお、プランを選択した時点で課金されるので、選ぶときは注意してください。
右上の「Back To Console」からGPU選択画面に戻ります。
そうすると加入したプランのGPUが選べるようになるので、再度使いたいGPUを選んでください。
続いて使用時間を選びます。
これはGoogle Colabでいうセッション時間と同じです。セッションが切れるとnotebook上で行った処理が一度リセットされます。
最大6時間までとなっており、非アクティブ状態が1時間続くと自動的にシャットダウンとなります。
モデルや画像データは残るため、Stable Diffusionを使用する上でそこまで問題はありませんが、一応覚えておきましょう。
時間を選択して「START NOTEBOOK」をクリックします。
notebookの画面になるので、上部にある表記がRunningとなっていれば、プログラムなどを実行できるようになります。
Stable Diffusion Web UIの環境構築
いろいろやり方はありますが、今回はjavacommonsさんという方が公開しているpaperspace-templateを利用します。
まず以下のページから「webui2.ipynb」をダウンロードします。
webui3.ipynbがありますが、webui2.ipynbで問題ありません。
paperspace-template/webui2.ipynb at main · javacommons/paperspace-template
先ほどの画面に戻り、Filesの矢印ボタンから「webui2.ipynb」をアップロードします。
アップロードしたnotebookを開くとコードが表示されるので、指定の順番通りに実行していきます。
上から順ではないので注意してください
(1) Stable Diffusion Web UIのダウンロード
最初は2つ目のセルにあるStable Diffusion Web UIをダウンロードします。
左上のRunを押すとプログラムが実行されます。
以下のように表示されたらStable Diffusion Web UIのダウンロードは完了です。
Filesを更新するとstable-diffusion-web-uiのフォルダが追加されています。
(2) モデルのダウンロード(ここにダウンロードしたいモデルを追加)
続いてモデルのダウンロードをします。
Proプランだと容量が15GBしかないため、そのまま実行するのは避けた方がいいです。
自分で使用するモデルに書き換えるか、ここは飛ばして後でローカルからアップロードしましょう。
書き換える場合、「%cd」で始まるコードはモデルを入れるパスを指定しているので、ここはそのままでOKです。
%cd /notebooks/stable-diffusion-webui/models/Stable-diffusion
下のコードは、行ごとにダウンロードするモデルのURLとモデル名を指定しています。
赤字がモデルのURL、青字がモデル名です。
!wget -nc https://civitai.com/api/download/models/16859 -O BlueberryMix-1.0.safetensors
例えば「Counterfeit-V3.0」をダウンロードするなら以下のように書き換えます。
モデルのURLはダウンロードボタンを右クリックして、リンクアドレスをコピーしたものです。
!wget -nc https://civitai.com/api/download/models/57618 -O counterfeitV30_v30.safetensors
Counterfeit-V3.0 - v3.0 | Stable Diffusion Checkpoint | Civitai
huggingfaceならモデルのリンクとモデル名です。
!wget -nc https://huggingface.co/sazyou-roukaku/chilled_remix/blob/main/chilled_remix_v2.safetensors -O chilled_remix_v2.safetensors
不要なモデルの行を削除、インストールしたいモデルのみ記載し、Runを押してください。
なお、モデルより下にあるコードも「embeddings」をインストールするためのコードで、モデルとやっていることは同じです。
インストール先を指定して、それぞれ利用したいモデルをインストールできます。
例)EasyNegativeのダウンロード(embeddings)
%cd /notebooks/stable-diffusion-webui/embeddings
!wget -nc https://civitai.com/api/download/models/9208 -O easynegative.safetensors
例)more_detailsのダウンロード(LoRA)
%cd /notebooks/stable-diffusion-webui/models/Lora
!wget -nc https://civitai.com/api/download/models/87153 -O more_details.safetensors
例)vae-ft-mse-840000-ema-prunedのダウンロード(VAE)
%cd /notebooks/stable-diffusion-webui/models/VAE
!wget -nc https://huggingface.co/stabilityai/sd-vae-ft-mse-original/blob/main/vae-ft-mse-840000-ema-pruned.safetensors -O vae-ft-mse-840000-ema-pruned.safetensors
使用したいモデルを記載して、インストールしてみてください。
ローカルからアップロードする方法
もし上記の方法がよくわらかない、または接続が切れてうまくできない方は、ローカルからアップロードできます。
まず使用したいモデルをCivitaiやhuggingfaceからダウンロードしてください。
notebookのページでフォルダを選択してから、モデルをアップロードします。
モデルのパス:/notebooks/stable-diffusion-webui/models/Stable-diffusion
VAEのパス:/notebooks/stable-diffusion-webui/models/VAE
LoRAのパス:/notebooks/stable-diffusion-webui/models/Lora
embeddingsのパス:/notebooks/stable-diffusion-webui/embeddings
なお、ローカルからのアップロードは数GBのものだと数十分程度かかる場合があります。終わるまで気長に待ちましょう。
(3) WebUI起動
最後に1つ目のセルを実行します。
しばらく待つと実行結果の中に「~gradio.live」というURLが表示されるので、そちらを開けばStable Diffusion Web UIが使用できます。
なお、モデルデータなどは残るため、2回目以降は1,2を実行する必要はありません。
このWebUI起動のみで大丈夫です。
(4) Stable Diffusion Web UIアップデート
4のアップデートは、Stable Diffusion Web UIが更新されたときのみ実行します。
通常時は必要ありません。
Stable Diffusion Web UI/stable-diffusion-webui: Stable Diffusion web UI
Stable Diffusion Web UIで画像を生成する方法
Stable Diffusion Web UIが起動できたら試しに画像を生成してみましょう。
まずは左上の「Stable Diffusion checkpoint」から使用するモデルを選んでください。
次にプロンプトに反映させたい要素、ネガティブプロンプトに反映させたくない要素を入力します。
各パラーメータから画像サイズや生成に使用するサンプラーの指定ができます。
Sampling method | ノイズを除去するサンプリングを指定 |
Sampling steps | 除去する工程を何回行うか |
Hires. fix | 高画質処理 |
Refiner | SDXL用のオプション |
Width | 画像横幅 |
Height | 画像縦幅 |
Batch count | 何枚画像生成するか |
Batch size | 一度の処理で同時に生成する枚数 |
CFG Scale | プロンプトの影響度 |
Seed | ランダム性を制御するもの |
各パラーメータによる違いについては公式で確認してください。
Features · Stable Diffusion Web UI/stable-diffusion-webui Wiki
最後にGenerateをクリックすれば、画像が生成されます。
VAE・Clip Skipの表示
Stable Diffusion Web UIを使用するとき、デフォルトだとVAEとClip skipが表示されていません。
モデルによって推奨されている値が異なるので、表示させておくと何かと便利です。
settingsタブの検索に「Quicksettings」と入力し、プルダウンから「sd_vae」と「CLIP_stop_at_last_layers」を選択します。
上部の「Apply settings」をクリックしてから「Reload UI」を押せばStable Diffusion Web UIの上部にVAEとClip skipが表示されます。
VAEやClip skipの効果は以前記事にしたものがあるのでこちらも参考にしてみてください。
拡張機能の入れ方
拡張機能を入れることでStable Diffusion Web UIをより使いやすくカスタマイズできます。
やり方はローカル版と同じで、リストから選ぶか、直接URL入力でインストール可能です。
リストから選ぶ方法
Extensionタブ→Availbleタブ→Load fromをクリックすると使用できる拡張機能一覧を表示できます。
下の「Hide extensions with tags」や「order」で、表示する拡張機能の種類や並び順の指定が可能です。
一覧を表示したら右側のinstallクリックで、拡張機能をインストールできます。
ファイル名がgithubへのリンクになっているので、詳細はそちらで確認してください。
拡張機能インストール後はStable Diffusion Web UIをリロードする必要があります。
なお、この方法で構築したStable Diffusion Web UIだと「Apply and quit」となっててリロードできませんでした。
ですので、画面下部にある「Reload UI」からリロードしてください。
直接URLを入力する方法
Extensionタブ→Install from URL→「URL for extension's git repository」にURLを入力して、拡張機能をインストールできます。
例えばAI動画が作れるanimatediffのURLは、Githubのページにあるcodeから確認できます。
Githubで公開されている拡張機能は、基本これでインストール可能です。
こちらもインストール後はリロードしてください。
Paperspaceで使える便利なコマンド
Notebook上で右クリックからフォルダの削除をすると、なぜかうまくできません。
また生成した画像もまとめてダウンロードすることができず、1枚ずつ、またはzip形式にする必要があります。
ここではフォルダの削除とzipを作るコマンドをご紹介します。
・ターミナルを開く
まずnotebookの画面からターミナルを開いてください。
「+」ボタンを押して作成されたターミナルをクリックします。
そうすると下部にコマンドを入力できる画面が表示されるので、ここでコマンドを実行できます。
・生成した画像をzip形式にする方法
これはファイル名を決めて、指定したパスのフォルダをzipにするコマンドです。
以下はoutputsフォルダを「ファイル名」という名前でzipにしています。「ファイル名」の部分は自由に変更可能です。
zip -r ファイル名.zip /notebooks/stable-diffusion-webui/outputs
ターミナルに入力して実行します。
そうすると処理が始まり、終わってから更新ボタンを押すとFilesにzipが作成されます。
右クリックからダウンロードが可能です。
容量を圧迫するので基本ダウンロードしたら削除しておきましょう。削除も右クリックから可能です。
・フォルダの削除
フォルダはなぜか右クリックで削除できないため、コマンドで削除する必要があります。
rm -r フォルダのパス
例えばgrid画像や、txt2imgで出力した画像のフォルダを削除する場合は、以下のように書きます。
rm -r /notebooks/stable-diffusion-webui/outputs/txt2img-grids
rm -r /notebooks/stable-diffusion-webui/outputs/txt2img-images
フォルダのパスは、右クリックからCopy pathでコピーが可能。
いちいち入力やパスのコピーが面倒だという人は、コピペできるようにメモしておくと便利です。
Paperspaceを使うメリット
PaperspaceでStable Diffusion Web UIを使う一番のメリットは、コストが抑えられるという点です。
おそらくA4000レベルのGPUを搭載したPCを買うと20~30万は掛かります。
それを月額8ドルで使いたい放題というのは非常に安いです。
タイミングによって好きなGPUが使えないこともありますが、RTX4000やRTX5000でも十分画像生成は可能。
ローカルで画像生成環境を整えるのが難しい、でも画像生成をやってみたいという人には、google colabよりもPaperspaceをおすすめします。
Paperspaceのデメリット
容量を気にする必要がある
余計な料金をかけたくない方は容量に気を使う必要があります。
用途に応じて必要なものだけインストールする、不要なものを削除するというやり方で、上限以内に抑えるのが一番無難です。
ただいちいち容量を気にしなくてはいけないため、ここにストレスを感じる方はいるかもしれません。
1GB越えても0.29ドルなのでそこまでシビアになる必要はないかもしれませんが、金額を抑えたいという方は容量を気にして使う必要があります。
若干動作が重い
モデルのアップロードやWebUIの起動、生成後の画像プレビュー、リロードの早さなどは重たく感じることがあります。
料金を考えたらこれを含めても全然お得ですし、画像生成に影響があるわけでもないのですが、ここも気になる方は気になるかもしれません。
GPUを使えないタイミングがある
稀にどのGPUも使えないタイミングが存在します。
具体的にいつ頃と決まっているわけではありませんが、画像生成したいときにいつでも利用できるというわけではありません。
またGPUによっては処理が遅く、効率よく画像生成できない可能性があります。
まとめると、
- そこまで不自由ではないがたまに使えないタイミングがある
- プランによっては容量を気にする必要がある
です。
PaperspaceでStable Diffusion Web UIを使う方法まとめ
今回はPaperspaceでStable Diffusion Web UIを使う方法についてご紹介しました。
いろいろ制約はありますが、ある程度モデル、LoRA、拡張機能が自由に使えて月額8ドルはかなり安いと思います。
全く触ったことがない人だと導入ハードルは高いかもしれませんが、理解できなくても順番通りやればとりあえず動かすことはできます。
容量やGPUの選択さえ気をつければ月額以上の金額が発生することもないため、初心者の方や、ローカル+サブマシンとして動かしたいという方にもおすすめです。
現状一番安く使えるクラウドサービスだと思うので、気になる方はぜひ使ってみてください。