本帖最后由 1849160110 于 2024-2-11 16:09 编辑
声明:本帖仅作为一个AI绘图爱好者的入门级建议,所有资源皆来自于网络。请尊重原作者特别是为AI绘画提供原数据的画师们的辛勤劳动,毕竟没他们的作品,那就连赛博丹药都没得炼。 所有读者的个人行为以及行为后果皆与本文及本文作者无关~
各位潭友们大家好哇~本期是系列教程的第三期~楼主出差回来其实有一阵了,但是一直被各种事情缠身(是的,各种,但就是没有男人缠哭泣哈哈哈哈),刚好今天大年初二,不用走亲戚,所以一早就开始写教程第三期也是最后一期~前两期细说了SD本地平台搭载的一些基础,以及Tags的基本写法,有需要的请看上期教程哈,也提醒看本期教程的友友,先掌握前两期基础,再看本期会比较好。
另外这里先更正一个用词方面的习惯,很多友友管AI绘图叫“炼丹”,这个嘛。。。哈哈哈也不知道谁起的头,其实所谓“炼丹”本意指的是本期要讲的LoRA的自行制备以及之前提到的底模的训练,因为需要把一堆“原材料”的图丢进脚本里,训练几十到几千epochs,很像道家炼丹的过程,而不少友友说的炼丹,只是出图跑图而已,随便用比较容易造成误会,所以用什么说法自行斟酌哈(比如楼主每次看见炼丹就跑进去找LoRA链接,结果发现只有几张图而已)~
—————————————正文开始—————————————
如前所说,本期将从两个方面讲下不少友友都很感兴趣的LoRA。所谓LoRA,是Low-Rank Adaptation Models的简写(低秩自适应模型),相比底模这种根源级别的大数据集,LoRA的特色就在于使用少量的数据集形成的这个models能巧妙地微调跑图过程中的内在流程,简单说就是在成图的关键部分进行干预调整,这样就起到了四两拨千斤的效果~(详细的内在机制可以参考秋叶大佬的B站内容,这里就不在赘述~)
0.在展开讲LoRA之前,先要说明使用LoRA的几个原则性问题: ①LoRA并不是万能的,底模+LoRA才是王道,底模里没有的东西,用LoRA硬加上去不仅效果差,还会严重影响出图质量,不要迷信; ②LoRA的训练依赖对应底模,选对配对,事半功倍如果跑图发现LoRA起不到应有效果,换个底模说不定会更好,也建议查看下原作者对适配底模的推荐; ③因为LoRA的用途,绝大多数LoRA都是有明确分化性的,简单说就是针对某个角色的LoRA占比是绝大多数的,这里楼主个人建议:你喜欢某个角色人物这很好,但跑图后发出来时还请三思,一些敏感的、特殊的图,特别涉及到真人的,可能还是自己收藏来得好,包括自己训练的LoRA。具体原因想来都懂,技术这东西就是双刃剑。这也算所谓的“业界规矩”了,君子,有所为而有所不为。
LoRA的使用很简单,对于本地搭载了秋叶大佬整合包的友友,只用下载LoRA后,放在整合包文件夹下models\Lora文件夹内即可(没有的自己建一个就行),使用时点开绘图界面“Lora”选项卡,再点击对应Lora图标即可,这时Tags的输入栏里会出现<lora:XXX:1>这种形式的字符,这样LoRA就算选择成功了,再进行跑图就能起到微调的作用。 以下图为例(是的,又是楼主的XP哈哈哈哈),可以看到我所使用的与袜子相关的这个LoRA,极大增加了成图时袜子的真实性与细节,但同样的,也对画面产生了一定的影响变化。同样的,本期的镇楼图也是使用了中国龙有关的LoRA,大多数底模中对Dragon这个tag的还原都是西方龙的形象。由此可对LoRA的作用有一个简单的认识~ 不过想来大多数潭友用LoRA其实目的都不是为了画袜子画龙吧233333~肌肉体态这方面底模自己就还原的很好,所以可能更多潭友想去使用LoRA是为了自己的Furry老公和老公的吉尔~牟闷提啊~LoRA满足你的愿望啊~以楼主个人最常用的C站为例,上去搜索你个人老公的关键词,就能找到不少对应的LoRA,将其组合起来使用即可(如图所示)。此外,如果某个底模的画风你很喜欢,但还原吉尔不太好,也可以用LoRA来帮忙(前提是这个底模不能是清水SFW向的,这种底模训练时就没有对应的吉尔数据),也能起到事半功倍的效果。
1.根据LoRA的作用,楼主个人将LoRA分为三大类: ①角色类:这类LoRA占了绝大多数,基本都是二次元或现实人物的微调模型,潭友们的老公LoRA就属于这类之所以推荐C站也是因为这类模型C站最为全面,除非你的XP老公太过于小众,不然C站上基本都会有覆盖。另外,楼主个人将一些诸如龙、虎、犬等非主要角色的配角个体类LoRA也归到此分类下,比如镇楼图用到的中国龙LoRA; ②场景类:这类LoRA也是日常跑图很重要的一类LoRA,包括但不限于画风、笔触类型、光影效果、特定场景区域等。比如本期镇楼图和附件里的图,就用到了水墨风格的场景类LoRA,以配合底模的厚涂风格达到中国风效果(这类LoRA在跑一些特殊XP图时候有奇效233333); ③工具类:这类LoRA很少,一般C站上标注XX slider的就属于这类,这类LoRA的作用在于对某特定内容的较大程度微调(不是病句,指的是微调的程度比一般LoRA大)。LoRA的微调程度就是<lora:XXX:1>中最后的这个数字,一般极限都在±1.5以内,常用区间都在±1以内,甚至有的LoRA调整到±0.5以上就出现了画风明显改变、锐化过度甚至鬼畜的情况,而这类工具类LoRA在训练时进行了对应调整,微调程度可以达到±8左右,对于一些特殊内容跑图很有用。 此外,一些LoRA在训练时作者为了使其更好发挥作用,加了一个所谓“提示词”的机制,可以简单理解成开关,Tags中加入这个提示词,就能大大唤醒对应LoRA使其发挥作用。这些提示词和一般的Tags一样占据tokens,也同样享受加权,在LoRA的下载界面一般都会有写。 这里再附赠一个小Tips,有些友友可能跑图已经有一定水平了,喜欢多个LoRA联用出图,如果使用LoRA在7个及以上时,除了单个LoRA的微调程度数值要注意外,所有LoRA的微调程度数值总和也要注意,一般以不超过6为宜(楼主个人经验,部分底模很耐造,可以适当提高此数值),不然也容易出现锐化过度等情况(能用底模自行解决的出图元素就尽可能不要用LoRA)。
————————————分割线——————————— 2.LoRA的自行训练 接下来说说LoRA的第二部分教程,也是一些动手能力强的友友想尝试的内容:炼小丹——LoRA的自行训练~毕竟每个人的XP不同,老公的LoRA无人分享发布是很常见的事,或者像楼主这种,有的XP极其小众且18G+,没有对应的LoRA可用怎么办?那就自己造呗~ 这里先说下,有条件炼大丹、也会炼的友友,最好还是从大丹——底模下手,数据集的信息量决定了AI绘画的一切,以楼主很爱用的底模maturemalemix为例,这个底模之所以擅长Homo向人物绘画的原因就是底模训练时使用了大量的对应图像,可以理解为“从小就专门画大肌肌帅哥的专业画师”,同样这个底模不擅长画眼睛和鼻子等面部细节的问题也来自于此。这也是为什么SDXL比SD1.5绘图在细节等方面要好很多的原因(数据集在量方面的碾压会带来一定程度的质变)。 当然对于绝大多数友友来说,炼一个finetune这种大丹太费时费力(3080ti的12G显存在batch size=1的情况下,只能达到10000items/h左右的训练量,对于一般的人物类的底模需要训练至少5小时还只是个起步),而相比之下LoRA就快的多的多得多(需要的数据量也就是原图少,训练时间短,一般1-2小时就能出一个很不错的成品)。 LoRA的训练媒介,依旧来自于秋叶大佬的另一个整合包“lora scripts”,整体使用界面和流程和SD整合包很像,不多做赘述,这里按照训练过程就其中一些需要注意的地方做个强调与讲解(别进错界面了,记得进新手那个地方): ①原材料准备:准备好你想要充当素材的图片,格式统一成PNG为宜(格式工厂就能统一转换),然后重点来了——裁剪。大家的图基本都是网络上下载的,大小不一,这种图直接扔炉子里炼丹也不是不行,但成品效果会打折扣。建议友友们用软件自行裁剪成统一大小,一般纵长图以768*512、方图768*768、横长图512*768分辨率为宜(当然你要换别的分辨率也行,但必须是64的整数倍)。图片质量以清晰为宜,尽可能不要有黑白图,人物类最好有正侧背三个角度的不同图像,图像里最好不要有曝光度过高或过低的图,另外AI跑出来的图也并不是太适合用来当材料(以上都是为了LoRA的质量)。图像数量方面,角色类LoRA30-40张即可,画风类LoRA数量翻倍即可。不要过多,多了会炸炉,炼出来的丹糊的没法用2333333; ②打标:众所周知AI绘是要写Tags的,而炼制LoRA打标的过程就是加入对应Tags。当然,打标这不并不是刚需,有的LoRA你会发现没有触发词等等,其实就是省略了打标这一步。但除了画风或工具类等这类LoRA,还是建议大多数LoRA进行打标操作,能大大增强LoRA的泛化性和拟合度(也就是起作用程度)。打标的工具依旧是LoRA训练整合包里附带的WD1.4标签器,点点点即可; ③转移:所有拿来炼丹的原图裁剪打标完成后,就可以整体复制到训练集文件夹\train下了。复制过去后要注意一下,整个训练数据集(也就是你要炼的那些图)文件夹名要改成“数字_XX”的形式,例如“6_bara”,这个数字写6、8、10三选一均可(原理就不解释了23333懒~); ④调整参数:LoRA训练界面的参数非常多,经楼主长期测试之后得到的经验就是——没事儿别动参数233333~秋叶大佬的整合包里默认参数已经近乎于最优解了。个别需要调整的地方如下: A.底模文件路径:LoRA训练是要适配底模的,自用的LoRA选择你最常用最爱用最想用的那个底模就行,如果是要发布的最好选择爷爷级别的底模,增强泛用性。所谓爷爷级别,就是发布时间很早的底模,这类底模没有经他人整合、再熔炼,炼丹的泛用性好; B.训练图片分辨率:炼丹的原图什么分辨率,这里就填什么分辨率。个人喜好填纵长图或横长图的分辨率,感觉比方图分辨率炼出来的要好用点; C.每N epoch(轮)自动保存一次模型:这个根据你炼丹的轮数修改,一般填1-3的数值即可,因为炼丹的机制问题,并不是最终炼出来的丹就是最好的丹,可能中间某个丹反而是最优解,多保存没坏处; D.最大训练 epoch(轮数)和批量大小:轮数以10-20为宜,批量大小填写1-3,绝对不是越大越好,见过有的人LoRA炼丹一下就几百轮的,又不是训练底模,火化呢么这是。。。出的丹都明显过拟合了,还觉得自己炼的好。。。 E.其余参数就不要动了,点击“开始训练”即可~ ⑤筛选:完成训练后,工作还没完成,在\output文件夹下会有多个标着数字的文件,全部或部分复制到SD绘图的Lora文件夹下,开始测试这些LoRA哪一个是最优解。一般来说最终的LoRA(不带数字的那个)是最优的版本,但由于炼丹时原材料的数量、质量、参数设置、显卡等不同,也建议多试试其他数字的版本,选择自己最喜欢的一个即可(特别是画风类LoRA,毕竟见仁见智的事情)。
好啦本期的教学就此结束~关于这部分再多的内容潭友们自行百度学习。整个分为三期的AI绘图入门级建议也介绍完毕~完结撒花~ 最后,依旧例行放几张自己跑的图,龙年自然是龙的主题~也顺道拜个年~祝各位友友 龙年大吉 ~ 龙运昌盛 ~ 龙马精神 ~(各位潭友愿意的话也请多给些堕落追随啥的都行~) |