深度解析丨StableDiffusion中的lora模型训练流程

Recommanded by editor
深圳/学生/1年前/7380浏览
深度解析丨StableDiffusion中的lora模型训练流程Recommanded by editor

lora训练中的IP形象训练流程分享

大家好,有很长一段时间没有更新,打算去分享一下我这段时间学习的成果,希望能给准备学或者将要学的朋友问一些初步了解吧 。

关于stable diffusion lora模型训练工作流。主要从下面5个部分讲。

  1. lora 训练基本概念
  2. lora 训练实操步骤
  3. 个人lora作品展示
  4. 总结规律


lora 训练基本概念

研究过AI生成图片的基本原理会发现, 我们每一次输入关键词,写tag的时候,AI给出来的图都是从模糊到清晰,如图所示。

图片生成:model , 文本——算法——图片【训练集】

模型生成:训练集—文本 —— 算法——模型

所以说我们要让AI生成我们想要的图,就得让他认识我们IP,就是让训练集,文本匹配图像,相互映射关系,然后录入底层模型,通过程序算法录入,过程就是不断加噪声,直到变成模型。

模型主要分两大类型:主模型和辅模型。

  • 大模型2G以上,一般训练的时间长,更注重随机性,训练起来不算便利,适合概念,类似于midjourney,niji journey 机器人。
  • 小模型分为lora,36M-144M,适合单一概念训练,稳定抽象角色特征,训练某一种画风,或者是某类元素,电商场景,摄影模特,淘宝产品。

所以对于lora, 我是这么理解的,他就是对单一概念的训练,适合微调作用。

为什么要学lora ?

  1. 因为比较简单,设备要求不高,显存12G的3060都可以训练。
  2. 因为确实是降本增效。

也是种种契机,在刚开始学的时候,我看到小红书上有很多做的很不错的ip形象lora,让我萌生一个想法就是,这玩意真的太高效了,随便输入几个关键词,就可以把自己的IP形象,动作和场景一起出了,非常快,而且也是有更多可能性。。

lora训练步骤:

  1. 训练集, 处理图片+打标。
  2. 模型训练,训练参数设置。
  3. 模型检测,模型评估。
  4. 模型优化 。
  5. 不断的出图验证 ,结合业务应用


1. 训练集处理

筛选图片的要求:

1.尽量不要带有LOGO icon标识。

2.干净,元素清晰

3.场景多找你想要出图画风类似的,还有如果是IP,白底,3D没有可以P上去。

图片处理:

  • 512X768,64的倍数。
  • 统一尺寸,统一格式。
  • 清晰保留细节。

处理图片

寻找合适的训练集:

  • 网上素材,(具体就不分享哪个网站了,这个太多了。)
  • 动画视频中找到图片进行 风格化处理。
  • 平面转3d。

工具推荐:

clipdrop 适合去除不要的细节。

https://clipdrop.co/cleanup

birme适合批量处理尺寸(或者PS批动作也可):

https://www.birme.net/?target_width=768&target_height=1152

upscayl - 放大修高清图片,可以批量处理放大图片。

处理完,然后进入打标:

批量打标:

给训练集批量打标,用SD插件wd14-tagger-master,批处理打标。

dataset-tag-editor,逐个检查,概括要点,一是自然语言+关键词描述,两个相互结合,要把画面中出现的元素都打上,且那想让AI记住什么,就不要去打那个关键词,例如熊本熊黑色红色腮红,那些特征性的东西不要去打。

加触发词,我发现有的教程说可以不加,但是我发现固定IP 的话,加上等于触发,没尝试过不加,但是我都会加上。

tengxunqq\(ip\),触发词+tag。

打标处理图片,这部分其实是最重要的,过了这部分后面就简单了。


2.模型训练

训练器参数设置,其实秋叶大佬把参数写的很清楚,但是对我这种美术生来说真的对概念一窍不通,通过自己结合一些老师讲的视频,我总结了下概念。

我基本都是默认设置,通过跑了一次之后就会去找原因调参数,我有尝试每次去调参数,实践证明影响最大的是epoch和repeat, repeat 一旦10就发现IP形象固定不住,形象跑型,一旦上了20又发现非常拟合,出来基本跟训练集一模一样。

还有dim128效果还是不错的,配合alpha 64, 以上是我个人浅薄理解,不代表正确,有错误,也希望大家批评指正。

训练器有很多版本,网上看了赛博炼丹和秋叶比较适合新手,其他还没试过, 还有就是云端炼丹,我也尝试了autoDL 发现(真的贵)其实操作也差不多,训练集传上去,参数调调就开始训练,训练时长一般跟步数有关系,也跟显卡有关系。

3060 12G 用了9个小时训练3W步数。而4090用了两个半小时。

3.模型检测

这也是花费时间最多的一个步骤,这个步骤也总结了方法论。

先用XYZ把20轮的编号模型都跑一遍,从而找到比较合适的编号图。

以腾讯QQ这个LORA为例。

XYZ测试:

xyz替换 prompt S/R

num,000006,000008,000010,000012,000014,000016,000018,000020,

strength,0.5,0.6,0.7,0.8,

000002,000004,一般不测试,效果都不太好,然后权重0.1-0.4 0.9也不是很好。

注意后面逗号一般不加,会导致SD错误。

挑选合适的编号,一般1-2个,然后测试不同底模,这块通过不同的底模找到出图效果最好的那个底模,写在本子上。

我的习惯是记录有道云笔记本,还有飞书文档,我发现飞书很少打开,所以目前都是记录在有道云实时打开会看一下之前训练的参数。

应用验证:

我目前的话也是训练好的参数就尝试去除一些自己想出的图,然后就想办法把他变成系列作品,排版,因为练的是鹅厂IP ,所以在此仅仅作为AICG学习个人练习交流使用,但是出图也是尽可能去做到尽善尽美。。

接下来展示我个人的作品:

当然如果第一炉跑的模型检测不是很满意,一般就会总结问题,重新优化训练集,再进行下一轮的训练,如此往复,所以我经历了7炉,我感觉还是第5炉的效果最好,哈哈,后面的人物IP没有很好固定,应该是dim的问题。

(写给新手)训练时候踩过的坑:

  • 训练集打标时候,单个IP头部训练记得加upper body ,或者加头。
  • 单独IP没有问题,可以尝试 减少IP场景的关键词,慢慢加入关键词,以达到要求, 训练集场景放一起。
  • 如果是SD本体跑图出现float问题,再秋叶控制台上打开float解决,或者看看是不是内存不足,显存不足。

个人总结:

总的来说,结果是好的。

1.有一点感触特别深就是,不管做什么决策,首先不要看当下,先想象自己学完之后,是一个怎么样的人,如果说学完能让你变成的那个人,是你自己想成为的那个人,那么为什么要在乎当下别人的眼光或者一些看似吃亏的行为。

2.学归学,光学不练,就会像艾兵浩斯记忆曲线一样,时间越长,越容易忘记,一定要输出,不要一直往前冲,而学一阵子,就要回顾,总结到自己的体系中。

3.还有一点,就是多会一门技能,多一个解题思路,思维层面,现在我会发现会lora训练的话,我会以训练集的角度,做绘画练习会考虑更多元一些,还有诸多感触,这些后面有机会慢慢展开讲吧。。

179
Report
|
432
Share
评论
in to comment
Add emoji
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
Log in