一、工具簡介與安裝指南
1.1 秋葉 LoRA 訓練器概述
秋葉 LoRA 訓練器(基于 Akegarasu/lora-scripts 項目)是針對 Stable Diffusion 模型的輕量化微調工具,通過低秩適應(LoRA)技術實現高效參數微調。其核心優勢在于:
- 參數效率:僅訓練少量適配器參數(通常 < 2%),顯存占用降低 70% 以上
- 部署靈活:生成模型文件體積僅 10-200MB,支持多模型組合調用
- 中文優化:內置國內加速源和本地化界面,解決網絡限制問題
1.2 系統環境要求
- 硬件配置:
- NVIDIA 顯卡(顯存≥6GB,推薦 8GB 以上,SDXL 訓練需 16GB+)
- 內存≥16GB,建議 32GB(避免數據加載卡頓)
- 存儲空間≥50GB(含基礎模型和訓練數據)
- 軟件環境:
- Windows 10/11(推薦)或 Linux(需手動配置依賴)
- Python 3.10.x(必須,安裝時勾選 "Add Python to PATH")
- Git(用于自動更新)
1.3 安裝步驟
-
下載整合包
從官方 GitHub 倉庫獲取最新版本:bash
?git clone --recurse-submodules https://github.com/Akegarasu/lora-scripts
國內用戶建議使用碼云鏡像:
bash
git clone https://gitee.com/Akegarasu/lora-scripts.git
-
環境初始化
- 解壓至非中文路徑(如
D:\lora-scripts
) - 雙擊運行
A強制更新-國內加速.bat
,自動安裝依賴 - 若出現
fbgemm.dll
缺失錯誤,需下載依賴文件并復制到torch/lib
目錄(參考嗶哩嗶哩教程)
- 解壓至非中文路徑(如
-
啟動訓練器
運行A啟動腳本.bat
,默認通過http://127.0.0.1:28000
訪問 Web 界面- 首次啟動會自動下載基礎配置文件(約 200MB)
- 建議將啟動腳本發送到桌面快捷方式
二、數據集準備全流程
2.1 素材收集與預處理
-
素材要求:
- 數量:人物 / 物體類 20-50 張,風格類 50-200 張
- 質量:分辨率≥512px,光照均勻,背景簡潔,避免模糊 / 重復圖像
- 多樣性:人物需包含多角度(正面 / 側面 / 45°)、多表情、多服飾
-
預處理工具:
- 批量裁剪:使用 Birme(https://www.birme.net)設置尺寸為 512x512(SD1.5)或 1024x1024(SDXL)
- 超分修復:通過 Stable Diffusion WebUI 的 "extras" 功能提升低清圖像質量
2.2 標簽生成與優化
-
自動打標
- 啟動秋葉整合包的 WebUI,進入訓練→圖像預處理
- 源目錄:原始圖片文件夾,目標目錄:輸出路徑
- 勾選自動焦點裁切和使用 Deepbooru 生成標簽,點擊 "預處理"
-
標簽優化(關鍵步驟)
使用 BooruDatasetTagManager 工具:bash
?git clone https://github.com/starik222/BooruDatasetTagManager.git cd BooruDatasetTagManager && pip install -r requirements.txt && python main.py
- 加載數據集:File→Load Folder 選擇預處理后的圖片目錄
- 核心操作:
- 刪除冗余標簽(如 "low quality" 等負面標簽)
- 置頂觸發詞(如 "mychar"),調整權重(靠前標簽權重更高)
- 統一標簽格式(如 "1girl" 改為 "1girl, solo")
- 保存更改:File→Save All Changes
2.3 數據集組織結構
嚴格遵循以下目錄結構(以訓練 "動漫角色" 為例):
plaintext
lora-scripts/
└── train/└── anime_char/ # 主文件夾(自定義名稱)└── 20_mychar/ # 格式:[repeat值]_[觸發詞]├── img01.jpg # 訓練圖片├── img01.txt # 對應標簽文件├── img02.jpg└── img02.txt
- repeat 值設置:
- 素材 < 30 張:設為 10-20
- 素材 50-100 張:設為 5-10
- 風格類數據集:設為 2-5
三、核心參數配置詳解
3.1 基礎配置參數
參數名稱 | 含義說明 | 推薦值 | 注意事項 |
---|---|---|---|
基礎模型路徑 | 選擇預訓練模型 | ChilloutMix(寫實)/AnythingV5(動漫) | 需放入sd-models 目錄 |
數據集路徑 | 訓練素材存放目錄 | ./train/anime_char | 路徑不可含中文 / 空格 |
輸出路徑 | 模型保存位置 | ./output/mychar_202507 | 按 "主題 + 日期" 命名便于管理 |
訓練分辨率 | 圖像尺寸(寬 × 高) | 512×512(6GB 顯存)/1024×1024(SDXL) | 必須為 64 的倍數 |
3.2 訓練控制參數
參數名稱 | 含義說明 | 推薦值 | 調整技巧 |
---|---|---|---|
網絡維度(Network Dim) | 控制模型復雜度 | 8-32(新手推薦 16) | 簡單物體 8-16,復雜角色 24-32 |
網絡 Alpha | 學習率縮放因子 | 與網絡維度相同 | loss 下降慢時降低為維度的 1/2 |
學習率 | 參數更新步長 | 文本編碼器:1e-5;U-Net:1e-4 | 真人訓練可降低至 5e-5 |
訓練輪數(Epochs) | 數據集迭代次數 | 10-20 輪 | 觀察 loss 穩定后可提前停止 |
批處理大小(Batch Size) | 單次訓練圖片數量 | 6GB 顯存:1;12GB 顯存:2-4 | 過大易導致顯存溢出 |
3.3 優化器與調度器設置
-
優化器類型:
- AdamW8bit:默認選項,平衡顯存與穩定性
- Lion8bit:訓練速度提升 30%,適合大數據集
- Prodigy:自動調整學習率,需配合
constant
調度器
-
學習率調度器:
- cosine_with_restarts:復雜任務首選,重啟次數≤4
- constant_with_warmup:新手友好,預熱步數設為總步數 5%
- linear:適合需要精確控制學習率的場景
四、模型訓練與監控
4.1 啟動訓練流程
-
模式選擇:
- 新手模式:自動填充基礎參數,適合首次使用
- 專家模式:可配置高級參數(如梯度檢查點、混合精度)
-
關鍵配置步驟:
- 在 WebUI 中填寫基礎模型路徑(如
./sd-models/chilloutmix.safetensors
) - 設置訓練數據集路徑(如
./train/anime_char
) - 勾選混合精度訓練(FP16/BF16)和Latent 緩存(節省顯存)
- 點擊 "開始訓練",后臺終端顯示訓練進度
- 在 WebUI 中填寫基礎模型路徑(如
4.2 訓練過程監控
-
Loss 值分析:
- 理想曲線:穩定下降至 0.1-0.2 區間后趨于平穩
- 異常情況:
- Loss>0.3 且不下降:檢查標簽質量或增大學習率
- Loss 驟降至 0.05 以下:可能過擬合,減少訓練輪數
-
TensorBoard 監控:
運行tensorboard.ps1
,訪問http://127.0.0.1:6006
查看:- 訓練 Loss 曲線(train/loss)
- 學習率變化趨勢(learning_rate)
- 生成樣本對比(samples)
4.3 常見問題解決
問題現象 | 解決方案 |
---|---|
顯存不足(CUDA out of memory) | 降低 Batch Size 至 1;啟用梯度檢查點;分辨率降至 512×512 |
訓練中斷后無法恢復 | 刪除output 目錄下的last.safetensors ;檢查數據集路徑是否正確 |
生成圖像出現異常花紋 | 檢查訓練數據是否含相似紋理圖片;降低網絡維度至 8-16 |
torch 版本過低錯誤 | 運行A強制更新-國內加速.bat ;手動安裝 torch 2.3+:pip install torch --upgrade |
五、模型測試與效果優化
5.1 基礎測試流程
-
模型部署:
將訓練生成的模型文件(如mychar.safetensors
)復制到 SD WebUI 的models/Lora
目錄 -
生成測試:
- 正向提示詞:
masterpiece, best quality, <lora:mychar:0.8>, 1girl, smile
- 負向提示詞:
bad hands, low quality, blurry
- 參數設置:Steps=20-30,CFG Scale=7,Sampler=DPM++ 2M Karras
- 正向提示詞:
5.2 高級測試方法(XYZ 圖表法)
在 WebUI 中安裝 "XY Plot" 插件,測試關鍵參數影響:
- X 軸:Lora 權重(0.5, 0.7, 0.9)
- Y 軸:CFG Scale(5, 7, 9)
- 結果分析:選擇清晰度與風格一致性最佳的組合(通常權重 0.7-0.8)
5.3 模型效果優化技巧
-
過擬合處理:
- 增加正則化圖像(生成 20 張基于底模的同類圖片)
- 啟用 Dropout(概率 0.1-0.2)
-
細節增強:
- 疊加 "add_detail" LoRA(權重 0.3-0.5)
- 提示詞添加
highres, detailed face, 8k
六、高級使用技巧
6.1 SDXL 模型訓練專項配置
- 分辨率:必須 1024×1024,
bucket_reso_steps=32
- 網絡維度:64(生成 435MB 模型),Alpha=32
- 優化器:Prodigy + constant 調度器,學習率設為 1.0
- 顯存要求:最低 16GB(啟用 FP16 精度)
6.2 多 LoRA 模型組合應用
- 權重平衡:
plaintext
<lora:style_anime:0.6>, <lora:character:0.4>
- 沖突解決:
- 風格 LoRA 權重≤0.7
- 使用 "LoRA Block Weight" 插件屏蔽沖突層
6.3 模型量化與部署優化
- 4-bit 量化(顯存減少 75%):
python
from bitsandbytes import BitsAndBytesConfig bnb_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type="nf4",bnb_4bit_use_double_quant=True )
- 推理加速:
- 轉換為 GGUF 格式(使用 llama.cpp)
- 啟用 VLLM 多 LoRA 部署:
vllm serve --enable-lora
七、附錄:資源與工具推薦
7.1 必備工具
- 標簽生成:WD14 Tagger(GitHub)
- 素材處理:Birme 批量裁剪、SwinIR 超分辨率
- 模型管理:CivitAI(https://civitai.com)- LoRA 模型分享平臺
7.2 常見參數模板
- 真人角色訓練:
plaintext
網絡維度=32, Alpha=32, 學習率=1e-4, Epochs=15, Batch Size=2
- 動漫風格訓練:
plaintext
網絡維度=16, Alpha=16, 學習率=2e-4, Epochs=10, 優化器=Lion8bit
7.3 學習資源
- 官方文檔:Akegarasu/lora-scripts Wiki
- 視頻教程:秋葉 B 站頻道《AI 繪畫從入門到精通》
- 社區支持:Discord 服務器(搜索 "秋葉 LoRA 訓練")
通過以上步驟,即可使用秋葉訓練器高效訓練高質量 LoRA 模型。建議從簡單物體或風格入手,逐步掌握參數調優技巧,最終實現個性化角色、風格的精準控制。