【RunPod×Kohya_ssテンプレート】LoRA学習とWD14・BLIP2キャプション生成解説|最新版

Kohya_ss Training Studio

キャプション生成からLoRA学習まで1Podで完結させる

本記事では、クラウドGPUのRunPod内で、
WD14”と、モデルダウンローダーが組み込まれた”Kohya_ss”のテンプレートを使用して、”テキストタグの生成からLoRA学習まで”を最短最速でする方法について解説しています。

RunPodの基本的な使用方法については、こちらの”Runpodの料金と使い方”の記事で解説しています。
**LoRA学習についての詳細はこちら。


目次

Kohya_ssでのLoRA学習

**LoRA学習は、初回のセットアップが思いの外、大変です。

モデルのダウンロード、フォルダ配置、WD14 Taggerのダウンロードと準備、
場合によっては、キャプション生成は外部ツールを使う前提だったりと、

学習を始めるまでにやることが多いのが実情です。

未来

事前準備が多くて、なかなか学習にたどり着かないんだよね・・・

特にWD14 Taggerは、これまで
Stable Diffusion WebUIなどの外部環境で実行 → Kohya_ssに戻るという流れが一般的でした。

というわけで、今回は【最新版】RunPodのKohya_ssテンプレート”1Podsのみ”

WD14(ConvNeXt V2)によるタグ生成
BLIP2によるキャプション生成
そのままフォルダ移動も、ツール移動も無く、LoRA学習まで
を一気通貫で行えるテンプレートの紹介とそのテンプレートの使用方法について解説します。

また、初回実行時に時間がかかる理由や、「失敗ではない」正常な挙動についても補足しています。


環境構築に迷わず、
「アップロード → キャプション生成 → 学習」までをスムーズに進めたい方は、
このまま読み進めてください。

SAKASA

この記事を読み終わる頃にはきっと、
LoRA学習って簡単!どんどんLoRAを量産しよう!と思うよ。

タグ付けとLoRA学習が数クリックで完結するテンプレート

対象読者

  • Kohya_ss初心者の方
  • LoRA学習を始めたい方
  • ローカルGPUの容量が足りない方

Runpodテンプレート”Kohya_ss Training Studio”

※ MIT Licenseで無料で利用可能。
※ セットアップ済み、モデル配置や依存関係の調整も不要のテンプレートです。

この Runpodテンプレート”Kohya_ss Training Studio”の特徴は、

重くて止まりがちなモデルダウンロード
所要時間の目安(7B〜10GB級)
ローカルからのアップロード30分〜数時間&失敗しやすい
Kohya_ss Training Studio内アップローダー数分〜10分
ワンクリックダウンローダーからワンクリックで安定したダウンロードが可能
モデルの配置Kohya_ss内のmodelsフォルダに自動リンクされる
/datesetフォルダに学習用画像をJupiterLabでアップロードするだけ拡張機能WD14 Tagger(ConvNeXt V2)などでの
キャプション(テキストタグ)生成とLora学習で使用までが数クリックで完了

※上記のような大変な部分をすべて、ワンクリックで出来るようにしました。

Kohya_ssを、他のテンプレートで使用する方法や、ローカルPCで使用する方法についてはこちらの記事をご覧ください。

事前準備

no.
学習用画像

画像の準備では、使用するチェックポイントモデルによって画像の推奨サイズが異なります。
使用するモデルが決まっていない場合や、使用したいモデルの学習用画像の推奨サイズが分からない場合は、下の記事をご覧ください。

又、今回のKohya_ssでのLora学習では、キャプションはKohya_ss内で作成する方法を解説していますが、
手書きで作成する場合は事前に準備ください。

学習用画像【画像とテキストタグ(必要な場合)】の作成方法については、こちらの記事をご覧ください。
no.
Runpodアカウントと、学習が止まらない程度のRunpod Credits

RnpodでLoRA学習をする為には、Runpodのアカウントと学習が止まらない程度のRunpod Creditsがチャージしてある必要があります。
詳しくは こちらの”Runpodの料金と使い方”の記事をご覧ください。

NetworkVolumeの使用

一回限りの学習のみでの使用においては、NetworkVolumeは必要ありませんが、
このKohya_ssテンプレートは比較的軽量なため、NetworkVolumeを使用して学習をし、学習後に同じNetworkVolumeを使用してComfyUIなどの画像生成ツールを使用する事で、学習画像や、学習したLoRA、さらにテンプレート内でダウンロードしたCheckpointモデルやVAEなどもそのまま使用できます。

注意事項:GPUはRTX4090、A40、L40、RTX 6000 Ada、A100などと互換性が高いです。RTX5090は使用しないで下さい。

Runpod NetworkVolume
STEP
Kohya_ssテンプレートを起動する際にNetworkVolumeを使用
Network Volumeの作成方法についてはこちらをクリックしてください。

