AI Toolkit LoRA Training Guides

使用Ostris AI Toolkit进行FLUX.2 [dev] LoRA训练指南

本文分步讲解如何用Ostris AI Toolkit对FLUX.2 [dev]进行LoRA微调:FLUX.2的关键特点、双Transformer与文本编码器对LoRA rank与显存占用的影响、从24GB到H100/H200可用的训练配置与量化方案,以及如何设计数据集以获得稳定可控的训练效果。

Train Diffusion Models with Ostris AI Toolkit

水平滚动查看完整表单

Ostris AI ToolkitOstrisAI-Toolkit

New Training Job

Job

Model

Quantization

Target

Save

Training

Datasets

Dataset 1

Sample

FLUX.2-dev LoRA训练与训练旧版SD模型有很大不同。FLUX.2 [dev]结合了一个320亿参数的巨型整流流Transformer、240亿参数的Mistral文本编码器和高质量自动编码器,在单一checkpoint中处理文生图和图像编辑。本指南涵盖:

  • FLUX.2 [dev]的特别之处
  • 这些设计如何影响LoRA训练
  • 如何为不同硬件配置AI Toolkit
  • 如何配置数据集、触发词和参数以获得所需的风格/角色/编辑效果

本文是AI Toolkit LoRA训练系列的一部分。如果您是Ostris AI Toolkit新手,请在深入Flux 2 dev LoRA训练之前先阅读AI Toolkit LoRA训练概述

目录


1. 理解FLUX.2 [dev]的LoRA训练

在调整参数之前,了解您正在微调的内容会很有帮助。

1.1 高层架构

来自官方FLUX.2-dev模型卡Black Forest Labs公告

  • 基础模型

    FLUX.2 [dev]是一个320亿参数的整流流Transformer(DiT风格的潜在流模型),从头训练而成,不是FLUX.1的延续。它在单一checkpoint中结合了文生图图像编辑(单图和多参考)。

  • 文本编码器

    FLUX.2 [dev]使用Mistral Small 3.1 / 3.2 – 24B作为视觉语言文本编码器。这是在32B DiT之上额外的24B参数。

  • 自动编码器(VAE)

    模型使用新的AutoencoderKLFlux2,具有32个潜在通道(FLUX.1使用16个)。它专为高分辨率编辑和精细纹理保留而设计。

  • 统一生成+编辑

    同一架构处理纯文生图单图编辑多参考编辑

  • Guidance蒸馏

    FLUX.2 [dev]是guidance蒸馏模型:没有经典的带有单独"条件"和"无条件"通道的CFG。

这对LoRA意味着:

  1. 核心Transformer巨大。 LoRA秩需要谨慎选择。
  2. 文本编码器很重,对行为至关重要。
  3. 相同的权重处理T2I和编辑。
  4. Guidance很特殊。 通常使用guidance_scale = 1训练。

2. 您要训练哪种类型的FLUX.2 LoRA?

使用FLUX.2 [dev]时,您应该首先决定适配器要做什么。基础模型在多参考编辑复杂提示词跟随方面已经很强。

FLUX.2 [dev] LoRA训练的常见目标:

  1. 风格LoRA(T2I + 编辑) – 教FLUX.2使用特定的绘画风格、色彩分级或渲染外观。
  2. 角色/身份LoRA – 建模具有一致面部/特征的特定人物、头像、吉祥物。
  3. 物体/道具/品牌LoRA – 捕获具有严格几何或品牌约束的特定产品、标志、形状。
  4. 指令/编辑LoRA – 改变行为而不是风格。

3. 影响LoRA设置的FLUX.2特定细节

3.1 融合Transformer上的LoRA(秩缩放)

FLUX.2 [dev]将注意力和MLP投影融合到非常宽的矩阵中。这意味着:

  • 非常低的秩(4–8)通常感觉太弱。
  • 对于FLUX.2 [dev]上的风格角色LoRA,秩32是VRAM允许时的良好默认值。
  • 如果VRAM紧张,可以使用秩8–16
  • 对于复杂的品牌或身份,秩32–64可能有帮助。

在FLUX.2-dev LoRA微调中,模型通常受益于比旧模型稍高的秩,但您需要付出VRAM和过拟合风险的代价。


3.2 Guidance蒸馏模型:在guidance_scale = 1下训练

由于FLUX.2 [dev]是guidance蒸馏的,通常的Stable Diffusion"CFG 7–8"直觉不适用。

  • 训练:设置guidance_scale = 1
  • 推理2–4范围内的guidance_scale效果良好。

3.3 文本编码器很大(为什么缓存嵌入很重要)

用作FLUX.2文本编码器的Mistral 24B VLM约有24GB参数。

