— 如何正確準備圖片·標題結構
當你第一次開始進行 LoRA 微調時,任何人都可能首先關注模型、rank、學習率 (learning_rate) 等 訓練選項。
但實際上數據集決定了 80%。
使用好的數據進行訓練可以彌補很多設置的錯誤,但壞的數據則無法用任何設置來恢復質量。
特別是最近的 Flux 系列模型是「非常誠實地反映數據的模型」,所以它受數據集質量的影響更大。
這篇文章將實用性地整理在進行 LoRA 微調時如何準備圖片、如何構建標題以及data.toml 的設置與數據集結構之間的關係。

1. 為什麼數據集在 LoRA 微調中是最重要的?
LoRA 的方法不是改變基本模型的巨量參數,而是
添加強化特定概念的「記憶補丁」。
也就是說,LoRA 主要學習以下兩點:
-
圖片之間的共通點
-
標題中明確的核心概念
因此,只要數據集稍有紊亂,就會出現以下現象:
-
臉部輪廓不穩定
-
LoRA scale=0.5 以上才勉強能應用風格
-
與現有模型的特徵混合,得出「這也不是,那也不是」的結果
-
特定姿勢/表情過度強化
-
色調偏差嚴重
所有這些問題的根本原因就是數據的一致性缺乏。
2. 圖片準備的基本規則
遵循這些將會成功一半。由於微調時需要花費相當多的時間,因此最好在一次性準備好數據。
✔ 2-1) 圖片解析度最好進行正規化
基於 Flux 的模型對於解析度似乎不太敏感,但在微調時會出現以下問題:
-
512×768
-
1024×1536
-
800×800
-
1536×768
如果大小各不相同,對模型來說,「重要區域」可能會變得模糊或位置看起來不一致。
推薦規格:
-
768×1152
-
768×1024
-
1024×1024
-
或根據希望的最終圖片比例統一為一種規格
重要的是比率和大小的一致性。
✔ 2-2) 數據集並非越多越好,而是越均質越好
錯誤的例子:
- 自拍 10 張 + 全身照 5 張 + 黑暗環境照片 3 張 + 4K 高畫質照片 2 張 + 卡通風格圖片 5 張
→ 模型對學習內容感到困惑。
好的例子:
-
同樣的相機距離
-
相同的光源
-
聚焦於臉部/上半身等 概念明確
-
風格(寫實/動畫/插畫等)統一
✔ 2-3) “只放進好的照片”是最重要的原則
這一點在多次實驗 Flux LoRA 的過程中會更為深切感受到。
常見的錯誤:
「數據不夠,那就隨便放進這個吧。總會有幫助的。」
不。
那個“什麼”會毀掉 LoRA。
一張模糊的圖片會導致訓練失誤的情況非常多。
可以肯定的說:
10 張好照片 > 40 張雜亂無章的照片
✔ 2-4) 根據想要製作 LoRA 的目的決定圖片構成
例如:
1) 特定人物再現 LoRA
-
以臉部特寫為主
-
相同光源
-
正面 + 稍微的側面
-
通常不包含全身照會更穩定
2) 特定時尚風格再現 LoRA
-
相同服裝組合
-
顏色和質感的強調圖片
-
可包含全身照/下半身照
-
不同姿勢反而會有幫助
3) 特定插畫風格 LoRA
-
包括背景
-
能突出筆刷質感的圖片
-
需要直接定義風格的核心要素(筆觸厚度、饱和度、明暗等)
3. 標題撰寫:決定 LoRA 質量的第二個關鍵
標題在圖片本身的重要性僅次於它。
Flux 非常好地跟隨標題的「文本信號」,因此,
僅對標題的構成進行仔細的處理也能大幅改變 LoRA 的質量。
✔ 3-1) 如何撰寫標題?
答案如下兩種之一:
A. 最小關鍵詞標籤基礎方式
a japanese woman, long hair, smiling, outdoor, daylight
-
簡單且穩定
-
對寫實風格強
-
LoRA 容易收斂
B. 句型描述方式
A Japanese woman with long black hair smiles softly in natural daylight, wearing a white knit sweater.
-
在 Flux 或 SDXL 系列中能促進更自然的學習
-
適合風格 LoRA 或人物 LoRA
對於第一次嘗試的初學者,建議使用A 方式,但擅長寫作的人可嘗試B 方式。根據經驗來看,B 方式似乎會更有效。
注意事項:使用句型時,請在 data.toml 中設置 keep_tokens = 0, shuffle_caption = false
✔ 3-2) 標題可以不寫嗎?
-
確定的答案:必須寫
-
原因:必須告訴模型應該學習什麼概念
-
不過曾在 NVIDIA 的文檔中見過「只給每個類別標記,而不寫句子標題的結構」的微調例子,但根據經驗來看,加入標題的效果會更好。
✔ 3-3) class_tokens vs txt 標題的優先順序
重要的實戰信息:
有 txt 標題 → 優先使用 txt。
class_tokens 的角色較為輔助。
也就是說,如果同一張圖片同時有以下兩個:
class_tokens = "leona_empire asian woman"
caption.txt = "a japanese woman in winter knit"
→ 模型會更側重於 caption.txt 的內容。
整理:
-
caption.txt 是關鍵
-
class_tokens 可以視為「整體概念的基本基礎」
4. 數據集目錄結構示例
基於 Flux 系列 LoRA 的整潔示例:
dataset/
└── concept1/
├── 00001.png
├── 00001.txt
├── 00002.png
├── 00002.txt
├── 00003.png
├── 00003.txt
└── ...
.txt 文件規則:
-
文件名必須相同
-
推薦使用 UTF-8 編碼
-
一行編寫(禁止不必要的換行)
5. LoRA 的常見標題錯誤
1) 過多的修飾語
beautiful gorgeous extremely lovely asian woman with super long silky hair
模型會過度關注特定屬性。
2) 每張照片的風格描述不一致
-
有一張是「電影光照」
-
另一張是「明亮的柔光」
→ 混淆度 100%
3) 照片與不必要的情感·情緒不符
有時候在複製 + 粘貼多張照片時,如果出現與照片不同的表情描述就會毀掉!!
在完成數據集後至少要檢查兩次,這對心理健康很重要。
(實際上即使在笑著,如果有 sad、melancholy 這樣的文本,表情也會改變)
6. 數據數量:多少張最為有效?
根據經驗 Flux LoRA 的標準:
| 數據數量 | 結果質量 |
|---|---|
| 5–10張 | 不穩定(起伏最大) |
| 15–25張 | 最有效 |
| 30–50張 | 最高質量(僅在 _一致性數據_ 時有效) |
| 60張以上 | 意義不大。重複信息增多 |
-
比起增加數據,「去除差的圖片」更能提升質量。
-
我個人最初使用過 40 張,但之後通常會在 10~20 張之間組建數據集
7. 第一輪 → 第二輪微調時的數據集處理
這裡最常見的問題是:
「需要包含舊的圖片嗎?」
答案:
是的。必須按照一定比例包含。
原因:
模型不是 LoRA 而是「記憶補丁」,如果不再顯示舊概念就會忘記。
建議比例:
-
舊數據 50%
-
新數據 50%
這樣就能做到「記憶保持 + 新風格反映」最為穩定。
8. 結論:只要準備好數據集,LoRA 的 70% 就完成了
隨著多次微調的經驗,我感受到的只有一點。
最終 LoRA 的質量取決於數據集。
-
解析度
-
比率
-
光源
-
圖片一致性
-
標題準確性
-
去除劣質圖片
-
data.toml 與數據集結構的對應
只要把這 7 點做好,
rank、learning_rate 等設置就會變得 相對不那麼重要。
目前沒有評論。