注册
教程中心 / AI Toolkit 教程

AI Toolkit 教程

AI Toolkit 扩散模型 LoRA 训练套件入门:工具认识、安装运行、Web UI 操作、数据集准备、核心超参数与常见排障,从零跑通第一个 LoRA

04 · 数据集准备

AI Toolkit 教程 更新于 2026-10-10 16:46:00

训练 LoRA,数据集决定了"学什么"。本教程讲清楚 AI Toolkit 的数据格式硬规则、trigger word 设计、自动分桶机制,以及 DOP 正则数据集——把数据这一关把住,训练就成功了一半。

数据格式硬规则

AI Toolkit 的数据集是"图片 + 同名文本"的文件夹结构:

  • 图片仅支持 jpg / jpeg / png(webp 目前有问题,先转格式)
  • 每张图配一个同名的 .txt 文件作为 caption(描述)
datasets/
├── 0001.jpg
├── 0001.txt        ← 内容:"a woman with red hair, ..."
├── 0002.png
├── 0002.txt
└── ...

caption 文件里只放描述文本。支持一个占位符:写 [trigger] 时,训练会自动替换成配置里的 Trigger Word。

例如 caption 写 [trigger] a photo of a person,Trigger Word 设为 sks,实际训练时变成 sks a photo of a person。这样不用手工改文件。

Trigger Word(触发词)设计

触发词是训练时绑定到目标概念上的"暗号",生成时输入它就能唤起 LoRA。设计原则:

  • 独特:不要用常见英文单词(person、woman、style 都不合适),用组合词,如 midnight_tarot、p3r5on
  • 不与训练数据里的自然词冲突:避免歧义
  • 风格 LoRA 可以不用触发词(用 caption-only 法,见模型配方教程),主体/角色 LoRA 强烈建议用

自动分桶(Bucketing):不需要你裁剪图片

AI Toolkit 内置自动分桶机制:

  • 图片只会被缩小、不会被放大(所以尽量用高分辨率素材)
  • 按配置的分辨率桶(如 512 / 768 / 1024)自动归入最近的桶分批训练
  • 支持不同宽高比,不需要手工裁剪/缩放

这个机制极大降低了数据准备门槛——你只需保证图片质量与多样性,尺寸交给工具。

数据集质量三要素

  1. 数量:参考基线——简单风格 15–30 张精选图;角色/身份 20–60 张;编辑/指令类 50–200 组(不同模型在各自配方教程里有具体建议)
  2. 多样性:同一个主体,尽量覆盖不同角度、光线、场景、构图;只有"正面大头照"会限制泛化
  3. 配平:主体占比、风格强度保持一致,避免某些特征过度代表

caption 写法:风格 LoRA vs 主体 LoRA

类型 写法要点
风格 LoRA 描述图像里有什么,不要写媒介/风格词(不写"儿童涂鸦、粗糙蜡笔")。把目标风格当作默认输出,模型激活后风格自动生效
主体/角色 LoRA 简短独特触发词 + 类别词(person、woman、cat…),如 midnight_tarot woman;描述细节与特征
编辑/指令 LoRA 描述指令与变化(源图→目标图),需配对数据集

正则数据集与 DOP

DOP(Differential Output Preservation,差分输出保持) 是 AI Toolkit 的正则化机制,解决"LoRA 渗漏"问题——即不触发时图像也长得像训练目标。

原理:对正则图像同时跑基座与 LoRA 的输出,计算差异并加惩罚项,抑制不该发生的变化。

使用要点:

  • 在 Datasets 页创建正则数据集(勾选 Is Regularization)
  • 正则样本是"普通内容"图(非训练目标),caption 里不要包含 trigger
  • 训练时在 Regularization 面板开启 DOP,并绑定正则数据集
  • 何时用:训练主体与基座原有能力重叠、或发现渗漏时

注意:开启 DOP 后文本 embedding 会随 step 变化,不能再开 Cache Text Embeddings(详见 05 篇)。

占位图

演示图占位
此处放:数据集文件夹结构示意(images + 同名 txt)
说明:左列图片文件、右列同名 caption 文件,一一对应

下一步

→ 05 · 核心超参数详解 看懂训练参数,知道每个旋钮在干嘛

TOP