ネットワークストレージ(Network Storage)の設定

ネットワークストレージは、Podを止めたり再起動する際に、学習データ・モデル・出力画像などを保存しておくための機能です。
ネットワークストレージに保存したデータは、別のPodでも共有可能です。

事前にStragesで「New Nerwork Volume」を作成しておくと、
Pod作成時に「Nerwork Volume」の欄で、ボリューム(ネットワークストレージ)が選べます。

データセンターの選び方

使いたいGPUが使えるリージョン(データセンター)を選ぶ

左側のStorageから、ネットワークストレージ(New Network Volume)をクリックします。
すると以下の画面が出て来ます。

ネットワークボリューム データセンター
  • 例:RTX 6000を使いたい → そのGPUが使えるデータセンターにボリュームを作成する
  • 違うリージョンだとPodに接続できません。
頻繁に起動するGPUが安定して空いているリージョンを選ぶ
  • 「混雑していてなかなかGPUが借りられない」となると非効率なので、なるべく空きやすいリージョンを選ぶと◎。
  • 時間帯によって混雑が変わるので、ご自身が作業する時間帯に空きがある地域が理想です。
未来

NetworkVolumeに気に入ったモデルを全てDLしてある状態でも
使いたい時にリージョンのGPUに空きがないと使えないよ!

SAKASA

2つNetworkVolumeを作っておくのも便利だよ。

  • 通信速度を気にする場合は、ネットワーク経由で学習データや画像をアップロード/ダウンロードする際の速度に影響が出ることがある様ですが、これは学習性能には影響しません(あくまで転送速度のみ)。

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

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

使用したいGPUが使えるリージョンを選択し、Volume Nameを付け、サイズ(GB)を設定し、Create Network Volumeを押すと自分のネットワークストレージが作成されます。
※Volume Disk(/workspace)はGB単位で課金対象です。
モデルを沢山DLしてComfyUIなどもマウントする場合は多め(100GB以上)に設定します。

STEP
アップロードした学習用画像からタグ作成とLora学習
STEP
同じNetworkVolumeを使用して、お好みの生成ツールをDeployする

学習したLoRAを使用してお好みの生成ツール(ComfyUIや、Automatic1111など)で画像生成する際に、同じNetworkVolumeをマウントして使用する

STEP
生成ツールで自作LORAを使用する

Kohya_ssテンプレートでダウンロードしたモデルと、画像ファイル、学習済みLoRAファイルを、画像生成ツール内でも使用できます。

テンプレートの使用方法

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


注意事項:GPUはRTX4090、A40、L40、RTX 6000 Ada、A100などと互換性が高いです。RTX5090は使用しないで下さい。

STEP
Dockerイメージをコピーする
Dockerイメージ
sakasa15/kohya-runpod:v30

これを、コピーしてMyTemplateを作成します。

MyTemplateの作成
基本設定
STEP
RunpodでMyTemplatesを作成する

MyTemplatesを開き、+ New Templateを作成

STEP
Dockerイメージをペースト
設定項目

Name:5文字以上のお好きな名前を付ける
Container image:先程コピーしたDockerイメージをペースト
Container disk:50GB以上←余裕を持たせて80GBくらいがおすすめ
Volume disk:80GB以上←他のツールもマウントして使用する場合は100GB以上がおすすめ

  • Kohya_ssは、rank / network dimension など大きくするとメモリ不足になりやすい
    メモリ不足になると止まるが、止まっても教えてくれないので、予めメモリを大きく設定しておいた方がいい。

HTTP Ports:
  Kohya_ss GUI-3013
  JupyterLab-8888

Runpod My Template記入①
※Volume diskの空き容量が足りなくなると動かなくなります。Volume diskは適切に設定してください。

モデルDLで増えるのは Volume Diskです。モデルを沢山DLしてComfyUIなどもマウントする場合は多め(100GB以上)に設定します。

Runpod My Template記入②
STEP
SaveTemplates

上記設定項目を記入して保存します

STEP
RunPodでDeploy
STEP
My Templates を Deploy する
My templateをDeployする
STEP
Network Volumeを選択
NetworkVolume
使用するネットワークボリュームを選択する
STEP
GPUを選択

注意事項:GPUはRTX4090、A40、L40、RTX 6000 Ada、A100などと互換性が高いです。RTX5090は使用しないで下さい。

STEP
Deploy oOn Demand

初回起動は20分程度かかります(正常)
※初回が遅いのは失敗ではありません。ネットワークボリュームを使用すれば二回目からは早くなります。
ネットワークボリューム未使用の場合は、毎回初期起動となります。

STEP
JupyterLab(8888)を開く

Podsが起動したらJupyterLab(8888)を開きます。

