边摸鱼边炼丹。
底层原理听不懂,浅显道理容易误导。
建议炼丹时长两月半以下食用。
将训练模型比作做饭,将调参比作初始炖汤的水温\预定佐料,将其中练度比作爆炒的力度。
炼丹是很基于经验、尝试、实验的,并不代表通晓某知识就能出“仙丹”,也可能出“咸蛋”。
炼丹被很多人称为玄学。
玄学:指的是难以数学规律,自然规律,经验规律,被人轻易理解的事。
很多时候,咱们的数据集不一样:
如炼
真人——二次元——2.5D动漫——实物——风景———多概念
概念——动作——画风——风格——背景——服装——角色——人脸——表情包
鬼知道炼什么鬼哦,所以数据集不同,同参未必具有普遍适用性,问就是推荐默认跑一遍。
炼丹:训练模型,一般指训练lora。
lora:lycris,locon,loha本质都是lora,即大模型的低阶(秩)适应,相对大模型的微调。
打标:让文本与图像建立联系,文本与图像对齐特征,便于学习。
数据集:数据集<——图片\样本<——特征集\属性集<——特征。
训练:让机器学习特征。
有时,调参靠实验,优化数据集和打标可能更好。
超参数:在机器学习模型训练前由人为设定的参数,这称调参。
1.学习率:lr,步长。
太小不合适,太大的直接会炖糊\色块堆积。
2.批次大小\并行数量:bs,每批次处理的样本\图片数量。
bs调大会降低总迭代步数,一般会减少时间,bs&训练集足够大,1步1小时也可能的。
总步数不是恒稳的,而时间是恒稳的。
总步数:样本×rep×epo/bs。
提高bs:可能大概也许作用——>抹平差异特征+学习共有特征。
小样本不必大bs,大样本则可大。
一报告称,提高bs需提高lr。
3.练度:练度<——repeat+epochs。
4.repeat:rep,重复,模型在每个epoch内多次看到图片的次数。
提高作用:可能大概也许作用——>多概念平衡数据集+增强每个样本的特征学习记忆。
5.epochs:epo,纪元\轮次,按rep过一轮数据集,遍历数据集所有图片。
提高作用:可能大概也许作用——>学习共有特征+增强所有样本的特征学习记忆。
同参下试了:epo的提高比rep的提高容易过拟合(可能也许大概
6.过拟合:把训练集的特征记得太死,以至于不具有泛化性,忘记了之前会的(先验知识)。
一个叫"过拟合"的学生,月考嘎嘎猛,高考名落孙山,他就叫过拟合。
所以太像会容易过拟合,其实只要弹得动,轻微过拟合没事。
这并非一定是弊端,比如有些表情包大概是要练到过拟合的。
又像又弹得动,鱼和熊掌不一定兼得,毕竟lora可以降低权重,减轻效果。
7.炸炉\练烂:练烂是过拟合吗?答:练都练烂了,还过不过拟合,是,不是,它最好单独拿出来。
炼什么是什么(举例)
——>有人炼角色,调用1gril自带角色特征,很难出其它girl,只记得学的1girl,不记得其它1girl。
——>我自己炼画风,epo越后面,一样权重跑同seed图,未添加衣服词+(nude:1.5),越后面epo衣服残留越重,无法换装。
但是吧,画风一般不必要换装的把?
——>全是upper_body的图炼,结果很难出full_body的图,它忘记了之前的full_body,
但,还有close-up,比如大头表情包就是需要就是抑制全身,所以忘记就罢了。
8.正则化:防止过拟合——>防止忘记先验知识,防止过拟合同学只记得涩涩,而不记得考试要考什么了。
咋用?它不一定好用,所以未必要用。
——>炼1girl,正则集放其它girl。
——>炼up_body,防止忘记full_body,在正则集放full_body。
——>以此类推,我放些垃圾,那么他会不会变得"至臻完美、璞玉浑金"呢?
答:过拟合同学想起了要考试了,那他就能一定不名落孙山吗?说不定有用。
9.泛化性:对未知\新的输入响应良好。即为文生图,我理解为(lora)
——>在未知(未训练)(加触发词)的提示词(tag)的输入,响应良好。省流:好。
10.通用性:在24年3月份之前有三个倍受推崇的二次元系列XL。
a31,kohaku,pony.
与众不同的是三个XL,训练量都是M(百万)级。
所以微调量级是属于另起炉灶的,这三个系列训练的lora一般来说是不能够很有效的互相适配的,或者性能削弱\无效,省流:不咋通用,但不一定呢。
对于仨系列的lora,适合对应的专门专用,它不会如1.5那么通用。
原因简单:训练量巨大,以至于“跳出三界之外,不在五行之中”。
1.5的lora通用可以是泛用,但≠泛化,叫泛用性吧。
1.5的lora通用主要是1.5底膜基本由nai1或者1.5微调\训练\融合而来,而且微调量级一般不大,根据血缘关系远近lora通用性降低。
lora的泛化应该可以理解为出图好
——>我理解这是在(加触发词)配合未训练(未知)的提示词(tag)下也能出图不错\有效,省流:好就行。
11.鲁棒性:不丢失特征,稳定、靠谱。省流:棒。
12.还原度:以训练tag,测试还原。省流:像。
13.dim(rank):资讯\信息\参数的承载量,越大不一定越好,但小一定够妙。
——>我自己试了,大dim更容易拟合到画风,其余不知。
14.关于lora调用的触发词:训练可能会设置触发词,或者将训练标签里的高频词写成lora调用时的触发词,所以您可以看看作者的模型介绍,大多情况下,不写触发词,lora调用不容易有效,而不是lora不好。
15.关于loss
引入:“训练损失”,“测试损失“两个词。
明面上的值我称为“训练损失”,虽然可以通过查看loss曲线查看收敛情况,但loss值它真的真的很有用,它告诉不了一点是否过拟合、有没有炼烂、炼糊、练好。
至于好不好还得自己跑图测试靠自己评判“测试损失”,人们常用XYZ图表脚本。