AI Toolkit LoRA 訓練指南

FLUX.2 Klein 9B 高相似度角色 LoRA:關鍵設定詳解

FLUX.2 Klein 9B 角色 LoRA 訓練「不靠猜」指南。涵蓋 repeats-per-image 公式、batch size、gradient accumulation、學習率、rank、解析度、caption 及預覽用正確 Base 採樣的最佳實務。

使用 Ostris AI Toolkit 訓練擴散模型

FLUX.2 Klein 9B 高相似度角色 LoRA(AI Toolkit):哪些設定真正重要(以及該怎麼填)

如果你正在用 FLUX.2 Klein 9B Base 訓練一個 角色 / 身份(character / identity)LoRA,而且總是在問:

  • Num Repeats 到底有什麼用?」
  • 「我該怎麼計算 Training Steps?」
  • 「如果我改了 Gradient Accumulation,是不是也要改 Steps?」
  • 「為了更高的 high likeness,還有哪些設定最關鍵?」

這篇教學就是那份「不靠猜」的答案。


0) 最容易讓人搞混的原因:這裡有兩種 “steps”

AI Toolkit 會顯示 Training Steps,同時你也會看到 Sample Steps(preview / inference)。

  • Training → Steps = optimizer 實際訓練的時長(也就是停止計數器)。
  • Sample Steps(preview / inference)= 生成 sample 圖片時使用的去噪步數。

不要把它們混為一談。

如果有人說「28 steps 是甜蜜點」,他/她很可能指的是 inference/sample steps,而不是訓練長度。

對於 Base Klein,不要用很低的 sample steps 來評判你的 LoRA。預覽時請使用 適配 Base 的採樣設定(下面會講)。


1) 你真正該優化的只有一個指標:「repeats per image」(訓練劑量)

想要高相似度的角色 LoRA,你需要讓每張訓練圖大致被「看到」這麼多次:

  • 每張圖 50–90 次 = 常規角色身份訓練
  • 每張圖 90–120 次 = 高相似度強化(更強的身份鎖定)

公式(可直接複製)

設:

  • N = 訓練圖片數量
  • B = batch size
  • G = gradient accumulation
  • S = training steps

則:

Repeats per image


repeats_per_image ≈ (S × B × G) / N

Steps you should enter


S ≈ ceil( N × target_repeats / (B × G) )

✅ 如果你改變了 Gradient Accumulation,為了保持相同的訓練劑量,你的 Steps 必須隨之變化


2) 「我到底該填什麼?」(高相似度的最佳實務預設值)

A) Training panel(影響最大)

用這些作為你的 起始點

  • Batch Size: 1
  • Gradient Accumulation: 1(相似度最好)
    • 如果 VRAM 緊張,用 2–4 並把 Steps 按比例降低
  • Learning Rate:1e-4 起步
    • 如果訓練變得不穩定 / “collapses”,試試 5e-5
  • Steps: 用上面的公式計算(不要靠感覺)
  • Optimizer / timestep settings: 先保持預設(除非你在排查問題,否則不要動)

B) Target panel(LoRA 容量)

  • Linear Rank (9B Base):16 開始
    • 如果 LoRA 明顯欠擬合且訓練穩定,試試 32
    • 如果出現不穩定/collapse,就回到 16

C) Dataset panel(文字監督 = 身份控制)

對於角色 LoRA:

  • Default Caption: photo of [trigger]
  • Caption Dropout Rate: 0.05(在部分設定下有助於避免 “caption overfitting”)
  • Resolutions: 盡可能把 1024 作為 Klein 的預設解析度
    • 只有當你需要更強的尺寸泛化時再加 768。

D) Sample panel(如何正確預覽)

如果你的 LoRA 在 samples 裡看起來「很弱」,很多時候不是訓練問題——而是採樣問題。

對於 Base Klein,預覽請用類似這樣的設定:

  • Sample Steps: ~50
  • Guidance / CFG: ~4

然後再對比不同 checkpoint 的效果。


3) 「55 張圖片」示例(帶真實數字)

假設你有:

  • N = 55 張圖片
  • target repeats = 100(高相似度強化)
  • batch size B = 1

方案 1(相似度最好):Grad Accum = 1


Steps = 55 × 100 / (1 × 1) = 5500

填寫:

  • Gradient Accumulation: 1
  • Steps: 5500

方案 2(更省 VRAM):Grad Accum = 4


Steps = 55 × 100 / (1 × 4) = 1375  (~1400)

填寫:

  • Gradient Accumulation: 4
  • Steps: 1375(或 1400

✅ 兩種方案都能帶來約每張圖 ~100 次 repeats。

差別在於每一步會合併多少個 mini-batch


4) 迷你「速查表」(高相似度角色 LoRA)

如果你只想要一份可以直接照抄的配置:

Klein 9B Base – High Likeness Starter

  • Batch Size: 1
  • Grad Accum: 1(需要時用 2–4
  • Target repeats per image: 90–110
  • Steps: ceil(N × repeats / (B × G))
  • LR: 1e-4(不穩定時降到 5e-5
  • Rank: 16(只有在穩定且 underfitting 時再試 32
  • Resolution: 1024
  • Default caption: photo of [trigger]
  • Caption dropout: 0.05
  • Preview sampling (Base): Sample steps ~50, Guidance ~4

5) 排錯(快速修復)

「我的 LoRA 看起來很弱 / 很吵,但 loss 在下降」

最可能的原因是你用錯了預覽採樣設定。

  • Sample Steps ~50Guidance ~4 設好,然後再看一次。

「剛開始變好,突然就變得很混亂 / 更糟了」(9B “collapse”)

按順序嘗試以下修復:

1) 降低 LR(1e-4 → 5e-5

2) 降低 Rank(32 → 16

3) 加入一個小的 regularization 資料集,並降低權重

4) 提前停止,使用最後一個「好的」checkpoint

「降低 Gradient Accumulation 會得到更好的品質嗎?」

在身份/相似度訓練裡,通常是的:

  • 更低的 G 往往能讓 LoRA 更「具體」(平均化更少)。
  • 但你必須增加 Steps,才能保持相同的訓練劑量。

6) 結論

對於 FLUX.2 Klein 9B 的角色相似度訓練,最重要的槓桿是:

1) 訓練劑量(相對圖片數量的 Steps × Batch × Grad Accum)

2) Learning rate

3) Rank

4) Resolution

5) Caption strategy

6) 預覽時正確的 Base sampling

只要你有意識地把這些變數控制好,你就不再需要猜——結果也會更穩定、更可復現。

準備好開始訓練了嗎?