見出し画像

PaperspaceでAIイラストの始め方

更新履歴
2023/05/15
初版

2023/05/21
LyCORISを使えるように対応
a1111-sd-webui-lycoris+EnvyBetterHands LoCon追加

2023/11/09
huggingfaceのダウンロードURLの末尾に文字列が付加されるようになったので対応

2023/12/09
CivitaiのAPI対応
2024/01/13
CivitaiのAPI対応2

2024/03/07
WebUI Forge用ノートブック追加

2024/03/10
insightfaceをインストールするように警告が出ていたので対応


みなさん、「Paperspace」をご存知でしょうか?

Paperspaceは、クラウド上でPythonのプログラムを動かすことができるサービスです
GoogleのColabと同様のサービスで、AIイラストの生成にも利用できます。ただし、Colabは最近、無料ユーザーに対してWebUIの実行に制限を設けたため、便利さが減少しました

私自身もColabを愛用していましたが、課金額を計算すると、1日2時間の利用でも月額3,000円程度かかることが判明しました
Colabは従量課金制度を採用しているため、利用時間が長くなるほど、使用料金も増えていく傾向があります
そのため、Colabの料金が割高に感じられたため、私は課金を避けました。

Colabは、GPUの性能が優れているため、処理速度が速いというメリットがありますが、その一方で、コストも高くなっています
また、上記の月額計算は最も安いGPUを使った場合のものであり、より高性能なGPUを使うと、使用料金が一瞬で跳ね上がることもあります

一方、Paperspaceは、無料プランも用意されており、月額固定で使い放題のプランもあります
使用料金が固定されているため、Colabよりも安価に済む可能性があります

今回は、PaperspaceでAIイラストの始め方について解説したいと思います



はじめに

まずはPaperspaceのプランを見ていきましょう

プラン一覧

Free、Pro、Growthの3つのプランがあります
Freeは無料プランで、Proが月額8ドル、Growthが月額39ドルとなっています

それぞれのプランで使用可能GPUやストレージ容量に違いがあります

Paperspaceでは使用可能なGPU数に物理的な上限があります
そのため、それぞれのプランで使用可能なGPUを早いもの勝ちで取り合わないといけません
現在、Colabの無料ユーザーがPaperspaceに流れている影響か、無料GPUは常に埋まっている状態です
無料で試してみたい場合は、根気よく確認する必要があります

私はProプランを利用していますが、Pro用のGPUもほぼ埋まっています
課金したはいいけど、GPUが埋まっていて使えないという状況になることもありますので、利用者の多い時間帯にしか出来ないという方はProプランでも難しいかもしれません
Growthプランは割高ですが、GPU性能はColabと同等くらいのものがありますのでこちらの利用も検討してみてください
ただし、Growthについても上位のGPUはほぼ埋まっていると考えて下さい

月額固定のフリーで使えるGPU以外にも、Colabと同様に従量課金でのGPUも存在します
GPU性能によって1時間当たりの利用金額が変わりますが、基本的に割高です
ただし、フリーのGPUと従量課金のGPUで同時起動できるようなので1つはマージしながら、もう一つでイラストを生成するといった使い方が出来そうです

フリーで使えるGPUは一度取得すると6時間までは自由に使えます
時間になると自動で終了され、続けて使用したい場合は再度GPUの取得をしなくてはいけません

Paperspaceの課金は月末に行われます。
したがって、月初めに契約すると最もお得になりますので、覚えておくとよいでしょう

これから始めようと思う方は上記の内容を踏まえた上でご検討下さい


アカウント登録

Paperspaceの利用には、まずアカウントの登録が必要になります

下記のリンクからアカウント登録をするとお互いにクレジットのボーナスが入ります
従量課金のGPUのお試しで使えるみたいなのでよかったら登録お願いします

ひとまずはFreeプランで試してみることをおすすめしますが、Proプランは月額1000円くらいなのでこちらでも十分元は取れると思います

ただし、先程も言いましたがPaperspaceは月末課金のため課金するタイミングには注意して下さい

プラン選択

アカウントはGitHub、Google、メールの3種類が使えるみたいです

サインアップ

SMS認証がありますので基本1人1アカウントと考えたほうがよいです
先頭の0を除いて入力して下さい

SMS認証

私はすでに登録してるので、この先の画像は撮れませんでした…
以降は画像なしでの説明となります

SMS認証が終わるとユーザー名登録があります

そのあとに「Select your product」と出てきますので、左の「gradient」を選択してください

続いて使用目的などが聞かれますが適当で構わないみたいです

次はプロジェクトの登録を行います
プロジェクト名は何でも構いません
「SD」「WebUI」「AI」など適当に付けましょう

続いて「Where do you want to get stared?」どこから始めますかと聞かれますので、左のNotebooksを選択して下さい

