RunPodテンプレート”Kohya_ss GUI RTX 5090”で”LoRA学習”                                                    

Kohya_ss GUI RTX 5090”で”LoRA学習” 

本記事では、クラウドGPUのRunPod内で、
”Kohya_ss GUI RTX 5090”というテンプレートを使用して、
JupiterLabのアップローダーを使用してファイルをアップロードする方法と、
workspaceでフォルダ管理をする方法と、
”LoRA学習”をする方法を解説しています。

RunPodの基本的な使用方法については、こちらの記事で解説しています。

RunPodテンプレート(Kohya_ss GUI RTX 5090)は、Kohya_ssのGUI(Web UI)を含んだ、学習用の統合環境になっています。
このテンプレは、GUI操作でLoRA学習などが可能になっており、Jupyter Labとの連携が可能で、GPUまで指定されている!ということで、

Kohya_ss RTX5090

このテンプレートの構成

項目内容
OSUbuntu 22.04 LTS
CUDA12.8(最新)
Python3.11.2
Kohya_ssv25.2.1(2025年対応)
PyTorch2.7.0
GUIKohya_ss Web UI付き(localhost:7860)
その他code-serverJupyter LabrcloneRunPod File Uploader など含む

目次

RunPodでのKohya_ss GUIの基本的な使用手順

今回のKohya_ss GUI RTX 5090では、GPUを迷わなくていいので良いですね。今回は、Network Strageを使用せずに軽量な(5から10枚程度)学習を行っていきたいと思います。永続ストレージを使用する場合は、事前にStorageNetwork Volumeを設定し、Deploy画面でVolumeを選択して始めます。

Network Strage(永続ストレージ)の設定方法はこちらをクリックしてください

1. 使いたいGPUと同じリージョン(データセンター)を選ぶ

左側のStorageから、New Network Volumeをクリックします。
すると以下の画面が出て来ます。

ネットワークボリューム データセンター
  • 一番大事なポイントです。
  • 例:RTX 5090を使いたい → そのGPUが使えるデータセンターを調べて、同じ場所にボリュームを作成する
  • 違うリージョンだとPodに接続できません。

※注意:L4、T4、A10G、A100などは、幅広く対応するGPUです。RTX5090などは新しいので、テンプレートを使用する場合は注意が必要です。

2. 頻繁に起動するGPUが安定して空いているリージョンを選ぶ

  • 「混雑していてなかなかGPUが借りられない」となると非効率なので、なるべく空きやすいリージョンを選ぶのも手。
  • 時間帯によって混雑が変わるので、ご自身が作業する時間帯に空きがある地域が理想です。

3. 自身の物理的な居住地に近いリージョン(必須ではない)

  • 通信速度を気にする場合のみですが、ネットワーク経由で学習データや画像をアップロード/ダウンロードする際に速度に影響が出ることがあります。
  • 日本在住なら**アジア圏(例:Singaporeなど)**が比較的速いです。
  • ただし、これは学習性能には影響しません(あくまで転送速度のみです)。

ネットワークボリュームを作成するデータセンターを選びます。データセンターを選択すると、使用できるGPU一覧が表示されます。

ネットワークボリュームの設定

使用したいGPUが使えるリージョンを選択し、Volume Nameを付け、サイズ(GB)を設定し、Create Network Volumeを押すと自分の永続ボリュームが作成されます。

ボリューム(永続ストレージ)の選び方基準

最低限のLoRA学習なら20GBでもOK、余裕があれば30〜40GBが安心。

内容容量の目安
学習画像(100〜200枚)100MB〜500MB程度
.txtタグファイル数MB未満
モデル本体(SD1.5やLoRA)2〜7GB程度(1モデルあたり)
出力されたLoRAファイル50MB〜200MB/個
学習キャッシュ・ログ数百MB〜2GB程度

設定目安

項目推奨
最低限20GB(削除に注意)
おすすめ30〜50GB(複数回学習する・ベースモデル複数持つなら)
安心運用Auto-shutdown設定 + 永続ストレージあり

具体的なポイント

作成したストレージは、ストレージに反映されます。(反映に、少し時間が掛かる場合があります。)

永続ストレージ追加

RunPodの「永続ストレージ(Network Volume)」は、作成した時点から削除するまで、ずっと課金され続けます。
※課金はPodが停止中でも発生します。

  • Podを停止、削除しても、永続ストレージが残っていれば料金は発生し続けます
  • 料金は GB単位/時間あたり で加算されます(例:$0.0001/GB/時間 など)

ストレージ課金を止めたい場合

「永続ストレージ(Network Volume)」自体を削除する

  1. RunPodの左メニューから「Volumes」を選択
  2. 削除したいストレージの右側にある「︙」メニューをクリック
  3. Delete」を選択

削除時の注意点

  • 削除すると中のデータ(学習モデル、学習ログ、画像など)もすべて消えます
  • rcloneや外部ストレージと連携してバックアップしてから削除するのが安心です
