GPUクラウドRunPodを利用したKohya ss_GUIのインストールガイド

LoRAの学習時に、ご自身のPCが使えなくて、煩わしい思いをしたり、PCのスペックが低くてSDXLの学習を諦める事はありませんか?そんな時におススメするのがGPUクラウドです。GPUクラウドとは、データセンターにある高性能GPUマシンを、ユーザーが時間単位でレンタルする事ができます。サービスとしてGoogle Cloud (GCP)・RunPod・Vast.ai・Lambda Labs等があります。今回紹介するのは安価で個人利用にも向いている、RunPodをつかって初心者にも向いているランニングコストが比較的に安い使用方法の紹介します。
RunPodとは

RunPodは、「設定を最小限に抑えた即時利用」「幅広いGPUの選択」「使った分だけのコスト」でAI開発や実験を進めたい人に最適なGPUクラウドです。反復型・断続型のAIプロジェクトや個人利用、研究用途にはとくにマッチします。以下に特徴をまとめました。
- 豊富なリージョン:グローバルで24のリージョンに展開されており、低遅延でGPUを使える環境が整っています。
- 豊富なGPUラインアップ:NVIDIAの高性能GPU(H100, A100 80GB, RTX 5090, RTX 4090)等、幅広く選択可。
- コンテナ(Docker)ベースのPodsによる柔軟な環境構築:OSやライブラリ、PyTorch/TensorFlowなどテンプレートが多数用意されており、すぐに利用開始できる設計です。
- 高速な起動:「FlashBoot」により、20秒未満でPodを立ち上げ、すぐに作業を開始できます。
- 細かい課金(秒単位)による従量課金制:使った分だけ支払う仕組みで、ムダを削減。月単位の契約なし。
- 永続ボリュームによるチェックポイント保存:Podを停止してもデータを保持でき、再起動して継続利用が可能です。
- データ転送費ゼロ:モデルやデータのアップ/ダウンロードに料金がかからない点もメリットです。
✅欠点としては時折不安定になることなのですが、ほとんどの場合podの再起動で解決できます。
無料のお試し枠は0.10ドルと少ないですが、RunPod紹介プログラムを使えばRunPodクレジットを受け取ることができます。低コストでモデル学習をしたい方にはおススメです。また、ハイスペックなPCをお持ちの方でも学習中にPCを使うことが出来ない煩わしさから解放されます。
RunPodで使えるGPU
RunPodで使える代表的なGPUとして以下のGPUを借りることができます。
- NVIDIA GeForce RTX 4090:
- NVIDIA GeForce RTX 5090:
- NVIDIA RTX 6000 Ada Generation:
- NVIDIA H200:
- NVIDIA H100 80GB HBM3:
- NVIDIA B200:
最新のリストを確認したい方は下記のリンクより確認できます。
RunPodの料金について
RunPodの使用時に掛かる料金について、まず覚えておきたいのはPodの稼働時間とストレージにそれぞれ課金されることです。Podは使った分だけのコストを支払い、終了させると課金されませんが、ストレージはサーバーに存在する間は課金され続けます(稼働時は半額になります)。課金されたくない場合はストレージを空にする(デプロイしたPodの削除)必要があります。
上記の理由からRunPodを使ってLoRA学習する場合は、LoRAプロジェクト毎にPodをデプロイして、モデル学習が終われば必要データをすべてダウンロードした後にPodを削除すれば、維持費が掛からないのでランニングコストを節約できます。
また、GPUによっても大きく変わります。ハイエンドクラスのGPUになるほど利用料金は上がります。
クラウドの種類は「Secure Cloud」と「Community Cloud」があります。Community Cloudの方が、Secure Cloudの半額位でつかえますが、混んでいるので、使いたい時に使えない場合があります。しかし、最安でLoRA学習をしたい方はCommunity Cloudが一番でしょう。
料金の目安シミュレーション
利用料金は毎週月曜日に変わっているので「このGPUはこの値段で使えます。」とハッキリ提示することはできませんが、参考として執筆時の料金で説明します。
Secure Cloud
でNVIDIA GeForce RTX 4090
を借りたとして、現在0.69/hr
となっています。最初にpodの構築・モデルのダウンロード・データセットのアップロードなどでザックリ1時間かかるとします。1回の学習に1時間かかったとして、満足いくモデルが1回で出来れば良いのですが、いくつか設定をかえて学習を4回したとします。合計で5時間かかっているのでLoRA学習に掛かったコストは約3.45ドル(ザックリ500円位)になりました。
そして、このPodのストレージは全部で70GB確保しているので、維持費は一時間辺り0.014ドルになります。1日辺りの料金は0.333ドルおおよそ50円かかります。⚠️この料金はPodを削除することで維持費をゼロにすることも可能です。
現在NVIDIA GeForce RTX 4090を買うと40~50万位します。さらにGPUは消耗品なので数年使えばトラブル等で壊れるときもあります。これをレンタルにすれば、故障の心配もなくなりますのでコストパフォーマンスが高いと言えるのではないのでしょうか。
RunPodの始め方
アカウント登録と課金
まずは、下記のリンクよりアカウントをつくり課金をしましょう。以下のリンクはRunPod紹介プログラムになります。このリンクより登録して、10ドル以上課金すればランダムで5~500ドルのRunPodクレジットを受け取ることができます。ただし、条件としてGoogleアカウントで登録する必要があります。※Googleアカウントを使いたくない場合はRunPod紹介プログラム無しで登録しましょう。
上記のリンクよりRunpodのWEBサイトに行くと以下の様な画面になります。