これでアカウント登録は完了です

アカウントの登録が終わったら早速使ってみましょう


Notebook作成

アカウント登録が終わったらNotebookを作成します
アカウント登録から続けている方はそのままCREATEボタンを選択してください

一度中断している方はログイン後左上の「gradient」を選択してください

画面左上


プロジェクトを作成済みの場合はプロジェクトを選択して下さい
未作成の場合は右上のCREATE A PROJECTから新規作成してください

プロジェクト選択


NotebooksのCREATEを押すと新規作成が出来ます

Notebook作成


Notebookの新規作成画面はこうなっています

新規作成


最初のSelect a runtimeでは右下の「Start from Scratch」を選択してください

Select a runtime


続いてSelect a machineではGPUを選択します
先頭にFreeと付いている物は6時間無料で使えるものです
契約しているコースによって選べるものが変わります
Freeが付いていないものは1時間毎の従量課金となっていますので注意してください
Freeプランの場合は無料で使えるのはFreeGPUしかありません
FreeGPUが選択できない場合は上限まで使用されている状態ですので、しばらく時間を置いてみて下さい
現状だと空くことはほぼないので頑張ってください

Select a machine


続いてAuto-shutdown timeoutですが、これは使用時間の選択になります
最大の6時間にしておいてください
早めに使い終わった場合でも途中でストップ出来ますので気にしなくて大丈夫です

Auto-shutdown timeout


最後にAdvanced optionsです
デフォルトは非表示ですが、チェックを付けて表示してください
Containerの部分に「cyberes/gradient-base-py3.10:latest」と入力してください

これは後から変更できないため、必ず設定してください
もしNotebookを誤って作成してしまった場合は、作り直す必要があります

このオプションを設定することで、Python3.10を使用する環境が作成されます
最新のWebUIはPython3.10環境で動作するため、この設定が必要になります
設定しない場合は、Python3.09が使用されます

Advanced options


設定が終わったら一番下のSTART NOTEBOOKを押して下さい

Notebookを開始するとこういう画面になりますので左側のメニューの一番下にあるオレンジの「Open in JupyterLab」を押して下さい
ロード時間があるので表示されていない場合は少し待ってみて下さい

START NOTEBOOK

これでプログラムの実行環境が起動されます


Paperspace実行環境の説明

実際に動かす前に実行環境の説明をしていきます

中央右側のLauncherここから実際にプログラムを記述したりすることになります
使うのはPython3、Terminalの2つだけになると思います

Launcher

私はこれ以外使ったことがありません


中央左側にあるファイルブラウザ
起動したばかりの時点ではファイルは1つもないと思います

ファイルブラウザ

ファイルブラウザは「/notebook」というディレクトリを参照しています

Paperspaceで主に使用するディレクトリは3つです

/notebooks
永続ストレージ、Notebook別領域
ファイルブラウザで見えているのはここ
起動時インスタンスにコピーされるため大きいファイルを置くと起動が遅くなる

/storage
永続ストレージ、アカウント共通領域

/tmp
一時ストレージ、終了するとファイルは消える

永続ストレージはFreeプランだと5G、Proプランだと15Gになります

Freeプランの場合は永続ストレージに本体やモデルを置くとすぐにいっぱいになるので基本は一時ストレージに毎回ダウンロードしてくる形になります

永続ストレージには環境設定ファイルなどを保存しておくといいでしょう

先程も言いましたが、ファイルブラウザで参照できるのは「/notebook」だけになります

そのためファイルブラウザ上では何もないのにストレージがいっぱいになった場合は「/storage」ディレクトリを確認する必要があります

/storage領域はTerminalからコマンドを使って確認することになります

現在使用中のストレージ容量はPaperspaceの右上の自分のアイコンからTeam settingsを選びstorageタブを選択すると確認出来ます

Storage

Freeプランの場合、5Gを超えると即座に警告メッセージが出るようになりますのでファイルを消して下さい
Proプランの場合はオーバーしてもメッセージは出ませんが、月末にオーバーしていると追加料金が発生しますので注意してください

基本的な説明は以上になります


環境構築の説明

続いて、どういう形でWebUIをインストールしていくかを説明します

FreeプラントとProプランでは使えるストレージサイズが違うのは説明した通りです
そのため、Freeプランの場合は毎回/tmp領域に本体をインストールする形が良いでしょう
Proプランの場合は本体を/sotrage領域に保存してインストール時間の短縮が出来ます

今回説明する方法には本体以外にも仮想環境作成の手順が含まれています

2023/05/15 現在、WebUIの最新環境はPtyhon3.10、Pytorch2.0+CUDA11.8なのですが、実際にイラスト生成の速度を測るとPaperspaceではxformersも併用するのが早かったです

