【2026年最新版】Stable Diffusion LoRA 作り方 手順を徹底解説!高品質モデル作成ガイド
ヨミアゲAI編集部
AI音声・動画制作に関する情報をお届けします
2026年現在、Stable DiffusionのLoRA (Low-Rank Adaptation) は、特定のスタイル、キャラクター、または概念を基盤モデルに効率的に学習させるための基幹技術として確立されています。従来のDreamboothと比較して、ファイルサイズが非常に小さく(通常10MB〜200MB程度)、複数のLoRAを組み合わせて使用できる柔軟性から、クリエイターや開発者にとって必須のツールとなっています。本記事では、2026年○月時点の最新情報に基づき、LoRA作成の具体的な手順を解説します。
2026年におけるLoRA作成環境とツールの選定
LoRA作成の環境は、主にNVIDIA製GPUを搭載したローカルPC、またはGoogle ColabやRunPodなどのクラウドGPUサービスが主流です。特にSDXL (Stable Diffusion XL) のLoRAを作成する場合、より多くのVRAM(ビデオメモリ)が要求されます。
主要な学習ツール:
- Kohya's GUI (sd-scripts): 最も広く利用されている学習スクリプト群であり、GUIを通じて直感的に操作できます。Diffusersライブラリをベースに、SDXLを含む多様なモデルに対応しており、詳細なパラメータ設定が可能です。
- Automatic1111 WebUI統合学習機能: Stable Diffusion WebUIに統合された学習機能も進化しており、簡単なLoRA作成であればWebUI内で完結させることも可能です。しかし、細かなチューニングにはKohya's GUIが依然として優位です。
推奨ハードウェアスペック:
| コンポーネント | SD1.5系LoRA作成 (最低) | SDXL系LoRA作成 (推奨) |
|---|---|---|
| GPU (VRAM) | NVIDIA GeForce RTX 3060 (12GB) | NVIDIA GeForce RTX 4080 (16GB) 以上 |
| CPU | Intel Core i5 / AMD Ryzen 5 クラス | Intel Core i7 / AMD Ryzen 7 クラス |
| RAM | 16GB | 32GB |
| ストレージ | SSD (100GB以上空き) | NVMe SSD (200GB以上空き) |
⚠️ 注意: SDXLモデルの学習には、少なくとも16GBのVRAMが推奨されます。32GB以上のVRAMがあれば、より高解像度での学習やバッチサイズの増加が可能となり、学習時間を短縮できます。クラウドGPUでは、A100 (80GB) やRTX 6000 Ada (48GB) などが選択肢となります。
LoRA学習のためのデータセット準備
LoRAの品質は、データセットの質と量に大きく依存します。
- 画像収集: 学習させたいコンセプト(例: キャラクター、特定のアートスタイル、オブジェクト)に合致する画像を20枚〜100枚程度収集します。多様なアングル、表情、背景の画像を含めることで、LoRAの汎用性が高まります。
- 画像加工:
- 解像度: SDXLのLoRA学習では、1024x1024ピクセルまたはそれ以上の解像度が推奨されます。画像サイズが不揃いな場合は、学習ツールが自動的にリサイズ・クロップを行いますが、事前に統一しておくことで意図しないトリミングを防げます。
- アスペクト比: SDXLは様々なアスペクト比に対応していますが、学習データは正方形(1:1)または特定のSDXL推奨アスペクト比(例: 896x1152, 1152x896など)に揃えるのが一般的です。
- キャプション付け (アノテーション): 各画像に詳細な説明文(キャプション)を付与します。これは、LoRAがどの要素を学習すべきかをモデルに伝える重要なステップです。
- ツール: BLIP-2やDeepDanbooruなどの自動キャプション生成ツールが活用できます。2026年時点では、これらのツールがKohya's GUIやWebUIに統合されており、数クリックでデータセット全体のキャプションを生成することが可能です。
- 編集: 自動生成されたキャプションは、必ず手動で確認・修正し、不要な情報(例:
low quality,bad anatomy)を削除し、学習させたい特徴(例:character_name,style_name)を明確に記述します。 - トリガータグ: 特定のLoRAを呼び出すためのトリガータグ(例:
char_name (lora))を全てのキャプションの先頭に含めるのが一般的です。
💡 ポイント: キャプションは、画像を「細かく説明する」だけでなく、「学習させたい要素を強調する」ように記述することが成功の鍵です。
LoRA学習手順とパラメータ設定
ここでは、Kohya's GUIを例に、具体的な学習手順を解説します。
-
環境構築:
- Python 3.10.xのインストール
- Gitのインストール
- Kohya's GUIをクローンし、必要なライブラリをインストールします。
git clone https://github.com/Kohya-ss/sd-scripts.git cd sd-scripts pip install --upgrade pip pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt accelerate config # 対話形式で設定💡 ポイント:
accelerate configは学習環境に合わせて一度だけ設定が必要です。通常はデフォルト設定で問題ありませんが、GPUメモリが少ない場合は--num_processesを1に設定し、--mixed_precision="fp16"または"bf16"を選択します。 -
学習設定 (Kohya's GUI):
- 「LoRA」タブを選択します。
- 「Source model」: 学習のベースとなるStable Diffusionモデル(例:
stabilityai/stable-diffusion-xl-base-1.0)を指定します。 - 「Folder for training images」: 準備した学習画像とキャプションファイルがあるフォルダを指定します。
- 「Folder to output LoRA」: 生成されたLoRAモデルを保存するフォルダを指定します。
- 「LoRA type」:
LoRAを選択します。 - 「Network Rank (Dimension)」と「Alpha」: LoRAの複雑さと強度を決定します。一般的にRankは32〜128、AlphaはRankの半分程度(例: Rank 64, Alpha 32)が推奨されます。Rankを高くすると表現力が増しますが、ファイルサイズも大きくなり、過学習しやすくなります。
- 「Optimizer」:
AdamW8bitやLionがメモリ効率が良く、高速です。 - 「Learning rate」:
UnetとText Encoderの学習率を設定します。SDXLの場合、Unetは2e-6〜1e-5、Text Encoderは1e-6〜5e-6程度が一般的な範囲です。 - 「Epoch」: 学習回数。画像数に応じて10〜30エポック程度が目安です。
- 「Batch size」: GPUメモリに応じて1〜4を設定します。
- 「Resolution」: 学習画像の解像度。SDXLでは
1024,1024が基本です。 - 「Mixed precision」:
fp16またはbf16を選択し、GPUメモリを節約します。
-
学習の実行と評価:
- 設定後、「Start training」ボタンをクリックして学習を開始します。
- 学習中、定期的にLoRAモデルが保存されます。これらのモデルをStable Diffusion WebUIに適用し、プロンプトにトリガータグを含めて画像を生成し、LoRAの品質を評価します。
- 過学習(学習データに似た画像しか生成できない)や未学習(LoRAの効果が見られない)の場合は、パラメータを調整して再学習します。特に、学習率、Rank、Epoch数が調整のポイントとなります。
⚠️ 注意: 学習率が高すぎるとモデルが不安定になり、低すぎると学習が進みません。最初は推奨範囲から始め、徐々に調整してください。
LoRAの活用と今後の展望
生成されたLoRAモデルは、Stable Diffusion WebUIのmodels/Loraフォルダに配置することで、プロンプト内で <lora:your_lora_name:weight> の形式で呼び出すことができます。複数のLoRAを組み合わせて、より複雑な画像を生成することも可能です。
2026年以降も、LoRA技術は進化を続けます。より効率的な学習アルゴリズムや、自動的なデータセット選定・キャプション生成、さらにはマルチモーダルなLoRA(画像だけでなく音声や動画にも適用)が登場する可能性があります。クラウドベースでのLoRA作成サービスも普及し、誰もが手軽に高品質なLoRAを作成できるようになるでしょう。