LogsREADYになっているのに、画面が白いままの場合 shiftキーctrlを押してみて下さい。

STEP
Kohya_ss-Training-StudioのJupiterLab内のDownloaderを開く

Kohya_ss-Training-StudioのJupiterLabを開いたら、JupyterNotebookのDownloaderを開きます。使用方法に沿って必要なモデルをダウンロードします。
モデルはダウンロードする分だけVolume diskの容量が必要になります。

※Volume diskの空き容量が足りなくなると動かなくなります。Volume diskは適切に設定してください。

rumpod-kohya_ss-training-studio JupyterNotebook
rumpod-kohya_ss-training-studio 基本モデルのダウンロード
rumpod-kohya_ss-training-studio モデルのダウンロード
rumpod-kohya_ss-training-studio モデルのカスタムダウンロード
rumpod-kohya_ss-training-studio モデルのカスタムダウンロード

基本のダウンロードモデル

ModelSizeDescription
SD 1.54.27 GBLoRAトレーニングで最も人気
SD 1.5 EMA4.27 GBより安定したトレーニングバリアント
SDXL Base6.94 GB高解像度のトレーニング
SDXL Refiner6.08 GB品質向上
Waifu Diffusion 1.52.0 GBアニメ・マンガ専門
Anything V52.13 GB汎用アニメ
Realistic Vision V5.12.13 GBフォトリアリスティック
VAE (SD 1.5)335 MBより良い色(オプション)
VAE (SDXL)335 MBSDXL VAE(オプション)
STEP
学習用画像のフォルダを作成する

必要なモデルを選択後、上の▶をクリックしてダウンロードをしている間に、

  • 学習画像用のフォルダを作成
  • 学習用画像をアップロード

をします

学習画像用のフォルダを作成する

Kohya_ssフォルダを開き、Dataset/images内にご自身の画像用フォルダを作成します。

作成方法は、/imageフォルダ内で、マークの左側の<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJtMjAgNSA1IDZoMjBjLjYgMCAxIC40IDEgMXYzMGMwIC42LS40IDEtMSAxSDNjLS42IDAtMS0uNC0xLTFWNmMwLS42LjQtMSAxLTFoMTd6Ij48L3BhdGg+PC9zdmc+)" data-icon="LsFolder" data-id="27" aria-hidden="true" class="swl-inline-icon"> </span>フォルダマークをクリックしフォルダ名を入力します。

rumpod-kohya_ss-training-studio
学習用画像フォルダを作成
 

フォルダ名は、学習回数+アンダーバー+画像の総称です。

詳しくはこちらの”【自作イラストをLoRA化】画像とキャプション(テキストタグ)の準備からフォルダ構成まで”の中で書いています。

STEP
学習用画像のアップロード

学習用画像は、Pod内の JupiterLabのアップローダー(フォルダアイコン横の矢印アイコンを使用して、直接アップロードします。

基本フォルダ構成

/workspace/
├── models/                    # Shared models (symlinked to Kohya)
│   ├── Stable-diffusion/     # Base models
│   ├── Lora/                 # Trained LoRAs
│   ├── VAE/                  # VAE files
│   └── embeddings/           # Textual Inversion
├── datasets/images                  # Your training images
│             └── project_name/
│                    ├── image1.png
│                    ├── image1.txt        # Generated captions
│                    └── ...
├── outputs/                   # Training outputs
├── logs/                      # System logs
├── scripts/                   # Utility scripts
├── Download_Models.ipynb      # Model downloader
└── WD14_Tagger.ipynb         # Tagging notebook

imageフォルダの中に学習用フォルダを作成します。
上の表のproject_nameの場所です。下の画像では、14_serenaというフォルダを作成してあります。

学習用画像のアップロード

※学習用画像は、フォルダ内でアップロードします。

STEP
WD14Taggerを開きます

JupiterLabの、JupyterNotebook、WD14Taggerを開きます。使用方法に沿って実行▶をしてください。

WD14Tagger

WD14 TaggerとBLIP2 Captioningとの使い分け

このテンプレートには、既存のBLIP2 Captioningと拡張機能のWD14 Taggerが入っている為、両方で試してみて、Lora学習に結果の良い方を選択する事ができます。
これらのタグ生成機能のについては、こちらの”LoRA学習用画像に自動キャプション(タグ)付けする方法 で詳しく解説しています。

  • WD14:タグ型(LoRA向き)
  • BLIP2:文章型(汎用)
STEP
LoRA学習

LoRA Training タブを選択

Kohya GUIのメニューで「LoRA」または「LoRA Training」タブをクリック。

SAKASA

この説明通りにやったのにできなかった。という方は、こちらよりご報告を頂けますと助かります。

よかったらシェアしてね!
  • URLをコピーしました!
目次