「Claim Your Bonus」(報酬を申し込む)ボタンをクリックしてアカウント登録画面に移ります。
アカウント登録画面になれば「Sign up & Claim reward」ボタンでアカウント作成をしましょう。Googleアカウントを指定して連携の許可を取ります。Googleアカウントを使いたくない場合はRunPod紹介プログラム無しの「Sign up without the bonus」から登録しましょう。

アカウント作成が完了するとHome画面に移ります。

クレジットが$0.10とほとんど何もできない状態なので、まずは左のメニューのAccount内にある「Billing」ボタンより課金画面に移動しましょう。

ページ上部の「How much credit do you want to add to your account?」の部分に課金額を指定できるので($10以上)、指定するか、左にある金額をクリックして、金額を入力します。入力出できたら、「Pay with card」ボタンより手続きを完了させます。

Podのデプロイ
今回デプロイするのはKohya ss_GUIに対応したPodになります。🔗公式レポジトリのマニュアルインストール方法に沿ってデプロイします。
メニューのManage内にある「Pods」ボタンよりPodのデプロイページに移ります。ココでレンタルするGPUを選択します。今回はSecure Cloud
のRTX 4090
を使いたいと思います。最安で使いたい場合はCommunity Cloud
を借りると良いでしょう。

GPUを借りるときに意外と重要なのがリージョン選びです。混んでいるリージョンはいざ使おうと思った時にほとんど空きがない場合があります。モデルのアップ/ダウンロード時のスピードはサーバーからPCまでの距離に依存しますが、遠くても空きが多いサーバーを選択するのも悪くはありません。
リージョンを選ぶには上部にあるフィルターリストから選択できます。リージョンを気にしない方はデフォルト「Any region」で借りればその時空いているリージョンが割り当てられます。

GPUをクリックすると、デプロイ設定がUIに現れます。「Change Template」ボタンを押してテンプレートを変更します。

テンプレートが色々と出てくるので「Runpod Pytorch 2.2.0」を選択します。

⚠️このままデプロイへと行きたいのですが、ココで重要な部分を編集します。Pod Templateエリアの「Edit Template」ボタンよりテンプレートを編集しましょう。

デプロイで重要なのが「Volume Disk」の容量です。この容量はKohya ss_GUI本体と学習用のsafetensorsファイルや学習画像、学習後のLoRAファイル等を保存するスペースなので十分に確保しましょう。ただし、この容量が大きいほどRunPodでのストレージ維持費が多く掛かります。
今回はSDXLモデルの学習想定としてデフォルトの20 GBから50 GB
にしました。Flux.1の場合はさらに大きくなるので80 GB
程必要になります。

Instance PricingはOn-Demandで問題ないです。長期間継続してインスタンスを借りる場合はSavings Planを使うと大幅に割引ができます。ただし、この場合は前払いとなります。
「Encrypt Volume」と「Start Jupyter NortBook」のオプションがありますが、今回はJupyter NortBookをつかって操作していくのでチェックボックスをオンにします。サーバーを秘匿化したい場合はEncrypt Volumeを使いましょう。
テンプレートの設定を変更したら一番下の「Deploy On-Demand」よりデプロイします。

デプロイが完了するまでしばらく待ちましょう。完了したら、下記の様な画面がでてきます。

次に、Jupyter LabがNot Ready
からReady
に変わるのを待ってからクリックしてJupyter Labに接続します。

しばらくするとブラウザにJupyter Labが起動します。

Kohya ss_GUIのインストール
Jupyter Labが起動したら、Kohya ss_GUIをインストールします。
UIの右側にあるラウンチャーリストの下の方のOther欄にある「Terminal」ボタンを押してターミナルを起動させましょう。


ターミナルの起動後、ディレクトリがworkspace
にいることを確認し、まずはKohya ss_GUIのリポジトリをクローンします。下記のコードを貼り付けてして実行しましょう。
git clone --recursive https://github.com/bmaltais/kohya_ss.git

