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 = 优化器实际训练的时长(也就是停止计数器)。
  • 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

只要你有意识地把这些变量控制好,你就不再需要猜——结果也会更稳定、更可复现。

准备好开始训练了吗?