2026年最新版!Stable Diffusion LoRAの作り方と手順を徹底解説【FLUX/SD3.5対応】
2026年6月現在、Stable DiffusionのLoRA作成は、次世代基盤モデルであるFLUXやStable Diffusion 3.5への対応が中心となっています。これらの新しい基盤モデルは、従来のSD1.5やSDXLと比較して、より高度な概念理解と画像生成能力を持つため、LoRAのトレーニングにおいてもデータセットの質とトレーニング設定の最適化がこれまで以上に重要になります。本記事では、最新の環境に合わせたLoRA作成の具体的な手順を解説します。
1. LoRA作成環境の準備
まず、LoRAトレーニングを実行するための環境を整えます。特に、FLUXやStable Diffusion 3.5のような大規模モデルのトレーニングには、高性能なハードウェアが不可欠です。
ハードウェア要件
| コンポーネント | 推奨スペック (2026年6月現在) | 備考 |
|---|---|---|
| GPU (VRAM) | NVIDIA RTX 4090 (24GB) | 高速トレーニング、大バッチサイズ、FLUX/SD3.5対応 |
| GPU (最低) | NVIDIA RTX 3060 (12GB) | トレーニング時間増加、バッチサイズ制約あり |
| CPU | Intel Core i7 / AMD Ryzen 7以上 | データ前処理、キャプション処理に影響 |
| RAM | 32GB以上 | 快適な動作、大規模データセット対応 |
| ストレージ | 500GB NVMe SSD以上 | 高速なデータ読み書き、モデルファイルやデータセットの保存 |
⚠️ 注意: VRAMが不足すると、トレーニングが実行できなかったり、バッチサイズを極端に小さくする必要があり、学習効率が著しく低下します。特にFLUXやSD3.5では、より多くのVRAMを消費する傾向があります。
ソフトウェア環境
LoRAトレーニングツールとしては、引き続きkohya_ssのsd-scriptsが主流です。FLUXやStable Diffusion 3.5への対応も積極的に進められています。
-
Python環境の構築: Python 3.10.xまたは3.11.xの環境を推奨します。venv(仮想環境)での構築が望ましいです。
-
sd-scriptsのインストール: 最新版をGitHubからクローンし、必要なライブラリをインストールします。git clone https://github.com/kohya-ss/sd-scripts.git cd sd-scripts pip install --upgrade pip pip install -r requirements.txt # FLUX/SD3.5対応の追加ライブラリが必要な場合は、公式ドキュメントを参照しインストール
2. データセットの準備とキャプション付け
高品質なLoRAを作成するためには、質の高いデータセットが最も重要です。
画像の収集と前処理
- 画像枚数: 対象とする概念によって異なりますが、一般的には50枚〜100枚の画像が推奨されます。少ない枚数でも可能ですが、多様性が損なわれる可能性があります。
- 画像品質:
- 被写体がはっきりと写っている、高解像度(例: 768x768ピクセル以上)の画像を選びましょう。
- 様々な角度、背景、照明条件の画像を含めることで、LoRAの汎用性が高まります。
- 不要な要素が写り込んでいる画像や、低品質な画像は除外してください。
- アスペクト比の調整: トレーニングで使用するベースモデル(FLUX/SD3.5)のネイティブ解像度(例: 1024x1024、1280x768など)に近いアスペクト比に画像を調整します。トリミングではなく、余白を追加する(パディング)方法が、画像の情報を損なわずに済みます。
キャプション付け (Tagging)
キャプションは、画像の内容をテキストで表現するもので、LoRAが何を学習すべきかをAIに伝える重要な役割を果たします。
- 自動キャプションツール: BLIPやLLaVAなどの画像認識AIを利用して初期のキャプションを生成できます。
- 手動での調整:
自動生成されたキャプションをベースに、以下の点に注意して手動で調整します。
- 具体性: 「a girl」ではなく「a young woman with long brown hair wearing a blue dress」のように具体的に記述します。
- キーワードの選定: LoRAで強調したい特徴(例:
my-style,my-character)を前方に配置します。 - 不要な情報の削除: 画像生成時に妨げとなる可能性のある、過剰な情報や誤った情報は削除します。
- 繰り返しトークンの回避: 同じ意味の単語を繰り返さないようにします。
💡 ポイント: キャプションの質はLoRAの汎用性と表現力を大きく左右します。時間をかけて丁寧に行うことで、生成される画像の精度が格段に向上します。
3. トレーニング設定と実行
kohya_ssのGUIまたはCLIを使用して、トレーニングパラメータを設定します。
ベースモデルの選択
FLUXまたはStable Diffusion 3.5の対応モデル(例: sd3_medium.safetensorsなど、2026年6月時点での最新版)を選択します。これらのモデルはファイルサイズが大きいため、十分なストレージとVRAMが必要です。
主要なトレーニングパラメータ
| パラメータ | 推奨値 (FLUX/SD3.5向け) | 備考 |
|---|---|---|
resolution |
1024 または 1280x768 | ベースモデルのネイティブ解像度に合わせる |
train_batch_size |
1〜4 | VRAMに応じて調整。24GB VRAMで2〜4が目安 |
num_epochs |
10〜20 | 画像枚数や内容により調整。過学習に注意 |
unet_lr (U-Net学習率) |
1e-5 | 画像生成の中核を担う部分の学習率 |
text_encoder_lr (Text Encoder学習率) |
5e-6 | プロンプト解釈を担う部分の学習率。SD3.5で重要 |
optimizer |
AdamW8bit または Lion |
VRAM効率の良いオプティマイザを選択 |
mixed_precision |
fp16 または bf16 |
計算精度を下げてVRAM使用量を削減 |
gradient_checkpointing |
✅ (有効) | VRAM使用量を削減するが、トレーニング時間は増加 |
⚠️ 注意: 学習率が高すぎると過学習を招き、低すぎると学習が進みません。上記はあくまで一般的な推奨値であり、データセットや目的によって微調整が必要です。特に
text_encoder_lrはSD3.5でプロンプト理解の精度に大きく影響するため、適切な値を見つけることが重要です。
トレーニングの実行
設定が完了したら、train_lora.pyスクリプトを実行します。トレーニング中は、コンソールに表示されるloss値や生成されるプレビュー画像(設定した場合)を監視し、過学習や学習不足の兆候がないか確認しましょう。トレーニングはGPUの性能にもよりますが、1時間〜数時間かかることが一般的です。
4. LoRAの評価と調整
トレーニングが完了したら、作成したLoRAを実際に使用して評価し、必要に応じて調整を行います。
- テスト生成:
トレーニング中に保存された各エポックのLoRA(例:
my_lora_ep005.safetensors)を使って、複数のプロンプトで画像を生成します。- 目的のスタイルやキャラクターが再現されているか。
- 過学習(特定のポーズや背景に固定される)が発生していないか。
- 汎用性があるか(様々なプロンプトで破綻なく生成できるか)。 これらを確認し、最もバランスの取れたエポックのLoRAを選択します。
- マージと調整:
- 複数のLoRAを組み合わせることで、さらに複雑な表現を試すことができます。
supermergerなどのツールを利用して、LoRA同士をマージすることも可能です。 - LoRAの適用強度(Weight)を調整することで、生成される画像への影響度を微調整できます。一般的に
0.6〜0.9程度の値がよく使用されます。
- 複数のLoRAを組み合わせることで、さらに複雑な表現を試すことができます。
この手順を通じて、2026年6月現在の最新技術とベストプラクティスに基づいた、高品質なLoRAの作成を目指してください。