上記のことからxformersの最新をインストールしたいのですがCUDA11.7にしないと動きませんでした

PaperspaceはPythonやPytorchのバージョンアップを行っても実行環境には反映されません

そこで仮想環境の作成を行います
仮想環境の構築には5GB以上のストレージが必要になります
Freeプランの場合は毎回作成しないといけないので少し時間がかかります

もしかしたらNotebook作成時のコンテナの指定でバージョンアップが可能なのかもしれませんが、Python3.10環境のものしか見つかりませんでした
もしご存知の方が居たら教えてください

バージョンとか言われてもよく分からないという方のために、一言でまとめると実行速度が早い最新環境を作るのに必要だと思って下さい


環境構築の手順

今回は大幅に手順を簡略化するためにNotebookを配布します

できるだけ初心者の方にも分かりやすく作ったつもりですが、疑問点や不具合があればコメントしてください

0.事前準備

では、実際の手順を説明していきます

まずは下記のファイルをダウンロードしてください
これは実際のプログラムを記述したファイルになります

更新履歴
2023/05/15
初版

2023/05/21
LyCORISを使えるように対応
a1111-sd-webui-lycoris+EnvyBetterHands LoCon追加

2023/11/09
huggingfaceのダウンロードURLの末尾に文字列が付加されるようになったので対応

2023/12/09
CivitaiのAPI対応
2024/01/13
CivitaiのAPI対応2(簡易的なURLの整合性チェック追加)

2024/01/13
モデルのリンク切れがあったので最新化
adetailerのモデルのダウンロードディレクトリに間違いがあったのを修正
Torch、Xformersのインストール方法を変更


WebUI Forge用のノートブックを作成しました
使用方法はノーマル版と同様です

更新履歴
2024/03/07
初版

2024/03/10
insightfaceをインストールするように警告が出ていたので対応


ダウンロードしたファイルをファイルブラウザ上にD&Dで配置してください
続いて、configフォルダ、tagsフォルダ、upscalerフォルダを作成してください

ファイルブラウザ

それぞれのフォルダの説明は下記の通りです

・config
WebUIの設定ファイルを保存します
すでにWebUIを利用している人はここに設定ファイルを設置するとそのまま設定が使えます
設定ファイルは次の3つです
config.json
ui-config.json
styles.csv

notification.mp3を設置すると本体インストール時に自動でコピーされるようになっていますので利用したい方は設置しておいてください
notification.mp3はイラスト生成が完了した際に再生されるファイルとなります
設置した音源の音量には気をつけて下さい
※オプションから音量の変更ができるようになりました
Paths for savingにある
Play notification sound after image generation (notification.mp3 should be present in the root directory) (requires Reload UI)
のオプションです

config


・tags
easy-prompt-selectorというプロンプト入力補助の拡張機能に使うファイルになります

利用しない方はファイルの設置は不要です

tags


・upscaler
アップスケーラーを本体インストール時にコピーします
デフォルト以外のアップスケーラーを使っている方はこちらに設置しておいてください

upscaler

以上で事前準備は完了です


1.初期設定

それではノートブックの中身を見ていきましょう

まずは初期設定からです
実行する前に無料版か有料版かで保存先を変更しますのでフラグを設定してください

フラグ設定

先頭に#が付いている行はコメントアウトされている状態なので実行時にはスキップされます
有料版の場合は
flg_use_storage = True
無料版の場合は
flg_use_storage = False
自身に合うほうを有効化してください

フラグの設定が終わったらプログラムの記述している枠内にフォーカスを合わせた状態で画面上部にある実行ボタンを押して下さい

プログラム実行

プログラムの実行中は下の図の部分が[*]に変わります
完了すると数字になりますので覚えておいて下さい

実行中
完了後

また、実行完了時には下の部分にログが出るようになっていますので
「finish:~~~~」
と出たら完了しています

完了ログ

以上で初期設定は完了です


2.仮想環境

続いて仮想環境を作成します
仮想環境はシステムのコピーを行い、プログラムの最新化などを試せる環境を作るものです
今回はこちらに最新のプログラムをインストールしていきます

有料版の場合は最初に1回仮想環境を作ってそれをずっと使うので初回のみの起動で構いません
無料版の場合は一時領域に保存しますので毎回起動してください
インストールには5分程度の時間がかかります

2.0.デバッグ用と書かれた部分はもし不具合があった場合に環境を削除する処理ですので通常は使いません
無料版だと環境は残りませんので有料版の場合のみ使うかもしれません

通常は2.1.仮想環境作成の部分のみ実行してください

仮想環境作成

完了時にエラーが出ていても構いません

仮想環境作成ログ

以上で仮想環境作成は完了です


3.WebUI本体

3.0.デバッグ用と書かれた部分は通常は使いません

