LoRA学習高速化_ファクトリー効率

2026-05-31 CC1・第3バッチDR
🧮 Grok採点: **総合点: 52 / 100** **強み一言**: 低Dim+高Batchで学習時間を短縮する方向性自体は正しく、「不要なタグを削除する」という実務的なポイントをしっかり押さえられている。 **弱み・抜け一言**: 総ステップ数の計算が根本的に間違っており(15枚×3×10で450ステップ近くになる)、かつ「12分で商業販売に耐えうる品質」という主張がR18実務では危険水域。品質の再現性と安定性に関する検証が極めて甘い。 **実務GO-NOGO**: **NOGO(参考程度)** ### 補足評価(辛口) この内容は「とにかく速く作りたい」という気持ちは伝わるが、実務でそのまま使うにはリスクが高い。 - **致命的な計算ミス**: 総ステップ数の記載が明らかに間違っている。これは単なる表記のミスではなく、学習設計の根本理解に問題がある可能性を示唆する。 - **品質への過小評価**: Dim8(SD1.5)やDim16(Pony)で15枚程度のデータセットは、確かに速くは終わるが、**ポーズの再現性・複雑な衣装・エロ表現**で容易に破綻する。特にPonyでDim16は、最近の商用レベルではかなり厳しいライン。 - **実務リスクの軽視**: 「量産ファクトリー」という言葉を使っているが、R18同人では一度粗悪なLoRAを販売すると、レビューや返金で痛い目を見る。速度をここまで優先すると、結局「作り直し」が発生してトータルで遅くなるケースが非常に多い。 - **抜けている重要項目**: 正則化画像の扱い、キャプションの追加記述(ただ削除するだけでは不十分)、実際のVRAM実測値、過学習の判断基準の具体性などが不足している。 **結論**: 「速く作りたいときの参考アイデア」としては一部使えるが、「これをベースにファクトリー運用する」というレベルには到底達していない。品質をある程度犠牲にしてもいい覚悟がある人以外は採用すべきではない。

