【全网最细lora模型训练新手入门】这时长?你没看错。还教不会的话,我只能说,师

Lora模型训练
一.简介
1.何为Ai绘画模型

训练模型的过程就是把样本进行一个降维,从图片最终降维成一串串数字的过程
2.什么是大模型

3.lora模型训练


举例

基于lora训练出来的图片特征去覆盖底膜当中的一些特征
二. lora模型训练核心参数

知识点:
- 参数背后逻辑
- 参数之间对于模型是怎么影响
- 核心参数
1.1步数相关
image
repeat:AI对每一张图片学习次数
epoch:训练了集里面的多少张图片一共训练多少步,这样一个循环就是一个epoch
batch size:同一时间去学习几张图片


注意:repeat参数不在参数表中设置,在train/下的文件夹名设定的
重要结论:对于lora模型甚至所有的模型训练,训练集的准备是重中之重,从根本决定是否能得到好的模型和未来生成图片的质量,它的泛用性到底好不好
什么是好的训练集?素材要充分,包括近景、中景和远景以及不同角度,从高像素中截取的训练数据细节更多
训练集中除去图片还有text的文本,文本放着对图片特征的描述


repeat、epoch参数详解:

决定步数的核心参数batch_size:

batch_size取决于显存大小
收敛:就是AI训练出的图片和你的原图到底有多像,越像收敛越好
建议:如果你要增加batchsize,想去得到更快的学习速度,那同时可能需要增加对应学习率
学习步数total accumulation steps:

1.2速率和质量相关的核心参数
unet lr(unet学习率)
text encoder lr、
optimizer(优化器):决定我们整个学习模型时候它对于学习率的调整的一种逻辑
Dim(网络维度)

learning_rate

dim:

一个网路维度,网格数字越大,它的网络维度越细,它所学习保留下来的图像特征就会精度精细度更大
目前主流把Dim设成128,我们会看到很多主流lord模型的大小都是144张

optimizer

三.实证数据
- repeat实证

- 多epoch VS 单轮次实证

多epoch得到更多的模型,得到好模型的概率越大

- 学习率实证
学习率降低,学的更慢了,训练时间增加,得到好的模型周期靠后(图中标记绿色地方),

新手参数建议:
实物细节更多
unet lr:如果发现loss下不去,就提高学习率,loss下的太低了,或者没有得到一个特别像的模型,就调整unet学习率

成熟lora参数参考实例



四.lora实操
目前主流训练工具两类:
ui和脚本
1.工作流

步骤1.素材处理:
1.1 裁剪成512*512或768*768或其它32倍数的分辨率
工具:
- sd中图像预处理

- 网站birme.net,缺点不能放大

- 美图秀秀

1.2 如何打tag
批量反推tag

手动调整tag

tag标准结构习惯:

tag标注非常重要的逻辑和注意点:

步骤2.设参训练


归档训练的模型数据

0.7-0.9的loss都是比较优
步骤3.xyz测试
sd的脚本xyz图标功能

模型放置目录有两种:
- lora模型目录
- additional-networks扩展目录



技巧:为了确认模型的泛化性如何,对一个tag比如银色头发设置权重为1,如果泛化性好,头发的颜色会根据提示词调整
生成xyz图片结果:

图中黄色头发都是泛化性不好的
炼丹小技巧:
1.如何通过DA优化器寻找最优学习率

参数设置:optimizer(优化器)选择DAdaptation;LR scheduler参数选择constant;LR warmup=0;unet learning rate=1;text encoder lr=0.5;learning rate=1


开始训练
点击start tensorbard检测学习率变化
恒定不变的值就是学习率最优值

再次调参训练

如果优化器选Lion,建议学习率unet learning rate为最优学习率的1/3

2.技巧二:loss值是个参考,更多的是xyz测试看实际模型效果,如果效果不是那么像,可让repeat数量更高一些

3.技巧三通过插件可附加网络(lora插件)查看成熟模型参数
4.技巧思 通常训练集文件夹命名规则:repeat+文件名,在分类归档训练特征
如训练真人模型,希望某个细节更加清晰或全身图出来时概率更低
