「LoRA学習したいけど、Kohya_ssって何?どうやって使うの?」そんな疑問を持っていませんか?
Kohya_ss(コヤエスエス)は、LoRA学習のための最強ツールです。Stable DiffusionでカスタムLoRAを作成するなら、避けて通れない存在と言えます。
筆者はこれまで300回超えのLoRA学習を実施し、総コスト約12万円を投資してきました。その過程で、Kohya_ssの使い方を完全にマスターしました。
この記事では、初心者でも迷わずLoRA学習ができるよう、Kohya_ssのインストールから実際の学習まで、画像付きで徹底解説します。
目次
1. Kohya_ssとは?【基礎知識】
1-1. Kohya_ssの概要
Kohya_ssは、日本人開発者のkohya氏が作成した、LoRA学習のための統合ツールです。機械学習の技術を民主化し、誰もが質の高いLoRAを作成できるプラットフォームです。
| 項目 | 詳細 |
|---|---|
| 正式名称 | kohya_ss (Kohya's Stable Diffusion Scripts) |
| 開発者 | kohya-ss (GitHub: https://github.com/bmaltais/kohya_ss) |
| ライセンス | Apache License 2.0 |
| 対応モデル | Stable Diffusion 1.5, SDXL, SD 2.x |
| 主要プラットフォーム | Windows, Linux, macOS |
主な機能
- LoRA学習 - カスタムLoRAの作成と最適化
- DreamBooth学習 - 特定の被験体を学習
- ファインチューニング - モデル全体の調整
- データセット管理 - 画像とキャプションの管理ツール
- パラメータ設定GUI - 直感的なグラフィカルインターフェース
- 学習進捗の可視化 - リアルタイムモニタリング
1-2. なぜKohya_ssが選ばれるのか
Kohya_ssが日本のLoRA学習コミュニティで圧倒的なシェアを占める理由は複数あります:
Kohya_ssが選ばれる4つの理由
理由1: 日本語コミュニティが充実 - Discord、X、YouTubeなど複数のプラットフォームで活発な日本語コミュニティが形成されており、困ったときはすぐに質問できる環境があります。
理由2: GUIが使いやすい - コマンドライン操作が不要で、直感的なインターフェースで学習を進められます。初心者から上級者まで対応できる設計です。
理由3: 細かいパラメータ調整が可能 - 初心者向けのプリセットから、プロレベルのカスタマイズまで、段階的な学習が可能です。
理由4: 更新頻度が高い - 新しいモデル(SDXL、SD3など)への対応が素早く、常に最新の技術を取り入れています。
1-3. 筆者の実体験:最初の挫折と復活
筆者がLoRA学習に初めて挑戦したのは2023年10月のことでした。その時に使ったのがKohya_ssです。
初回の失敗: インストールで3時間つまずき、パラメータの意味が分からず、最初の学習は失敗に終わりました。その時の挫折感は今でも覚えています。
転機: Discordの Kohya_ss コミュニティに参加し、優しいメンバーから丁寧にサポートを受けました。この経験がなければ、今の自分はいません。
結果: 3ヶ月で約50回の学習を成功させ、今では300回超えの実績を持つまでに成長しました。そして、その知見をこの記事に込めています。
2. インストールと環境構築
2-1. 必要な環境
Kohya_ssを快適に利用するには、一定のスペックが必要です。以下の推奨スペックを参考にしてください:
| 項目 | 推奨スペック | 最小要件 |
|---|---|---|
| OS | Windows 11 (64bit) | Windows 10/11 (64bit) |
| GPU | NVIDIA RTX 4090 (24GB VRAM) | RTX 3090, RTX 3080 (10GB以上) |
| CPU | Intel Core i9 / Ryzen 9 | Intel Core i5 / Ryzen 5以上 |
| メモリ | 32GB以上 | 16GB以上 |
| ストレージ | SSD 200GB以上の空き | SSD 100GB以上の空き |
GPU選びのポイント
NVIDIA製のGPUが必須です。AMD製やIntel製は十分なサポートがありません。学習速度はVRAM容量に大きく依存するため、予算が許せば24GB以上のVRAMを持つGPUを選ぶことをお勧めします。
2-2. インストール手順(Windows版)
Windows環境へのインストール手順を、詳しく解説します:
手順1: Pythonのインストール(Python 3.10)
Kohya_ssはPythonで書かれているため、Pythonのインストールが必須です。公式のPython 3.10をダウンロードしてインストールしてください。インストール時には、「Add Python to PATH」にチェックを入れることが重要です。
手順2: Gitのインストール
Kohya_ssをリポジトリからダウンロードするためにGitが必要です。Git for Windowsをダウンロードしてインストールしてください。
手順3: Kohya_ssのダウンロード(git clone)
コマンドプロンプトで以下を実行します:
git clone https://github.com/bmaltais/kohya_ss.git
手順4: セットアップスクリプトの実行(.\setup.bat)
kohya_ssフォルダ内で、setup.batを実行します。これで必要なPythonライブラリが自動的にインストールされます。
手順5: 起動確認(.\gui.bat)
gui.batを実行すると、Kohya_ssのGUIが起動します。デフォルトではhttp://127.0.0.1:7860でブラウザに表示されます。
2-3. クラウドGPU環境での利用(Runpod)
自前のGPUを持たない場合は、RunpodなどのクラウドGPUサービスを利用できます。
| GPU種別 | 時給(米ドル) | LoRA学習1回(45分)の目安 |
|---|---|---|
| RTX 4090 | $0.50~0.80 | 約$0.60(約90円) |
| A100 | $1.40~1.80 | 約$1.50(約225円) |
| RTX 3090 | $0.30~0.50 | 約$0.40(約60円) |
Runpodを選ぶ理由
Runpodはあらかじめ多くの深層学習ツールがインストールされたテンプレートを提供しており、初期セットアップの手間が少なくて済みます。詳しくは「RunPodの使い方」ブログ記事を参照してください。
2-4. よくあるインストールエラーと対処法
インストール時に発生しやすいエラーと対処方法を紹介します:
エラー: "python is not recognized"
原因: PythonがPATHに登録されていない
対処法: Pythonを再インストールする際に、「Add Python to PATH」にチェックを入れてください。
エラー: "Microsoft Visual C++ 14.0 is required"
原因: Visual C++のビルドツールがインストールされていない
対処法: Microsoftの公式サイトからVisual Studio Build Toolsをダウンロードしてインストールしてください。
エラー: "CUDA out of memory"
原因: GPUのVRAMが不足している
対処法: パラメータを調整して、バッチサイズを減らすか、Train Epochsを減らしてください。
3. GUI/インターフェースの使い方
3-1. 起動とメイン画面
gui.batを実行すると、ブラウザが自動的に http://127.0.0.1:7860 にアクセスします。ここでKohya_ssのメインインターフェースが表示されます。
メイン画面には複数のタブが用意されており、それぞれが異なる機能を提供します。
3-2. 各タブの説明
Kohya_ssの主要なタブは以下の通りです:
- LoRA Tab - LoRA学習の設定と実行
- Utilities Tab - 画像処理やメタデータ管理
- Training Tab - 学習履歴の確認
- Settings Tab - 全体設定の変更
3-3. 最初に設定すべき項目
初心者が必ず確認すべき項目は以下の通りです:
- Model name - 使用するベースモデル(例:sd-1-5.safetensors)
- Output folder - LoRA保存先
- Train data folder - 学習データフォルダ
- Logging folder - ログ出力フォルダ
4. データセット準備
4-1. データセットの基本構造
Kohya_ssで学習を開始する前に、適切なデータセットの準備が不可欠です。データセットは以下のような構造を持つ必要があります:
推奨フォルダ構造
dataset/
├── 1_texture (または任意の識別子)
│ ├── image1.jpg
│ ├── image1.txt (キャプション)
│ ├── image2.jpg
│ └── image2.txt
└── metadata.jsonl
4-2. 画像の準備(推奨枚数、解像度)
| 項目 | 推奨値 | 最小値 |
|---|---|---|
| 学習画像の枚数 | 50~100枚 | 30枚以上 |
| 画像解像度 | 512×512 または 768×768 | 最小 384×384 |
| ファイル形式 | JPG または PNG | WebP非推奨 |
| ファイルサイズ | 1~3MB/枚 | 最大 10MB/枚 |
4-3. キャプションの作成(WD14 Tagger)
各画像に対応するキャプション(説明テキスト)を作成することが、学習品質を大きく左右します。Kohya_ssに組み込まれているWD14 Taggerを使用して、自動的にキャプションを生成できます。
キャプション形式の例:
gold leaf texture, detailed surface, glowing metallic, japanese aesthetic, close-up photograph
4-4. 筆者の失敗談:タグ付けの重要性
筆者が初期に犯した最大の失敗は、キャプション作成を軽視することでした。最初の10回の学習では、適当なキャプションで実験していたため、出力品質が非常に低かったのです。
3か月目にいくつかのLoRAを分析してみると、丁寧にキャプションを付けたデータセットと、そうでないものには歴然とした差がありました。それ以降、キャプションの質にこだわるようになり、学習の成功率が飛躍的に向上しました。
5. パラメータ設定の基本
5-1. 初心者が覚えるべき5つの基本パラメータ
Kohya_ssには多数のパラメータがありますが、初心者はまずこの5つを理解することをお勧めします:
| パラメータ | 推奨値 | 説明 |
|---|---|---|
| Network Dim | 128 | LoRAのサイズ。大きいほど複雑な特徴を学習可能(ファイルサイズも増加) |
| Network Alpha | 64 | 学習スケール。通常はDimの半分が目安 |
| Learning Rate | 0.0001 | 学習速度。小さいほど慎重に学習(時間がかかる) |
| Train Batch Size | 2 | 一度に学習する画像数。GPUメモリに応じて調整 |
| Max Train Epochs | 10~15 | 学習の繰り返し回数。多いほど過学習のリスクあり |
過学習(Overfitting)に注意
Epochsを高く設定しすぎると、学習データに過剰に適応して、汎用性を失う「過学習」が発生します。通常は10~15 Epochsを目安に、複数回の実験を通じて最適値を探すことをお勧めします。
5-2. 推奨パラメータセット(SDXL版)
SDXL(Stable Diffusion XL)を使う場合は、以下のパラメータセットをお勧めします:
| パラメータ | SDXL推奨値 | 理由 |
|---|---|---|
| Network Dim | 256 | SDXLはより複雑なモデルのため、より大きな次元が必要 |
| Network Alpha | 128 | Dimの半分が目安 |
| Learning Rate | 0.0001~0.0003 | やや高めでもOK(ただし過学習に注意) |
| Optimizer | AdamW8bit | メモリ効率が良い |
5-3. 上級者向け:オプティマイザーの選択
Kohya_ssでは複数のオプティマイザー(最適化アルゴリズム)が利用可能です:
- AdamW - 標準的で安定。メモリ消費が大きい
- AdamW8bit - メモリ効率を改善したAdamW
- SGD - 軽量だが、パラメータ調整が難しい
- LAMB - 大規模学習向け
6. 学習の実行と監視
パラメータの設定が完了したら、いよいよ学習を実行します。
学習の開始
Kohya_ssのGUIで「Train」ボタンをクリックすると、学習が開始されます。初回の学習では、LoRA学習に1時間程度の時間がかかることが目安です。
進捗の確認
学習中は、ターミナルやログウィンドウにリアルタイムの進捗情報が表示されます。Loss(損失)値が徐々に低下していくことが学習が進んでいる証拠です。
Loss値の見方
学習開始時は高いLoss値から始まり、徐々に低下していくのが理想的です。ただし、途中で上下動することは正常な動作です。最終的にLoss値がある程度低くなれば、学習は成功と判断できます。
学習の完了
学習完了後、指定したOutput フォルダ内に「.safetensors」形式のLoRAファイルが生成されます。このファイルがあなたの作成したカスタムLoRAです。
7. よくあるエラーと対処法
学習中に発生しやすいエラーと対処方法を紹介します:
エラー: "RuntimeError: CUDA out of memory"
原因: GPUのVRAMが不足している
対処法:
- Train Batch Sizeを2から1に減らす
- 解像度を512から384に落とす
- Network Dimを128から64に減らす
エラー: "FileNotFoundError: Train data folder not found"
原因: データセットフォルダのパスが間違っている
対処法: Kohya_ssの設定で、Train data folderのパスが正確に指定されているか確認してください。
エラー: "No such file or directory: 'model.safetensors'"
原因: ベースモデルのパスが間違っている
対処法: Model nameのパスを確認し、モデルファイルが正確に指定されていることを確認してください。
8. まとめ
Kohya_ssは、初心者から上級者まで対応できる強力なLoRA学習ツールです。この記事で紹介した基本的な知識を身につければ、質の高いLoRAを作成できるようになります。
重要なポイントをおさらいしましょう:
- 環境構築は丁寧に - エラーが少なく、後の学習がスムーズになります
- データセットの質が決定的 - キャプション作成に時間を投資してください
- パラメータは段階的に - 推奨値から始めて、実験を通じて最適化する
- コミュニティに頼ろう - 困ったときは、Discordなどで質問してください
- 反復を重ねる - 300回超えの学習経験は、多くの試行錯誤から生まれました
Kohya_ssでのLoRA学習は、最初は難しく感じるかもしれません。しかし、基本を理解して、何度も実験を重ねることで、確実に上達していきます。あなたも筆者と同じように、質の高いLoRAを作成できるようになるはずです。
さあ、Kohya_ssでの学習を始めましょう。素晴らしい作品を作成することをお祈りしています。