在AI Toolkit中:

  • 使用固定描述且不使用DOP时:开启Cache Text Embeddings
  • 使用Differential Output Preservation (DOP)时:不能缓存文本嵌入。

3.4 自动编码器和分辨率

FLUX.2使用具有32个潜在通道AutoencoderKLFlux2。实际上,在768–1024分辨率下进行FLUX.2-dev LoRA 训练 显存可以获得大部分优势。


4. FLUX.2 LoRA训练的硬件和显存要求

4.1 按显存级别的推荐设置

级别A — 16–24 GB GPU(如4070 Ti、4080、4090)

  • 现实范围:AI Toolkit FLUX.2-dev LoRA训练可行但紧张。Batch Size = 1896–1024 px
  • 关键设置Low VRAM 开启Layer Offloading 开启TransformerText Encoder设为float8 (default)

级别B — 32–48 GB GPU(如RTX 6000 Ada、A6000)

  • 现实范围:训练变得舒适。在1024×1024下训练风格和角色LoRA,20–60+图像1000–3000步
  • 关键设置Batch Size = 1–2Steps ≈ 1000–3000Learning Rate = 0.0001Linear Rank = 32

级别C — 64–96+ GB GPU(如RunComfy上的H100、H200)

  • 现实范围1024×1024Batch Size = 2–4,DOP默认开启
  • 关键设置Low VRAM 关闭Linear Rank = 32–64

4.2 本地AI Toolkit vs RunComfy云端AI Toolkit


5. 为FLUX.2 LoRA设计数据集

5.1 需要多少图像?

  • 简单风格LoRA:约15–30张精选图像。
  • 角色/身份LoRA:约20–60张图像。
  • 编辑/指令LoRA50–200个三元组(源、目标、指令)。

5.2 描述策略

您在描述中不写的内容对LoRA来说是"自由的",可以附加到您的触发词上。

风格LoRA:描述图像中有什么不要描述媒介或风格。

角色LoRA:使用简短独特的触发词(如midnight_tarot)和类别词personwoman等)。

5.3 Differential Output Preservation (DOP)

一种正则化策略,当触发词不存在时惩罚LoRA的改变。


6. 分步指南:在AI Toolkit中配置FLUX.2 [dev] LoRA训练

6.1 初始设置

6.2 准备数据集

  • 收集图像并放入/ai-toolkit/datasets/flux2_midnight_tarot/
  • 添加.txt描述文件。在描述中使用[trigger]

6.3 创建新的训练任务

6.3.1 JOB面板

  • Training Name:如flux2_midnight_tarot_v1
  • Trigger Word:如midnight_tarot

6.3.2 MODEL & QUANTIZATION面板

  • Model ArchitectureFLUX.2
  • Name or Pathblack-forest-labs/FLUX.2-dev
  • Low VRAM:级别A/B开启,级别C关闭
  • TransformerText Encoderfloat8 (default)

6.3.3 TARGET面板

  • Target TypeLoRA
  • Linear Rank32作为良好默认值。

6.3.4 TRAINING & SAVE面板

  • Batch Size:24–48GB用1,64GB+用2
  • Steps:风格800–2000,角色1000–2500,指令1500–3000。
  • Learning Rate0.0001
  • OptimizerAdamW8Bit
  • Cache Text Embeddings:不使用DOP时开启,使用DOP时关闭
  • Data TypeBF16
  • Save Every250步。

6.3.5 Regularization & Advanced

  • Differential Output Preservation:如要保留基础模型行为则开启
  • Do Differential Guidance开启Scale 3

6.3.6 DATASETS面板

  • Cache Latents开启
  • Resolutions:根据显存选择[768, 896, 1024]

6.4 预览采样配置

  • Sample Every250步。
  • Guidance Scale1
  • Prompts:2–4个代表性提示词。

7. 调试FLUX.2 LoRA结果并提高质量

7.1 "GatedRepoError / 401"下载FLUX.2-dev时出错

在Hugging Face上接受许可证,创建Read令牌并添加到训练器设置中。

7.2 "1000+步后没有变化"

  • 检查LoRA是否在采样中应用。
  • 尝试Linear Rank = 16–32
  • Learning Rate = 0.0001
  • 从描述中删除风格描述词。

7.3 "我的LoRA覆盖了基础模型"

  • 开启Differential Output Preservation。
  • 减少到800–1500步。
  • Linear Rank = 16Learning Rate = 0.000075

7.4 "CUDA显存不足"

  • 分辨率从1024降到896或768。
  • 开启Gradient checkpointing和accumulation。
  • FP8/4-bit量化。
  • Cache Latents开启。
  • 迁移到RunComfy的H100/H200。

8. 在推理中使用您的FLUX.2 LoRA


更多AI Toolkit LoRA训练指南

Ready to start training?