Stable Diffusion LoRA 作り方完全ガイド:2026年最新の手順とコツ
ヨミアゲAI編集部
AI音声・動画制作に関する情報をお届けします
2026年4月時点において、Stable DiffusionのLoRA(Low-Rank Adaptation)は、特定のスタイル、キャラクター、オブジェクトなどを既存のモデルに追加学習させるための最も効果的な手法の一つです。ここでは、その作成手順をステップバイステップで解説します。
2026年4月時点におけるLoRA作成環境と準備
LoRA作成には、大量の計算リソースと特定のソフトウェアが必要です。主にGoogle Colabのようなクラウド環境か、高性能なローカルPC環境が利用されます。
| 環境 | 推奨GPU/VRAM | 月額料金(目安) | 特徴 |
|---|---|---|---|
| Google Colab Pro+ | A100 (40GB) / V100 (16GB) | 約50ドル | 手軽に高性能GPUにアクセス可能。学習時間短縮に貢献。 |
| ローカルPC | RTX 3090 (24GB) / RTX 4090 (24GB) | 0円(初期投資大) | 完全オフラインで自由度が高い。最低12GBのVRAMが必須。 |
どちらの環境を選ぶにしても、LoRA学習にはKohya_ss GUI(sd-scripts)がデファクトスタンダードとして広く利用されています。2026年4月時点の最新バージョンでは、多様な学習手法(LoCon, LoHaなど)に対応し、より直感的な操作が可能です。
必須ツールの準備
- Kohya_ss GUI: GitHubリポジトリからクローンし、依存関係をインストールします。
- 画像処理ツール: 画像のリサイズやトリミングには、Birme(オンラインツール)やImageMagick(コマンドラインツール)が便利です。
- キャプションツール: 学習画像のキャプション(タグ)付けには、WD14 Tagger(アニメ・イラスト向け)やBLIP-2(リアル・写真向け)が主流です。これらのツールは、Kohya_ss GUIと統合されているか、スタンドアロンで利用可能です。
LoRA学習データセットの準備と選定
LoRAの品質は、学習データセットの質と量に大きく依存します。
ステップ1: 画像収集と選定
学習させたい対象(キャラクター、スタイル、オブジェクトなど)が明確に写っている画像を収集します。
- 枚数: 最低でも20枚、推奨は50〜100枚です。枚数が多いほど多様な表現が可能になりますが、過学習のリスクも考慮が必要です。
- 品質: 高解像度で、被写体がはっきりと識別できる画像を選びます。背景はシンプルなもの、または多様なバリエーションがあるものが望ましいです。
- 多様性: ポーズ、表情、服装、背景、アングルなどにバリエーションを持たせることで、汎用性の高いLoRAが作成できます。
ステップ2: 画像の加工とリサイズ
収集した画像を学習に適した形式に加工します。
- 解像度: ベースモデルの学習解像度に合わせて、512x512px、768x768px、または1024x1024pxにリサイズします。SDXLモデルの場合は1024x1024pxが推奨されます。
- アスペクト比: 元のアスペクト比を維持しつつ、指定解像度に合わせて短辺を拡大縮小し、長辺の余白をトリミングまたはパディングします。
# 例: ImageMagickで画像を768x768pxに中央トリミング
magick convert input.png -resize "768x768^" -gravity Center -crop 768x768+0+0 output.png
⚠️ 注意: 不適切なリサイズやアスペクト比の不一致は、学習結果に悪影響を及ぼす可能性があります。
ステップ3: キャプション(タグ)付け
各画像に、その内容を説明するテキスト(キャプションまたはタグ)を付与します。
- ツール: WD14 TaggerやBLIP-2を用いて、自動でキャプションを生成します。その後、手動で修正・追加を行い、精度を高めます。
- トリガータグ: 学習させたい固有の特徴を呼び出すための特別なタグ(例:
shokuhin-style,my-character-name)を設定し、すべての画像キャプションの先頭に含めます。 - キャプションの質: 被写体の特徴(髪の色、服装、ポーズなど)、背景、感情などを具体的に記述します。不要なタグは削除し、重要なタグは強調(例:
(tag:1.2))することも検討します。
💡 ポイント: キャプションの精度がLoRAの学習効果を大きく左右します。時間をかけて丁寧に調整しましょう。
Kohya_ss GUIによるLoRA学習の手順
データセットの準備が完了したら、Kohya_ss GUIを使ってLoRA学習を進めます。
ステップ4: 学習環境のセットアップとGUIの起動
- Kohya_ssのGitHubリポジトリをクローンし、
requirements.txtに従って依存関係をインストールします。git clone https://github.com/Kohya-ss/sd-scripts.git cd sd-scripts pip install --upgrade pip pip install -r requirements.txt accelerateの初期設定を行います(初回のみ)。accelerate launch --num_cpu_threads_per_process 1 train_lora.py --help- GUIを起動します。
python gui.py
ステップ5: 学習パラメータの設定
Kohya_ss GUIの「LoRA」タブで、以下の主要なパラメータを設定します。
LoRA type:LoRA(標準)の他、より表現力の高いLoConやLoHaも選択できます。2026年4月時点ではLoHaが多くのケースで優れた結果を出しています。Resolution: 学習画像の解像度と一致させます(例: 768)。Epochs: 学習の繰り返し回数です。データセットの枚数や質によりますが、10〜20 Epochsが一般的な目安です。Batch size: 一度に処理する画像の枚数です。GPUメモリが許す限り大きくする(例: 1)ことで学習効率が向上します。Learning rate: 学習の進捗を制御する重要なパラメータです。- U-Net Learning Rate:
1e-4~5e-5 - Text Encoder Learning Rate:
5e-5~1e-5 - 通常、Text Encoderの学習率はU-Netよりも低く設定します。
- U-Net Learning Rate:
Optimizer: 学習アルゴリズムです。AdamW8bitやLionが、高性能かつメモリ効率に優れており推奨されます。Network Rank (Dimension)/Alpha: LoRAモデルの表現力を決定します。- Rank (Dimension): 8〜128の間で設定。数値が大きいほど表現力が増しますが、ファイルサイズも大きくなります。
- Alpha: 通常、Rankの半分から同等に設定します。
💡 ポイント: 初めてLoRAを作成する場合は、まず推奨設定から始め、徐々に微調整していくのが良いアプローチです。
ステップ6: 学習の実行と結果の評価
すべての設定が完了したら、「Start training」ボタンをクリックして学習を開始します。
- プログレス確認: ログウィンドウで損失(Loss)の推移を監視します。Lossが安定して減少していれば順調です。
- 結果の評価: 学習中に定期的に生成画像をテストし、LoRAの効果を確認します。
- 過学習: 特定のEpochsを超えると、画像にノイズやアーティファクトが発生したり、画風が崩壊したりすることがあります。
- 未学習: 特徴が十分に反映されない場合、EpochsやLearning Rateを調整する必要があります。
- モデルの保存: 設定したEpochsごとにLoRAモデル(
.safetensorsファイル)が保存されます。最も良い結果を出したEpochのモデルを選択しましょう。
高品質なLoRA作成のための応用テクニック
より高品質なLoRAを目指すためには、以下のテクニックも有効です。
- 正則化画像(Reg images)の活用: 学習させたくない概念(例: 特定の服装ではないこと)を学習させないために、類似カテゴリの画像を数百枚用意し、キャプションを空にするか汎用的なものに設定します。これにより、LoRAがターゲットの特徴をよりシャープに抽出できるようになります。
- 学習率スケジューラーの利用:
Cos_annealやConstant_with_warmupなどのスケジューラーを使用することで、学習率を動的に変化させ、より安定した学習と最適なモデルの収束を促すことができます。 - 多様なベースモデルでのテスト: 作成したLoRAは、異なるベースモデル(例: SD1.5系、SDXL系)で挙動が変わることがあります。複数モデルでテストし、汎用性や互換性を確認しましょう。
2026年以降、LoRA作成はAIによるデータ選定の自動化やパラメータの自動最適化(AutoML for LoRA)といった進化が期待されています。これにより、さらに手軽に高品質なLoRAを作成できるようになるでしょう。