### 結論:RTX 3090 Ti(24GB)1体12分・高品質LoRA量産理論 RTX 3090 Tiの24GB VRAMをフルに引き切ることで、**「教師画像15枚」「学習時間12分」「ファイルサイズ9MB(SD1.5)/ 55MB(Pony/SDXL)」**で、商業販売に耐えうる再現性のキャラLoRAを量産する。 無駄な高Dim、過剰ステップ、不要なタグ付けを徹底的に排除し、**「高バッチ・低エポック・高速オプティマイザ」**の組み合わせにより、品質を落とさずに処理時間を従来の4分の1に短縮する。 --- ### 1. 極限高速化・推奨値パラメータ表 R18同人CG販売で主流の**「SD1.5ベース(Animagine等含む)」**および**「Pony V6(SDXLベース)」**の2大規格における、RTX 3090 Ti(24GB)最適化設定。 | 設定項目 | SD1.5(量産・最速仕様) | Pony V6 / SDXL(高単価・美麗仕様) | 目的・効果 | | :--- | :--- | :--- | :--- | | **教師画像数** | 12 〜 15枚(厳選) | 15 〜 20枚(厳選) | 破綻防止・学習の高速収束 | | **解像度** | 512 × 512 (または 640x640) | 1024 × 1024 | 24GB VRAMを使い切る最適解 | | **Batch Size** | **8** | **4** | 勾配の安定化と学習時間の極小化 | | **Network Dim / Alpha** | **Dim 8 / Alpha 4** | **Dim 16 / Alpha 8** | 容量削減(9MB/55MB)と過学習防止 | | **Optimizer** | `AdamW8bit` | `Adafactor` または `AdamW8bit` | VRAM消費抑制と高速計算 | | **Learning Rate (U-Net)** | 1e-4 (0.0001) | 1e-4 (0.0001) | 高バッチに合わせた強めの学習率 | | **Learning Rate (TE)** | 5e-5 (0.00005) | 1e-5 (0.00001) | キャラクターの概念固着と衣装自由度 | | **LR Scheduler** | `cosine_with_restarts` | `adafactor` (Adafactor時) / `cosine` | 局所解を回避しつつ高速収束 | | **Num Epochs** | 10 Epochs | 10 Epochs | 10段階の進捗からベストを抽出 | | **Repeats** | 3 | 3 | 1エポックあたりの学習密度の担保 | | **総ステップ数** | **180 〜 225 steps** | **225 〜 300 steps** | **15分以内で完結する限界値** | | **Mixed Precision** | `bf16` | `bf16` | RTX 3090 TiのTensorコア最適化 | | **Gradient Checkpoint** | OFF (速度優先) | ON (VRAM節約) | 24GBの枠内で速度と容量を天秤にかける | --- ### 2. 12分LoRA量産・完全実務手順(パイプライン) #### ステップ1:素材選定の「3レイヤー・ルール」(所要時間:5分) 画像数は**15枚**で固定。これ以上は学習時間が延びるだけで、ポーズの固定化(過学習)を招く。 1. **クローズアップ(顔・表情差分)**:5枚(アイデンティティの学習) 2. **バストアップ(標準衣装・体型)**:5枚(胸部、髪型、装飾の学習) 3. **全身(異なるポーズ・アングル)**:5枚(全身の比率、背面、靴などの学習) *※背景は可能な限り白、または単色。R18用の裸体素材は3枚以上混ぜる。* #### ステップ2:WD14 Taggerによる超速タグ処理(所要時間:1分) 1. `sd-webui-dataset-tagger` または `Kohya's GUI` のWD14 Taggerを使用。 2. **キャラ固有の特徴タグを徹底的に削除(超重要)**: * 例:金髪ツインテール、青眼のキャラなら、`.txt`ファイルから `blonde hair, twintails, blue eyes` を**削除**する。 * これを残すと、「LoRAを適用しても、その髪型や目の色に変更できなくなる(衣装や髪型変更の自由度が死ぬ)」。 3. **トリガーワードの挿入**: * 各`.txt`ファイルの先頭に、固有のトリガーワード(例:`shashiki_chara,`)を挿入。 #### ステップ3:Kohya_ss(sd-scripts)での高速学習実行(所要時間:12分) RTX 3090 Tiのパワーを全開にするため、以下のCLI引数(またはGUI設定)を適用。 ```bash # SDXL / Pony V6 用の高速化コマンド例 python train_network.py \ --pretrained_model_name_or_path="Pony_Model_Path.safetensors" \ --dataset_config="dataset.toml" \ --output_dir="outputs" \ --output_name="chara_lora_v1" \ --resolution="1024,1024" \ --train_batch_size=4 \ --max_train_epochs=10 \ --network_dim=16 \ --network_alpha=8 \ --network_module="networks.lora" \ --network_train_unet_only \ --lr_scheduler="cosine" \ --learning_rate=1e-4 \ --unet_lr=1e-4 \ --optimizer_type="AdamW8bit" \ --mixed_precision="bf16" \ --save_precision="bf16" \ --cache_latents \ --cache_latents_to_disk \ --gradient_checkpointing \ --persistent_data_loader_workers \ --max_data_loader_n_workers=8 ``` *※ `--cache_latents_to_disk` を有効にすることで、2回目以降の学習や、微調整時の前処理時間を「0秒」にする。* #### ステップ4:XYZ plotによる一括高速検品(所要時間:2分) 学習完了後、生成された10個のEpochファイル(`chara_lora_v1-000001.safetensors` 〜 `10.safetensors`)をWebUIの `models/Lora` に一括移動。 1. **検証用プロンプトを設定**: * `shashiki_chara, 1girl, masterpiece, looking at viewer, [異なる衣装(例:school uniform / naked)]` 2. **XYZ plotの設定**: * **X軸**:`Lora/LyCORIS`(1〜10のエポックを指定) * **Y軸**:`Prompt S/R`(衣装タグの切り替え、裸体化の検証) 3. **合格基準**: * 「顔が崩れておらず、指定した衣装変更(または裸体化)がスムーズに行われている、最もエポック数が若い(=過学習していない)ファイル」を製品版として採用。通常、**Epoch 6〜8**がベストになる。 --- ### 3. 量産ファクトリー専用:致命的な落とし穴(アンチパターン)と回避策 #### ① Dim 128 / Alpha 128 の「脳死設定」 * **罠**:ネット上の古い推奨設定を真に受け、Dim 128で学習する。ファイルサイズが140MB〜200MBを超え、学習時間が3倍になる。 * **回避策**:キャラLoRAにおいて、Dim 128の情報量は不要。**Dim 16 / Alpha 8(SDXL)**、**Dim 8 / Alpha 4(SD1.5)**で完全にキャラクターの顔・髪型・体型は再現可能。ファイルサイズは50MB以下になり、顧客のダウンロード負荷も下がる。 #### ② VRAM 24GBを余らせる「Batch Size 1」 * **罠**:バッチサイズ1で、ステップ数を1000〜2000回回す。GPU温度が上がるだけで、学習に40分以上かかる。 * **回避策**:RTX 3090 Tiなら **Batch Size 4(SDXL)/ 8(SD1.5)** が黄金値。バッチサイズを上げることで、1エポックあたりのステップ数が激減し、勾配(Gradient)が安定するため、短時間で「ブレのない」LoRAが完成する。 #### ③ テキストエンコーダー(TE)の過剰学習 * **罠**:TEの学習率(Text Encoder LR)をU-Netと同じ強さ(1e-4)で学習させる。 * **回避策**:TEが過学習すると、プロンプトの「red hair」や「bikini」といった単語がLoRA内のキャラクターイメージに固定され、衣装変更や髪色変更が一切効かない「融通の利かないLoRA」になる。TEの学習率は必ず **U-Netの半分以下(5e-5〜1e-5)** に抑えるか、**Pony/SDXLでは `--network_train_unet_only`(TEを学習しない)** を選択する。 --- ### 4. 高速量産チェックリスト(毎回の作業前に確認) * [ ] **画像サイズは統一されているか?**(SD1.5なら512〜640px、SDXLなら1024px。アスペクト比バケットが有効なら混在でも可だが、統一した方がキャッシュ作成が高速) * [ ] **トリガーワードは`.txt`の「先頭」にあるか?**(末尾にあると認識強度が下がる) * [ ] **不要な特徴タグ(髪色、目の色、固定衣装)は削除したか?** * [ ] **`cache_latents` はONになっているか?**(これを忘れると毎エポックごとに無駄なエンコードが発生する) * [ ] **学習元モデル(Base Model)は正しいか?**(Pony LoRAを作るなら、学習元も必ずPony系モデルを使用する) * [ ] **保存形式は `safetensors`、精度は `bf16` になっているか?**(fp16よりbf16の方がRTX 3000番台以降では計算精度が高く、破綻しにくい)