クローンはそれ程時間が掛からずに終わるでしょう。次にkohya_ss
ディレクトリに移動してからセットアップを実行します。下記のコードを貼り付ければディレクトリの移動とセットアップの実行をまとめて実行できます。これは結構時間が掛かります。コマンドラインにInstallation completed... You can start the gui with ./gui.sh --share --headless
と表示されるまで気長に待ちましょう。(およそ10分~15分)
cd kohya_ss
./setup-runpod.sh

セットアップが完了したら、下記のコードでKohya ss_GUI起動しましょう。
./gui.sh --share --headless
実行後しばらくすると下記の画像のようにリンクが表示されるのでクリックすればKohya ss_GUIのUIがブラウザで起動します。

また、ココまでの作業を下記のコードで「クローン>セットアップ>起動」を一気に進めることも可能です。
git clone --recursive https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
./setup-runpod.sh
./gui.sh --share --headless
Jupyter Labを使ってデータセットをアップロード
Kohya ss_GUIのインストールが完了しても、このままでは何もすることができません。学習用のチェックポイントモデルと学習画像等のデータセットを準備する必要があります。
まずはworkspaceに新しいフォルダー「train」の様な好きな名前のフォルダーを作ります。⚠️このディレクトリー構成は自分の好みの構成で作ればいいですが、後ほど説明するファイルパスは自分の構成に合わせて変更してください。

次にトレーニング用のフォルダーをつくります。今回はDCAI-Girl-Illustrious
としました。フォルダー名は学習するLoRAの内容が判りやすい名前にしましょう。
フォルダーができたら中に移動して新たにdataset
model
log
の3つのフォルダーを作ります。

フォルダーができたら「dataset」フォルダーに移動します。そしてフォルダー内にデータセットの画像をキャプションをドラッグアンドドロップでアップロードします。

Jupyter Labを使って学習用モデルをダウンロード
データセットのアップロードが終われば次に学習用のチェックポイントモデルをダウンロードします。
trainフォルダーに移動します。ココに新しいフォルダーmodels
を作成します。

フォルダーに移動したら、UI右側の上部に現在開いているコマンドラインのタブの横にある「+」タブをクリックします。
ラウンチャーが出てきますので先ほどと同じ「Terminal」を開きます。

ターミナルが開くとroot@HASH-NAME:/workspace/train/models#
になっていることを確認しましょう。
ローカルからモデルを直接アップロードすることも可能なのですが、数ギガあるファイルをアップロードするにはかなりの時間が掛かるのでHuggingFaceやCivitaiから直接ダウンロードしましょう。
コマンドラインでファイルをダウンロードするにはいくつか方法があるのですが今回は「wget」を使ってダウンロードしてみましょう。⚠️この方法でダウンロードできるのはログインが必要のないモデルに限ります。要ログインモデル(例:Flux.1 [Dev]等)は「curl」コマンドを使ってダウンロードしましょう。
下記のモデルをダウンロードしたいとします。
モデルのページに行き「copy download link」ボタンでリンクをコピーします。下記のコードのLINK
とFILE_NAME
を書き換えて実行します。
wget --wait=10 --tries=10 "LINK" -O FILE_NAME.safetensors
今回の例だと以下の様になります。
wget --wait=10 --tries=10 "https://huggingface.co/OnomaAIResearch/Illustrious-XL-v2.0/resolve/main/Illustrious-XL-v2.0.safetensors?download=true" -O illustriousXL_v2.safetensors

上記のコードをコマンドプロンプトで実行すればモデルのダウンロードが始まります。

また、Civitaiからモデルをダウンロードする場合はモデルページの「Download」ボタンを右クリックでリンクをコピーできます。
以上でLoRA学習の準備は完了です。
⚠️RunPodでKohya ss_GUI使用時の注意点
基本的にはローカルで使う時と変わりませんが、ファイルパスがローカルの様にエクスプローラーを使って選択することができませんので直接パスを入力する必要があります。
コンフィグファイルの保存方法
Kohya ss_GUIを開いたらLoRAモードに切り替えて一番上にある「Configuration」を開きます。
「Load/Save Config file」に下記の様に記入します。(ファイル名はお好みで変更してください。)
/workspace/train/config.json

💾ボタンでコンフィグファイルが/workspace/trainフォルダーに作成されます。呼び出すときは↩️ボタンで呼び出せます。
また、学習モデル毎に設定ファイルを作りたい場合は下記のようにします。
/workspace/train/DCAI-Girl-Illustrious/config.json
学習モデルの指定方法
Jupyter Labでダウンロードしたモデルディレクトリに移動します。
ダウンロードしたモデルを右クリックで「Copy Path」でパスをコピーします。

