当前位置:AIGC资讯 > AIGC > 正文

stable diffusion模型微调方法

文章目录

embeddings 准备训练集 图片预处理 裁剪 打标签 点击生成运行程序 调节训练参数 训练嵌入式模型 使用微调模型进行生成 LoRA Kohya GUI 准备工作 收集训练集 图片预处理 设置训练参数 Dreambooth 参考资料

embeddings

准备训练集

网络找图片,10~20张,jpg、png、webp等都可以,放到一个文件夹中
文件夹的命名为:repeat_文件名
其中:repaeat:正整数,用户自己定义。训练步数=图片数量repreatepoch/batch size
图片内容:图片需凸显要训练的主体物形象,不宜有复杂背景以及其他无关的内容,尤其是文字。

图片预处理

裁剪

webui>附加功能>批量处理,拖拽文件夹到指定位置>指定分辨率缩放,缩放到512*512>勾选裁剪以适应宽高比>勾选自动面部焦点剪裁;

打标签

webui>后期处理>批量处理文件夹下拉>勾选Caption下的BLIP,用来进行自动打标签(若为二次元图像,则勾选Caption下的Deepbooru生成标签会更准确)
打标插件(准确度更高):WD 1.4 Tagger

点击生成运行程序

调节训练参数

训练>创建嵌入式模型>名称:自定义;初始化文本:默认或描述训练主体的文字;每个词元的向量数:按默认1或调整为12以内的数>创建嵌入式模型

训练>训练>嵌入式模型:选择刚创建的嵌入式模型;数据集目录:图片预处理时的输出文件夹;提示词模板:训练风格选择style,训练对象选择subject
stable siffusion模型:

理论上,训练底模与生图使用的底模一致可以达到最好的效果 尽可能使用最原始的预训练模型进行微调,如果训练底模不够原始,模型会失去泛用性
SD官方模型对比:
推荐底模: 风格 首选底模 可选底模 真实风格 SD1.5 ChillOut Mix、Realistic Vision、MajicMix Realistic 二次元风格 NovelAI AnyLoRA、Anything V3/V5、ReV Animated

Stable Diffusion官方底模对比:

模型名版本 流传广度 原始训练集尺寸 1.4/1.5 高 512*512 2.0/2.1 低 768*768 SDXL(0.9/1.0) 中 1024*1024

大模型和LoRA底模必须为同一版本才能配合使用

训练嵌入式模型

当右侧生成的预览图基本可以满足需求后,可以在左侧点击中止按钮

使用微调模型进行生成

提示词输入嵌入模型名称,结合其它描述词进行生成

LoRA

Kohya GUI

准备工作
python:3.10.9 Git:无版本要求 Visual Studio:2022 Redistributable
收集训练集

原则:尽可能涵盖训练对象的“多样化样本"
数量:20-30张

图片预处理

与微调embeddings模型中图片预处理步骤相同

设置训练参数

LoRA Type(LoRA类型):
standard:传统的LoRA。最原始的LoRA微调手法,通用且基础
LoCon:加入卷积层控制。微调更“深入”,能够更好结合角色和风格,但对学习率和训练集更敏感
LoHa:使用哈达玛积,对权重重新参数化。适合较简单的概念或多概念训练,可以追求更好的泛化能力
LoKr:使用克罗内克积,对权重重新参数化。与LoHa相似,但是使用了不同的算法进行优化
IA^3:少量参数高效微调。最快/最轻便的训练方法,学习画风效果很好,但是很难迁移
Optimizer(优化器):
Prodigy:只要将学习率、文本编码器学习率、Unet学习率都设置为1,该优化器可以在学习过程中自动改变学习率来取得最佳效果
LR Scheduler(学习率优化器):
对结果影响不大,常用的为余弦函数、带重启的余弦函数学习率的方法,若采用上述两种学习率优化器,则学习率周期数需要设置为3~5之间的数,才能起效
Mixw precision(混合精度)、Save precision(保存精度):
no:采用fp32,32位单精度浮点数
fp16:Floating Point 浮点数,fp16 半精度浮点数
bp16:Brain floating Point,fp16的变种
推荐使用fp16
CrossAttention(交叉注意力):
使用N卡时建议选择xformers,可以降低训练过程里的显存需求并显著提高速度
Memory efficient attention(内存高效注意力):
会压缩一定量的显存使用,是低配用户可以考虑降低爆显存风险的,但效果不如xformers显著,且对速度的影响较大(变慢)。显存够用时建议关闭
**max train epoch:**一般15~20左右
Network Rank(Dimension):常用4~128,一般可用32,64

Dreambooth

参考资料

Kohya使用方法与实践案例【内测中】
60分钟速通LORA训练
【【AI绘画】定制属于你的大模型!保姆式Dreambooth训练教程 autodl在线训练 NovelAI-哔哩哔哩】

更新时间 2024-03-23