AI 绘画领域,LoRA(Low-Rank Adaptation)因其轻量化和高效性,成为了定制化模型训练的首选方案。无论是想要复刻特定的画风、固定角色形象,还是将自家产品融入 AI 场景,掌握 LoRA 训练(俗称“炼丹”)都是进阶的必经之路。本文整理了 LoRA 训练的核心逻辑与完整七步实操流程,涵盖了从底模选择、数据集处理、打标技巧到关键参数(如 Rank、Alpha、学习率)的调优策略,并详细介绍了如何通过 XYZ 脚本进行科学验单。
LoRA 训练的必要性与核心价值
为什么我们需要训练自己的 LoRA 模型?主要基于以下三点需求:
- 个人风格固化
如果你对特定的绘画、插画或电影风格深度热爱,可以通过训练将其内化为 AI 的独有表达语言,融会贯通后形成可复现、可传播的个人艺术标识。 - 私有数据资产构建
拥有领域特有的高质量数据集并将其训练成私有 LoRA,其价值类比于画师十年积淀形成的不可复制风格,是创作者的核心竞争力。 - 产品级应用需求
针对自有品牌产品(如蓝牙音箱、香水瓶等),仅需 20–40 张多角度(俯拍、仰拍)、多质感的高清白底图,即可训练出专属 LoRA,实现产品在各类复杂场景中的可控生成,大幅降低商业拍摄成本。
“七步炼丹法”总览与工具选择
流程定义
一个完整的训练闭环包含以下七个步骤:
炼丹炉(训练工具)→ 底模(Base Model)→ 选图(Dataset Curation)→ 打标(Tagging)→ 调参(Parameter Tuning)→ 炼丹(Training)→ 验单(Validation)
主流工具对比
- 秋叶 SD 整合包1(推荐): 新手首选工具,集成了 SD WebUI、WD1.4 标签器及 LoRA 训练器,参数通用性强,环境配置简单。
- Kohya_ss / Colab: 界面操作相对极简,但对本地环境或网络环境有要求,可控性视具体脚本而定。
- ComfyUI: 节点式工作流,逻辑复杂,适合进阶用户。由于工具间参数高度互通,建议初学者以秋叶包为起点。
底模(Base Model)选择与部署
版本匹配原则
LoRA 必须与底模版本严格一致。
- SD 1.5 的 LoRA 必须配合 SD 1.5 的 Checkpoint 进行训练。
- SD 2.0 或 SDXL 的 LoRA 需对应各自版本的底模,混用将导致匹配失效,无法训练。
原生 vs 融合模型
- 原生模型: 如 v1-5-pruned.ckpt(写实向)或 meinamix_meinaV3.safetensors(二次元向)。此类模型未经二次过度训练,泛化性与迁移性更优,是训练的首选。
- 融合模型: 文件名通常含 mix 字样(如 anything-v4.5)。此类模型已混合多种风格,针对性强但泛化受限。
- 选择依据: 若追求跨模型兼容性,优先选原生;若专注单一风格且不需迁移,可选融合模型。
部署路径
下载的模型文件需放入秋叶包根目录 models/Stable-diffusion/ 下,且该路径需与训练器中的底模路径设置完全一致。
数据集构建:核心要求与预处理
高质量的数据集是模型成功的关键。
通用准则
- 格式: PNG 或 JPG。
- 尺寸: 统一为 512×512 或 512×768(适配 SD 1.5),避免训练时因自动填充导致失真。
- 预处理: 使用 PS 进行调色(优化饱和度/对比度/清晰度)、超分(修复模糊图)、去水印/Logo、背景简化(白底优先)。
不同类型的训练策略
- 角色训练:
- 构图全维度: 需包含全身、半身、特写、正面、侧面、背面、俯视、仰视等多角度。
- 动作与表情: 覆盖舞蹈、行走等动态姿势及喜怒哀乐等表情,避免模型泛化时过度依赖底模知识导致风格偏移。
- 风格训练:
- 风格明确性: 训练集需具备共同的视觉特征(如高饱和撞色、扁平化线条)。避免将“红点奖设计”与“MUJI 风”等无共性的图片混杂。
- 风格多样性: 在统一基调下引入近似变体(如扁平插画中掺入 10%-20% 的超写实作品),可提升模型的泛化鲁棒性。
- 产品训练:
- 品类聚焦: 针对同一 SKU(非多形态产品),确保对象指向唯一。
- 细节覆盖: 多角度(45°侧拍、俯拍)、局部特写(材质纹理、接口细节)。推荐使用纯白/灰底,背景留白以便后期合成。
打标(Tagging):自动与人工协同
WD1.4 自动打标
- 路径设置: 指向训练集根目录(如 F:\kohya\training\cat\10-cat)。
- 阈值调节: 数值越小,生成的标签越细(默认即可,复杂图可微调)。
- 触发词(Trigger Word): 在设置中填入 LoRA 名称(如 he-tian-yi-lang),确保调用模型时能精准激活。
手动修正(推荐工具:BlueData/BooruDatasetTagManager)
- 功能: 修正误标(如将 girl 误认为 boy)、删除冗余词、增补关键描述。
- 操作: 许多工具支持右键切换中文界面,直观管理所有标签。
打标的“玄学原则”:越想学的越不标
标注文件中应剔除核心风格特征词。
例如训练粉色头发的角色,如果标签中包含 pink hair,AI 就会认为“粉发”是通用的,不需要刻意学习;反之,如果你删除了 pink hair 标签,AI 会将画面中的粉色头发特征与你的触发词(Trigger Word)强绑定。
- 公式类比: Trigger = TargetImage − UnwantedFeatures(触发词 = 目标图像 – 不想要的/已知的特征)。
关键参数调优:平衡精度与泛化
基础路径与配置
- 底模路径: 指向 models/Stable-diffusion/ 下对应的 .safetensors 文件。
- 训练集路径: 指向 training/ 父目录(如 F:\kohya\training),注意不是具体的子目录(如 …/10-cat)。
- 分辨率: 严格匹配数据集尺寸(如 512,768)。
核心超参设置
- 最大训练轮数(Epochs): 10 轮通常作为一个常用的起点。
- 批量大小(Batch Size): 默认 2(即每批处理 2 张图)。
- 学习率(Learning Rate): 科学计数法 2e-4(即 0.0002)。若批量大小(Batch Size)增大,学习率需同比例上调。
- Network Rank (R): 控制 LoRA 文件大小与细节承载力。
- 二次元风格:建议 32。
- 写实/3D 风格:建议 64 – 128。
- Alpha (α): 建议设为 R / 2(例如 R=64,则 α=32)。
- 原理: α 值越接近 R,LoRA 对底模的控制权重越低,泛化性越强(但也可能导致学习不足)。
- Shuffle: 必须开启。打乱训练顺序,避免因位置偏差影响提示词权重。
过拟合与欠拟合诊断
- 欠拟合: 输出图无明显风格特征。
- 对策: 增大学习率、增加轮数、扩充数据集。
- 过拟合: 输出图僵化,仅仅是复刻了训练集的原图,无法生成新姿态。
- 对策: 降低学习率、减少轮数、提高 Alpha 值、增强数据多样性。
炼丹执行与验单(Validation)
训练启动与保存
点击“Start Training”,观察进度条。
- 自动保存策略: 建议设置“每 N 轮保存模型”(如每 2 轮)。若训练 10 轮,你将获得 5 个模型文件(命名如 …000002.safetensors 至 …000010.safetensors),末位数字即代表训练轮次。
XYZ 脚本多维验单
不要只看最后生成的那个模型,利用 XYZ Plot 脚本找出最佳平衡点。
- 准备: 将生成的 .safetensors 文件拷贝至 models/Lora/ 目录。
- 设置 XYZ 轴:
- X 轴: 模型版本(从 00000002 到 00000010)。
- Y 轴: LoRA 权重(设置 0.3, 0.6, 0.8 等,权重并非越高越好)。
- 输出图谱: 系统会生成一张网格图,直观呈现各组合的效果。
- 成功标志:
- 风格准确: 没有出现崩坏的“鬼图”。
- 泛化良好: 能生成训练集以外的合理姿态或场景。
- 迁移可用: 适配其他底模(如换用 majicMix)时依然有效。
- 秋葉aaaki的个人空间-哔哩哔哩视频https://space.bilibili.com/12566101 ↩︎