Kohya ss_GUIの「Model」セクションの「Pretrained model name or path」に先ほどのパスをペーストするのですが、先頭に/
と入力してから貼り付けましょう。

データセットの指定方法
コチラもモデルのパスの時と同様にJupyter LabでパスをコピーしてKohya ss_GUIに先頭に/
を付けてペーストします。

PodとKohya ss_GUIの停止方法
Podを停止する時の注意点として、workspace
以外に保存しているデータはすべて消去されます。今回の構成ではユーザーデータは何も消えません。しかし、Kohya ss_GUIセットアップ時にpython3-tkなどをインストールしているのですが、それらがすべて削除されるので、再起動時にセットアップから始める必要があります。※あらかじめpython3-tkなどが入ったテンプレートがあれば良いのですが、公式からは今のところ公開されていません。
以上の注意点を踏まえて停止します。
停止方法は基本的にはRunPodのPodページで稼働しているPodを「Stop」ボタンで停止するだけです。もっと丁寧に停止したい場合はJupyter LabのKohya ss_GUIのターミナルを開きCtrl + c
で仮想サーバーを停止させてから停止しましょう。

停止時にストレージに掛かる費用も表示されるので参考にしておきましょう。
また、このPodがもう必要なかったり、ストレージ維持費を節約したい方は「Terminate」ボタンで完全にPodを削除できます。※完全に削除する場合は必要なデータのダウンロードを済ませておきましょう。
PodとKohya ss_GUIの再起動方法
Podの停止方法でも説明しましたが、workspace
以外に保存しているデータはすべて消去されているので、再起動する時はKohya ss_GUIのセットアップから始める必要があります。
RunpodのPodページに停止中のPodがあるので起動したいPodをクリックすると「Start for $0.69/hr」の様な使用価格付きのボタンが出てくるのでクリックで起動します。起動後Jupyter Labを開きます。

Kohya ss_GUIのインストールで説明したように「Terminal」ボタンを押してターミナルを起動させます。


ターミナルの起動後、以下のコマンドでセットアップからKohya ss_GUIの起動まで一括で行います。
apt update -y && apt install -y python3-tk
cd kohya_ss
./gui.sh --share --headless
セットアップには約30秒から1分程度の時間が掛かります、Kohya ss_GUIが起動したらURLが出てくるのでクリックでUIを開けば起動完了です。
トラブルシューティング
エラーが出ていてこれ以上進めない
RunPodは割と不安定なので、今までできていたことが、急にエラーによりできなくなることがあります。
不安定になった時はPodを再起動してみましょう。大概の問題はこれで解決できます。
それでも解決しない場合はPodを新たにデプロイしてみてください。手間ですが、これで解決する場合もあります。
Podを起動しようとしたらGPUがない(Zero GPU Pods)

混んでいるリージョンではよくあることです。時間を置いてから空きがあるかを確認するしかありません。
どうしてもその時に使いたいのであれば手間ですが、新たにPodをレンタルした方が早い場合もあります。
新たにPodをデプロイしたい場合はGPUが借りられなかったPodを0GPU(CPUオンリー)で起動したのちにJupyter Labをつかって必要データをダウンロードしましょう。
いちいちデータを移動するのが煩わしい場合は有料のNetwork Storageを使いましょう。Network StorageはPodをまたいでアクセスできるストレージなので空いているPodにつなげればすぐに使うことができます。
Kohya ss_GUIの使い方
ここまで来ればローカルと同じ様にKohya ss_GUI使うことができます。Kohya ss_GUIの使い方は下記の記事にて詳しく解説しています。
SD1.5からNoobAI XLまでオリジナルキャラクターLoRAの学習方法は下記の記事を参照してください。
Flux.1等のログインが必要なモデルをJupyter Labにダウンロードする方法
Flux.1等はダウンロードする為にログインする必要があります。通常のwgetではダウンロード権限がない為ダウンロードできません。今回はcurlコマンドを使ってCivitaiから「Flux.1 Dev」をダウンロードする方法を2通り紹介します。
まとめ
今回紹介したRunPodを使えば数十万円もするGPUを買わなくても、必要なときだけ高性能GPUを安価にレンタルしてLoRA学習を行えます。PodをデプロイしてJupyter LabからKohya ss_GUIを使えば、ローカルとほぼ同じ感覚で作業ができ、学習後にPodを削除すれば維持費も掛かりません。不安定さや再セットアップの手間といった注意点はありますが、低コストで効率よくSDXLやFlux.1のような大規模モデルを扱えるのは大きな利点です。PCの性能不足や学習中にPCが使えない煩わしさを解消したい人にとって、RunPodは非常に有効な選択肢といえるでしょう。