状況おすすめ対策
一時的に使わないPodだけStop(停止)、Delete(削除)はしない。
しばらく使う予定がない必要なデータをバックアップし、Delete(削除)Volume削除
コストを最小限にしたい作業の都度Delete(削除)、Volumeを作成・削除

Stop(停止)だけすれば、GPU課金は止まります。次回Startすれば、再び同じ環境でタスクを継続できます。


※Network Strageを使用せず学習する場合は一気に作業をする必要があります。Podを停止するとデータが消えます。ご注意ください。

DeployRTX5090Deploy on Demandで、Podを立ち上げます。

Kohya_ss GUI Deploy
最近Potのデザインも変わりましたね!

※はてなマークテンプレート内のツールのスペックと、ポート番号が確認できます。


①インスタンス起動

  • RunPodでインスタンスを起動後、しばらく待つと「Web Interface」欄にアクセス可能なリンクが表示されます。

    今回は、
  • Kohya_ss(3000)、
  • Jupyter Lab (8888)、
  • codesaver(=workspace)(7777)を開きます。

    codesaverは、Notebookの自動保存や履歴保存です。Pod停止後も保存される永続ストレージ。出力データやモデルの保存場所として使用します。codesaver(=workspace)(7777)と、Jupyter Labは、連携しています。
    ※Jupyter Lab (8888)と、codesaver(=workspace)(7777)は、どちらもファイル管理が出来ますが、Jupyter Lab (8888)はアップローダー付きで、codesaver(=workspace)(7777)は、ファイルの移動などがドロップ&ドラックで出来るという特性から、codesaver(=workspace)(7777)の方が、実際のファイル管理に適していると思います。


    Application Manager(8000)は、「どのアプリがどこで動いてるか」を一覧で見やすく表示するための便利機能です。必要な方は立ち上げて下さい。
    FileUploader(2999)は、JupiterLabでファイルのアップロードが出来るので、お好みで。
    TensorBoard(6006)は、こちらも任意です(学習の視覚化に使いたい時)
