【AIGC文生图】LoRA 训练流程
用你的基础模型加载每个检查点的LoRA,在Stable Diffusion WebUI或ComfyUI中测试:使用与训练集相似的Prompt。使用包含LoRA触发词(如果定义了)的Prompt。观察生成图像的。
一、简介
概念: LoRA是一种高效的微调技术,它不改变基础模型(如SD 1.5, SDXL)的大部分权重,而是通过训练少量的“低秩矩阵”来学习你数据集的特定特征(风格、对象、概念)
数据: 数据的质量、标注的准确性远比数量重要。
二、准备工作
阶段一:数据准备
1. 训练数据:图像数据要求:
-
分辨率统一: 将所有图片调整到一个适合基础模型的分辨率。
-
对于SD 1.5,推荐 512x512 或 768x768(如果图片普遍是竖版或横版,可考虑 512x768 或 768x512)。
-
统一分辨率的过程中避免图片拉伸变形,可以使用中心裁剪或智能填充(如用图像边缘颜色填充)。
-
图片格式要求: 图片格式需要统一,例如全部是
.jpg格式或全部是.png格式 -
图片质量要求如下:
-
模糊、过曝、过暗的图片。
-
无关图片(如截图、界面、广告)。
-
包含水印、文字(除非是艺术的一部分)的图片。
-
低分辨率(< 256x256)且无法有效放大的图片。
-
-
图片去重: 使用感知哈希(如
dhash)或特征哈希去除视觉上高度相似或重复的图片。
-
2. 训练数据:文本标注 (Captioning)
-
简介:为每张图片生成一个或多个准确、详细、结构化的文本描述(Prompt)。LoRA学习的是“文本描述”与“视觉特征”的关联。
-
人工标注 + AI辅助标注 可使用 BLIP-2 或 LLaVA 等先进图像描述模型为每张图生成1-3个初始描述。
-
添加触发词 (Trigger Word):
-
如果你的LoRA学习的是一个全新概念(如你的原创角色),建议在所有训练图片的描述中加入一个唯一的、不常见的词(如
sks_dog)。 -
训练后,生成时必须使用这个词才能激活该概念。对于风格学习,通常不需要特定触发词。
-
数据标注要求如下
- 准确性: 确保描述与图片内容完全匹配(对象、颜色、姿态、场景)。
- 细节: 添加AI可能忽略的关键细节(如“穿着红色碎花连衣裙”、“在阳光斑驳的森林里”、“赛博朋克风格的霓虹灯光”)。
- 风格化关键词: 明确指出艺术风格(
oil painting,anime style,photorealistic,watercolor,3D render)、艺术家(in the style of Van Gogh)、渲染引擎(Unreal Engine 5)等。 - 结构化: 遵循基础模型的Prompt结构。通常格式:
[主体], [细节], [场景/背景], [艺术风格], [质量关键词]。例如:a beautiful woman with long wavy brown hair, wearing a red floral dress, standing in a sun-dappled forest, soft bokeh, oil painting style, highly detailed, masterpiece, best quality。 - 一致性: 确保同类图片使用一致的关键词(如所有人物都标注
1girl或1boy)。
阶段二:训练环境搭建 (Environment Setup)
1. 选择训练工具:
-
Kohya_ss GUI: 最流行的开源LoRA训练GUI工具,功能全面,社区支持好。强烈推荐初学者和进阶用户。
-
Kohya_ss (命令行): 更灵活,适合自动化和高级用户。
-
Diffusers + PEFT (Hugging Face): 代码级控制,适合集成到现有流程或研究。
-
AutoDL / Vast.ai / RunPod: 云GPU平台,提供预配置的Kohya环境,省去本地配置麻烦。
2. 硬件要求:
-
GPU: NVIDIA GPU (推荐12GB+ VRAM)。200张图训练LoRA,24GB显存(如A100, 3090, 4090)会非常顺畅。12-16GB(如3060, 3080)也可行,但需调整参数(如更小的
batch_size,使用gradient_checkpointing。 -
CPU/RAM: 16GB+ RAM。
-
存储: 足够空间存放图片、标注、模型文件(基础模型约2-7GB,LoRA输出文件通常<200MB)。
3. 安装与配置:
-
按照所选工具(如Kohya_ss)的官方文档进行安装。
-
下载并放置好你的基础模型(如
v1-5-pruned-emaonly.safetensorsfor SD 1.5)。
阶段三:评估与使用 (Evaluation & Usage)
1. 选择最佳模型:
训练完成后,你会得到多个检查点。不要只用最后一个。用你的基础模型加载每个检查点的LoRA,在Stable Diffusion WebUI或ComfyUI中测试:
-
使用与训练集相似的Prompt。
-
使用包含LoRA触发词(如果定义了)的Prompt。
-
观察生成图像的风格一致性、细节还原度、是否过拟合(只能生成训练集里的图,缺乏泛化)
- 判断方法:只能生成与训练集几乎一模一样的图。对Prompt变化不敏感。
-
选择效果最好的那个。
2. 测试泛化能力:
尝试用不同的Prompt、不同的主体,看LoRA是否能正确地将学习到的风格或特征应用到新内容上。
附加项:Kohya_ss GUI 训练配置 (Training Configurati
-
General Settings:
Output Name: 你的LoRA模型名称。Output Folder: 模型保存路径。Save Model As: 选择safetensors(更安全)。
-
Model Settings:
-
Pretrained Model: 选择你的基础模型文件路径 -
V2: 如果使用SD 2.x模型则勾选。 -
Resolution: 设置为你预处理后的图片分辨率(如512, 512)。
- Dataset Settings:
-
Image Folder: 指向你存放2000张图片和.txt描述文件的文件夹。 -
Caption Extension:.txt。 -
Enable Caption Dropout: 可以设置一个较低的值(如0.05-0.1),随机丢弃部分描述,增强鲁棒性。 -
Enable Tag Dropout: 类似Caption Dropout,用于标签。 -
Enable Tag Shuffle: 训练时随机打乱标签顺序,增加多样性。
-
Training Settings (核心参数):
-
Training Method:LoRA。 -
Network Dim (Rank): 关键超参数。控制LoRA的“容量”。建议从32或64开始。值越高,模型能学习更复杂的特征,但也更容易过拟合。2000张图,64通常是安全的起点。 -
Network Alpha: 通常设置为Network Dim的一半(如32对应16)。影响学习权重。 -
Optimizer:AdamW8bit(内存效率高) 或Lion(有时效果更好)。 -
Learning Rate: 关键超参数。5e-4到1e-5之间。建议从1e-4开始。如果发现训练不稳定(loss剧烈波动),降低学习率。 -
Batch Size: 根据VRAM调整。从1开始尝试,如果显存够,可以增加到2或4。Batch Size 越大,训练越稳定,但需要更多显存。 -
Epochs / Max Train Steps: 关键超参数。2000张图,建议:-
Max Train Steps:1000-3000。从1500开始。 -
或
Epochs:5-10。每Epoch遍历所有数据一次。
-
-
Save Every N Epochs / Steps: 设置保存检查点的频率(如每500steps),便于后续选择最佳模型。 -
Gradient Accumulation Steps: 如果Batch Size=1但想模拟更大的batch,可以设置此值(如=4,相当于effective batch size=4)。 -
Gradient Checkpointing: 务必勾选,显著降低显存占用。 -
Mixed Precision:fp16(速度快,显存省) 或bf16(如果GPU支持,精度略好)。 -
Cache Latents: 强烈推荐勾选。将图片预处理后的Latent表示缓存到内存/硬盘,极大加速训练(首次运行会慢,后续极快)。 -
Cache Latents to Disk: 如果内存不足,可勾选此项将缓存存到硬盘。
-
-
Advanced Settings:
-
Text Encoder Learning Rate: 通常设置为Unet Learning Rate的1/10到1/2。例如,如果Unet LR是1e-4,Text Encoder LR可设为5e-5。有时只训练Unet(Text Encoder LR=0)效果也不错。 -
Noise Offset:0.1左右,有助于改善图像暗部区域。 -
Multires Noise/Denoising Strength: 可尝试使用,改善细节。
-
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)