【2026年最新版】Stable Diffusion LoRAの作り方と手順:高品質モデル作成ガイド
ヨミアゲAI編集部
AI音声・動画制作に関する情報をお届けします
2026年6月現在、Stable Diffusionの進化は目覚ましく、その中でもLoRA(Low-Rank Adaptation)は、特定のスタイルやキャラクター、コンセプトをモデルに効率的に学習させるための不可欠な技術となっています。ここでは、最新の環境と推奨設定に基づいたLoRA作成の手順を解説します。
1. LoRA作成環境の準備と推奨スペック
高品質なLoRAを効率的に作成するためには、適切なハードウェアとソフトウェア環境の準備が不可欠です。
1.1 必要なツールと環境構築
LoRAの学習には、主にKohya_ssのWebUI版が広く利用されています。2026年においてもその派生ツールや統合型GUIが主流ですが、基本的なセットアップ方法は共通です。
- Python環境の準備: Python 3.10.xまたは3.11.xが推奨されます。
- Gitのインストール: リポジトリのクローンに必要です。
- Kohya_ssのクローンと依存関係のインストール:
さらに、PyTorchやCUDAのバージョンに応じた追加の依存関係をインストールします。git clone https://github.com/kohya-ss/sd-scripts.git cd sd-scripts pip install --upgrade pip pip install -r requirements.txt
1.2 ハードウェア推奨スペック
LoRA学習はGPUのVRAMを大量に消費します。
⚠️ 注意: SDXL 1.5以降のモデルで高品質なLoRAを生成する場合、従来のSD1.5系モデルよりも高いVRAMが要求されます。
| 項目 | 最低要件 | 推奨スペック |
|---|---|---|
| GPU VRAM | 16GB | 24GB以上 |
| GPUモデル | RTX 3080/4070 | RTX 4090, A100/H100 |
| CPU | Intel i7 (第10世代以降) / AMD Ryzen 7 (5000シリーズ以降) | Intel i9 (第13世代以降) / AMD Ryzen 9 (7000シリーズ以降) |
| RAM | 32GB | 64GB以上 |
| ストレージ | 500GB SSD | 1TB NVMe SSD |
ローカル環境でのスペックが不足する場合、Google Colab Pro+やRunPod、PaperspaceなどのクラウドGPUサービスが有効です。例えば、RunPodのA100 GPUは、2026年6月現在、1時間あたり約2.5ドルから利用可能です。
2. 学習データセットの準備と前処理
LoRAの品質は、学習に用いるデータセットの質に大きく左右されます。
2.1 学習データの選定
- 高品質な画像: ノイズが少なく、被写体が鮮明な画像を選びます。
- 一貫性: 特定のスタイルやキャラクターを学習させる場合、同じ被写体やスタイルの画像を複数枚用意します。
- 多様性: ポーズ、アングル、背景、表情など、様々なバリエーションを含めることで、LoRAの汎用性が向上します。
- 画像枚数: ターゲットとするスタイルやキャラクターの複雑さによりますが、最低でも15枚、推奨は30〜50枚程度の画像を用意するのが一般的です。複雑なコンセプトの場合は100枚以上必要になることもあります。
2.2 画像の前処理
- アスペクト比の統一: Stable Diffusionの学習では、正方形(512x512, 1024x1024など)または特定のアスペクト比(例: 768x1024)に画像をリサイズ・クロップします。SDXLモデルでは1024x1024が基本です。
- キャプションの生成: 各画像に対して、その内容を詳細に記述したテキストファイル(
.txt)を作成します。- 自動生成: BLIPやWD14 Taggerなどの画像キャプションツールを使用して自動生成し、手動で修正・追記するのが効率的です。
- 手動修正: 生成されたキャプションに、学習させたい特徴(例:
_character_name_,_artstyle_)を適切に追加・強調します。
💡 ポイント: キャプションには、学習させたい要素を強調するキーワード(例:
1girl, solo, long hair, blue eyes, school uniform)と、モデルに忘れさせたい要素(例:low quality, bad anatomy)を区別して記述することが重要です。
2.3 ディレクトリ構造
以下のような構造でデータセットを配置します。
dataset/
├── 10_trigger_word/
│ ├── image1.png
│ ├── image1.txt
│ ├── image2.png
│ ├── image2.txt
│ └── ...
└── ...
10は繰り返し回数を意味し、trigger_wordは学習対象を識別するためのキーワードです。
3. LoRA学習の実行とパラメータ設定
準備が整ったら、Kohya_ssなどの学習ツールを使用してLoRA学習を実行します。
3.1 主要な学習パラメータ
Kohya_ssのGUIまたはCLIで設定する主なパラメータは以下の通りです。
| パラメータ名 | 説明 | 推奨設定(SDXL向け) |
|---|---|---|
| LoRA Type | LoRAのタイプ。Standard LoRAが一般的。 | Standard |
| Base Model | 学習元となるStable Diffusionモデル。 | stable-diffusion-xl-base-1.0 |
| Optimizer | 最適化アルゴリズム。効率的な学習にはAdamW8bitまたはLionが推奨。 | AdamW8bit or Lion |
| Learning Rate (Unet) | Unetの学習率。画像生成の品質に影響。 | 1e-5 (0.00001) |
| Learning Rate (Text Encoder) | Text Encoderの学習率。プロンプト理解に影響。 | 5e-6 (0.000005) |
| Network Rank (Dim) | LoRAモデルの表現力とファイルサイズに影響。 | 32〜128 (高いほど表現力が増すが、過学習リスクも) |
| Network Alpha | Network Rankと関連。通常、Rankと同じ値か半分。 | Rankと同じかRank / 2 |
| Epochs | データセット全体を学習する回数。 | 10〜20 (過学習に注意) |
| Batch Size | 一度に処理する画像の枚数。VRAM消費に直結。 | 1〜2 (GPU VRAMに応じて調整) |
| Resolution | 学習時の画像解像度。SDXLは高解像度。 | 1024,1024 |
| Mixed Precision | 精度モード。学習速度向上。 | fp16 or bf16 (RTX 30/40シリーズはbf16推奨) |
| Save every N epochs | Nエポックごとにモデルを保存。 | 1 (過学習の確認のため) |
3.2 学習の実行
GUIで設定後、「Start training」ボタンをクリックするか、CLIで直接コマンドを実行します。
accelerate launch --num_cpu_threads_per_process=8 train_lora.py \
--pretrained_model_name_or_path="path/to/sdxl/model" \
--train_data_dir="path/to/dataset" \
--output_dir="path/to/output" \
--caption_extension=".txt" \
--resolution="1024,1024" \
--mixed_precision="bf16" \
--optimizer_type="Lion" \
--learning_rate="5e-6" \
--unet_lr="1e-5" \
--network_dim=64 \
--network_alpha=32 \
--train_batch_size=1 \
--max_train_epochs=15 \
--save_every_n_epochs=1 \
--save_precision="fp16" \
--seed=42 \
--lora_type="Standard"
💡 ポイント: 学習中に生成されるログを確認し、Loss値が適切に減少しているか監視しましょう。Loss値が急激に下がったり、逆に発散したりする場合は、パラメータの見直しが必要です。
学習時間の目安として、例えば、30枚の画像で20エポック学習させる場合、GeForce RTX 4090で約45分から1時間程度が目安となります。
4. LoRAの評価と活用
学習が完了したら、生成されたLoRAモデルをStable Diffusion WebUIなどでテストし、その効果を評価します。
4.1 LoRAの評価
- プロンプトでの適用: 学習時に設定したトリガーワードを含め、様々なプロンプトで画像を生成します。
- ウェイト調整: LoRAの適用強度(ウェイト)を
0.1から1.0の間で調整し、最適なバランスを見つけます。一般的には0.6〜0.8程度が自然な結果を生み出しやすいです。 - 過学習の確認:
- 未学習: トリガーワードを使っても効果が薄い、または全く反映されない場合。学習回数を増やすか、学習率を調整します。
- 過学習: LoRAを適用すると、学習画像に酷似した画像ばかりが生成される、または画像が崩れる場合。学習回数を減らすか、学習率を下げる、Network Rankを調整するなどの対策が必要です。
4.2 LoRAの活用
- 組み合わせ: 複数のLoRA(例: キャラクターLoRAとスタイルLoRA)を組み合わせて、より複雑なイメージを生成できます。
- マージ: BaseモデルにLoRAを統合し、新しいチェックポイントモデルを作成することも可能です。これにより、LoRA適用なしで特定のスタイルを反映した画像を生成できるようになります。
- 配布: 自身で作成したLoRAは、Civitaiなどのプラットフォームで公開し、コミュニティと共有することができます。
LoRA作成は試行錯誤のプロセスですが、これらの手順とヒントを活用することで、あなたの創造性を最大限に引き出すカスタムモデルを効率的に生み出すことができるでしょう。