WebTerminal
Web Interface
  • Jupyter Lab → Notebook操作やコマンド実行用(httpポート)
  • kohya_ss GUI → LoRA学習などを操作するWeb UI(通常 http://<podアドレス>:7860

②Kohya_ss Web UIを開く

  1. 「Web Interface」欄の kohya_ss GUI をクリック
  2. Kohya_ssのトップ画面が開く(カテゴリメニューあり)
Kohya_ss GUI

③Kohya_ss GUIの構成(メニュー)

以下のような画面構成になっています(RunPod用テンプレート(kohya_ssベース) では、以下のような前提フォルダ構成になっていることが多いです)

/workspace/kohya_ss
            ├── dataset
            │   ├── images        ← 学習用画像を置く標準パス
            │   └── output        ← 学習中のログや一時ファイルなど
            ├── models            ← モデルの保存先
            ├── output            ← 学習後のLoRA出力(こっちが最終成果物)
            └── train             ← 独自に使うならここでもOK(手動管理)

JupiterLabで、workspaceKohya_ssdataset内に学習用画像フォルダを置きます

学習用フォルダの作成方法は、以下の記事をご覧ください。

JupiterLabでのファイルアップロード

jupyter labのファイルアップロード
jupyter labフォルダの作成

rcloneを使用する場合

rcloneを使用する場合は、JupiterLabのTerminalからファイル転送します。

JupiterLabでのターミナルを使用したファイル転送
JupiterLabのTerminalを開く
rcloneを使用する

ターミナルで、以下のコマンドを実行し対話形式で設定します対話形式で設定します。

rclone config

rcloneの設定の詳細は、以下の記事をご覧ください。

workspaceでフォルダを管理する

フォルダの管理には、JupiterLabよりcodesaver(=workspace)(7777)が適しています。

先程、JupiterLabのアップローダーでアップロードしたファイルが反映されている事を確認しましょう。

workspace
JupiterLabでアップしたファイルはworkspaceでも反映される

LoRA学習の際のフォルダパス

【フォルダ名について】フォルダ名は、<繰り返し回数>_<class>で構成する必要があります。
classとは、「この画像が何を表しているのか」をモデルに伝えるための“タグ(単語)”です。Kohya_ssでは、画像ファイルのフォルダ名を自動的に使って、プロンプトとして学習に利用します。

フォルダ名に関してはこちらの記事で書いています。

上のworkspaceの画像では、以下の様になっています。

workspace\kohya_ss\
        ├──dataset\      ← データ系(学習素材)
        │   ├── 12_sakasa\
        │   │   ├── img\  

以下の配置がデフォルトになっている。(どちらでもいい)

workspace\kohya_ss\
        ├──dataset\      ← データ系(学習素材)
           ├── 12_sakasa\
                ├img

学習モデルの選択・設置

デフォルトでは、runwayml/stable-diffusion-v1-5が使用されます。学習のベースとするモデルを事前に決めている場合は、

  • ベースモデル(例:sd15SDXL)は /workspace/models などにアップロードします。
  • 必要に応じて、JupiterLabrcloneRunPod File Uploader でアップロード。

④:LoRAの学習を始める基本ステップ

Kohya_ss GUIで学習設定を行なっていきます。上から、LoRATrainingを選択し、学習用フォルダを選択します。
ここでは、ファイルが入ったフォルダ(ここでは12_sakasa)の親フォルダを選択します。(12_sakasaの親フォルダはdatasetですね。)

LoRA➡train➡フォルダを指定
  1. Prepare Dataset
    • 画像フォルダを指定し、captionファイル(caption.txt.json)を自動生成可能
    • BLIPDeepBooruのキャプション方式を選べる
  2. Train
    • LoRA を選択
    • 各種設定(model選択、学習率、バッチサイズなど)を入力
    • 下部の「Start Training」をクリックで学習開始
  3. 学習ファイルの保存場所
    • /workspace または /workspace/output 以下に出力される(テンプレにより多少異なる)

LoRA学習の設定項目に関してはこちらの記事をご覧ください。

このテンプレートにおけるJupyter Notebookの主な使い道

① 学習用データの前処理(GUIではやりにくい処理)

  • ファイル名の一括リネーム
  • キャプションファイル(caption.txt.json)の生成や変換
  • 特定の画像のみを抽出・削除(NSFW除外やファイルサイズ制限など)
  • BLIPdeepbooruのキャプション抽出をPythonコードでカスタマイズ

GUIでは「Prepare Dataset」で自動処理できますが、より細かいルールで前処理したい場合はNotebookが便利です。


② 自動学習スクリプトの実行・テスト

  • 複数パターンのLoRA学習をバッチで回す
  • 設定ファイル(*.json)の自動生成
  • Kohyaスクリプト(例:train_network.py)をコードで直接呼び出す
    → GUIを介さずに学習の制御ができる(Colabと同じ使い方)

特に複数LoRAを学習するようなプロジェクトにはJupyterが効率的です。


③ 学習のログ解析やグラフ可視化

  • 学習中に出力されるlossepochなどのログをグラフ化
  • エポックごとの出力画像を比較・確認
  • 精度チェック(FIDスコアなど)

GUI上では確認できない詳細な学習分析ができます。


④ 変換・マージ・モデル管理ツールのスクリプト実行

  • LoRAモデルのmerge(例:merge_lora.py
  • safetensors → .ckptなど形式変換
  • 特定フォルダ内のモデルをまとめて変換・整理

GUIの「Utilities」でも一部できますが、複数処理や条件付き処理にはNotebookが便利


⑤ ストレージ管理・アップロード処理(rclone連携)

  • Google DriveやOneDriveとの接続確認&ファイル移動
  • rcloneコマンドのスクリプト化(バックアップ、同期など)
  • ファイルの自動整理(出力が増えすぎた場合の削除や整理)
GUIだけでOKな作業Notebookが便利な作業
単体LoRAの学習複数モデルの一括学習
簡単な前処理条件付き前処理や細かい操作
モデルmerge(手動)まとめて変換や一括管理
学習の実行学習ログの分析・可視化
FileUploaderでアップ自動アップロードやrclone管理
/workspace/       ← 作業エリア(メインの保管場所)
/hub              ← Jupyterシステム用(触らなくてOK)
/Kohya_ss         ← Kohyaスクリプト一式(GUI/WebUIの本体)
/log              ← ログ(Jupyterや起動関連のログが出る)
filezilla_sftp_config.xml ← SFTP設定ファイル(通常不要)

テンプレート内の /Kohya_ss フォルダの中にすでに

/Kohya_ss/
├── models/
├── output/

が存在している.
Kohya_ss GUIで自動的に参照されるのは /Kohya_ss/models/Kohya_ss/output なので、次のような使い方がベストです.

「モデルの読み込み」
models フォルダは /Kohya_ss/models/ を選ぶのが自然

「出力先」
→ 何もしなければ /Kohya_ss/output/ に保存される

「学習用画像フォルダ」
datasetフォルダに配置するか、
/train フォルダを作成して、指定。

Inference(テスト出力)

Diffusers(Stable DiffusionのPythonライブラリ)を使えば、GUIではなくコードでテスト画像を生成できるという意味です。
LoRA学習後、学習内容を試すために 画像を生成(推論) することができます。
その際、Diffusers を使うと コードベースで画像出力が可能になります。

RunPodの「Kohya_ss GUI RTX 5090」テンプレのように、Kohya_ss GUI(Web UI)とJupyter Notebookが両方入っている環境では、GUIだけで完結できる作業も多いですが、Jupyter Notebookを使うとより柔軟に制御・自動化・検証ができる場面があります。

GUI(Kohya_ss)だけでできることNotebookを使うとできること
LoRAの学習・設定Diffusersによる画像生成や評価
データセット選択・学習実行複数実験の一括実行や自動化処理
学習結果の出力rcloneによるアップロードなど
  • URLをコピーしました!
目次