3.1.WebUIインストールを実行してください
有料版は初回のみで構いません
無料版は毎回実行してください

WebUIインストール

3.2.環境ファイル設定を実行してください
有料版は初回、もしくはnotification.mp3、upscalerを変更した場合に実行してください
無料版は毎回実行してください

環境ファイル設定

以上でWebUI本体のインストールは完了です


4.拡張機能

embeddings、extensionsのインストールを行います
私が普段使っているものをそのままにしています
他に使いたいものがあれば追記してください

有料版の場合はWebUI上からインストールしても構いません
無料版でも出来ますが毎回インストールが必要になるのでおすすめしません

4.1.拡張機能インストールを実行してください
有料版は初回、もしくは内容を変更した場合に実行してください
無料版は毎回実行してください

拡張機能インストール

4.2.ControlNetモデルインストール
ControlNetを使用する場合に実行してください
モデルは1ファイル723 MBもあるのでストレージ容量に十分注意してください
使用する機能のモデルのみに限定するのが良いでしょう

有料版は初回、もしくは内容を変更した場合に実行してください
無料版は毎回実行してください

ControlNetモデルインストール

以上で拡張機能インストールは完了です


5.モデル

モデル、VAE、Loraのダウンロードを行います
モデルはファイルサイズが巨大なため有料版でも毎回ダウンロードします

5.1.モデルダウンロード
私が普段使っているものをそのままにしています
その他のモデルを使いたい場合は
テンプレート部分をコピーしてダウンロードのURLを設定してください
file_download("ここにURLを設定", models_path)

ダウンロードURLは下の画像の部分から取得してください

Huggingface
Civitai

Huggingfaceのプライベートモデルを使う場合は下記のリンクからアクセストークンの設定を行って下さい
アカウントがない場合は新規作成してください

プライベートモデルを使わない場合はこの作業は不要です

New tokenから新規作成してください
Nameは何でも構いません
Roleはダウンロードだけならreadで構いません

アクセストークン

作成出来たらトークンをコピーしてください

トークンコピー

コピーしたトークンを1.初期設定にある下記の場所に記述してください

トークン設定


GoogleDriveからダウンロードする場合はGoogleDrive側で共有設定を行って下さい

GoogleDrive


2023/12/09追記
Civitaiで一部のモデルのダウンロードにログインが必要になりました
PaperspaceでダウンロードするにはAPIの設定をします

Civitaiのアカウント設定からAPI Keyを作成してください

アカウント設定の下の方にあるAdd API keyから追加します

API key追加

名前は何でも構いませんので、分かりやすくPaperspace等で良いでしょう

名前

SaveするとAPI Keyが表示されますが、このKeyは作成したこのタイミングしか確認することができません
そのため、必ずここでコピーしてください
分からなくなった場合は、Keyを作成しなおしてください

API Key

コピーしたAPI Keyを1.初期設定にある下記の場所に記述してください

API Key設定


モデルは複数ダウンロードが出来ますので、使いたいものを設定してください
設定が出来たら実行してください

モデルダウンロード


5.2.VAE&Loraダウンロード
私が普段使っているものをそのままにしています
モデルと同様に使いたいものを設定してください
有料版、無料版共に毎回実行してください

VAE&Loraダウンロード

以上でモデルインストールは完了です


6.WebUI起動

WebUIを起動します

WebUI起動

初回起動時には追加でプログラムのインストールを行うので起動に時間がかかります

起動が出来たらgradioのURLが表示されるのでこちらのリンクをクリックしてください

gradioリンク

無事WebUIが開けたら成功です

WebUI

WebUI画面の一番下にバージョンがあります
下記で最新になっていると思います

バージョン


終了する際はフォーカスをWebUI起動の枠に合わせて、停止ボタンを押して下さい

WebUI終了

以上でWebUI起動は完了です


7.画像ファイルバックアップ

生成されたイラストはWebUIのoutputフォルダに保存されています
ファイルバックアップ処理を実行することでZipファイルに圧縮します
圧縮されたZipファイルはファイルブラウザに表示されますのでこちらからダウンロードしてください

Zipファイルダウンロード

ダウンロードしたファイルは残しておくとストレージ容量が圧迫されますので、手動で削除してください

生成したイラストを保存しなかった場合は、有料版でも次回の初期設定時に削除されますので注意してください

以上で全ての工程は終了です


最後に

いかがだったでしょうか
うまく起動できましたでしょうか
できるだけ簡単にしたつもりですが、Linuxの基礎知識がないと難しい部分もあるかもしれません

疑問点や不具合などがあればコメントお願いします
できるだけサポートはしたいと思います

AIイラストについて敷居が高いと思っている方も多いと思いますが、クラウドサービスを利用することで簡単に始めることが出来ますので、ぜひ試してみて下さい

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