在 AI 生成的浪潮中,Stable Diffusion (SD)模型配以 Lora(低秩自适应)算法,为创作者开辟了一条低成本、高效率的个性化模型定制路径。
相较于从头训练大型生成模型,Lora 通过在预训练模型的基础上进行轻量级微调,显著降低了计算资源的需求和时间成本。同时保持了生成内容的高质量与独特性。
由于Lora 模型的炼制流程较为复杂且涉及较多的概念。因此,我们将分为上下期来向大家介绍 Lora 模型的炼制流程。
本次我们将先介绍 Lora 模型炼制的前期准备、参数设置和打标签。
一般来说, 底模的炼制需要借助大约 10~20 万张相关的图片进行炼制。而借助相对成熟的底模则可大大降低炼制图片数量。且炼制方式和流程与线下炼制流程基本保持一致。
我们使用平台 Liblib.AI 的 Lora 模型,进行 SD-Lora 模型训练流程的一般化讲解。这不仅简化炼制方式、降低炼制成本且在细节上可以实现更好的私人化处理。
以下展示的就是 Liblib.AI 的 Lora 模型的展示界面。点击「训练我的 LoRA」 即可开始
Lora 模型训练前期准备,需要完成数据集准备、模式选择以及内容选择。
数据集准备:生成目标图片时,需要确定适合的模型系列(SD 1.5 或者 SDXL),并将参考图片裁剪为对应尺寸。
模式选择:在 Liblib·AI 的训练平台中,提供「自定义」,「XL」,「人像」,「ACG」,「画风」这四种模式。这四种模式在训练平台上会导致默认选择的底模不同,同时也在预览的提示词上也会有不同。四种基础模式也决定了炼制 Lora 模型需要的数据集图片数量。
我们综合估量各类训练平台的模式,实现相对精准的模型训练。总结出四类 Lora 模型所需的图片数量。所需数量展示如下:
- 自定义/SDXL(一般):15~30 张;
- 人像(Character):10~50 张;
- 画风(Style):100~4000 张(在线炼制平台一般支持的上限是 2000 张);
- 概念(Concept):50~2000 张。
其中,Liblib·AI 中 ACG 模式所需图片数量与画风(Style)一致。
内容选择:训练 Lora 模型时,需要确定训练所需的参考图。其中需要考虑关于主体物不同维度的选择:
不同角度;不同表情姿势;不同光线场景;高清图片。
以人像为例,在图片选择的时候,需要采用:
- 不同的面部表情;
- 不同的服装;
- 不同的姿态;
- 不同的手的造型(如果有必要的话, 可以增加专门手的图片)。
在 Liblib·AI 平台中,参数设置分为三个部分:底模选择,参数选择,模型效果预览提示词。
底模选择:Lora 模型的炼制需要借助对应的大模型(checkpoint),即底模。目前的底模大体上可以分为 SD1.5 和 SDXL 两个系列,目前虽然 SD3 已经上线, 但其他配套的模型尚未成熟,故不在本次的介绍范围之内。
而 SD1.5 和 SDXL 这两个系列的区别目前仅在与生成图片的效果, 一般来说 SDXL 系列的模型生成效果会更好。但是 SD1.5 系列的 Lora 模型适配的相关插件会更加全面。
以生成 3D 图标的 Lora 模型为例,目前线上专注于 3D Icon 的底模一般采用 BDicon 和 DDicon 这两个模型,如下所示:
当然,不是所有的主题都能找到对应的底模。如果没有完全对应的底模的话,可以使用基础模型,即 SD1.5 基础模型和 SDXL 基础模型。
参数选择:相关参数分为基础参数和高级参数,大部分时候只需要调整基础参数的单张次数「Repeat」 和 循环轮次「Epoch」就能获得很不错的效果。重复率越高,人工智能就能更好的读懂图片,但实训中,重复过高会导致过拟合,也就是学习过头,对图片认知固化,失去发散的能力。且需要更高的算力,更多时间。 相关参数的调整规则如下:
- Repeat 重复常规建议训练参数:10-15
- Epoch 常规建议训练参数:10-15
模型效果预览提示词:在模型训练时,选择准确的提示词能达到事半功倍的效果。我们通常选择相对简单的预期效果的正向提示词(Prompt),因为这里的提示词生成的预览图的效果基本会和模型的训练效果相关。
一般来说,预览效果和数据集的特征一致,且样式正常,可以做为 Lora 模型的训练成功的标准之一。
在用户上传训练模型所需图片之后,需要设置裁剪方式、裁剪尺寸、打标算法、打标阈值和模型触发词。裁剪方式和打标阈值采用默认即可。
- 裁剪方式:按需选择;
- 裁剪尺寸:按照模型对应图片尺寸设定;
- 打标阈值:可选择默认值。
在 LoRA 炼制过程中,模型触发词的编写非常重要。模型触发词是指在训练或使用 LoRA 模型时,用于激活或控制模型行为的关键词或短语。这些触发词在模型训练过程中起着关键作用,能够帮助模型更好地理解和生成特定内容。
例如,在 Stable Diffusion 模型中,触发词如“full body, chibi”可以激活特定的 Lora 效果,从而生成相应的图像。如果使用不当,可能会导致模型无法正确响应,从而影响最终的效果。
1. 触发词的编写方法
打标签的时候会以触发词为开头,其余的部分根据图片中的元素特征来分别标注。
① 使用不存在的单词:
在编写触发词时,建议使用一个目前不存在的单词,这样可以避免与现有词汇冲突,从而确保模型的正确响应。
② 结合具体场景:
触发词最好结合具体的使用场景和需求来编写,确保模型能够准确理解并执行相应的操作。例如,在生成特定风格的图像时,可以使用描述该风格的触发词。
③ 避免常见词汇:
触发词应避免使用常见的词汇,以免与模型的默认设置或已有功能冲突,影响模型的响应效果(建议拼音或缩写)。
2. 打标签注意点:
① 标注目标与原则:
明确标注:标注者专注于为图像中可变的、受外部条件影响的特征打标签,如本例中的 “衣服特征”,因为这些特征是模型需要学习以区分不同情境下的同一对象的关键。
不标注固有特征:对于对象自身固有的、不变的特征,如“plum”(假设这是一个虚构人物 或角色)的“棕色头发”和“短发”,这些是该对象的独有身份标识,它们不随环境或情境变 化,模型应该在学习过程中自动关联这些特征与特定触发词(如“plu”)。
② 模型学习目标:
学会关联触发词与固有特征:模型应当通过训练学会,当遇到“plu”这样的触发词时,自动 联想并识别出“plum”具有的固有特征,如“棕色”和“短发”。
排除非固有特征:通过不标注这些固有特征,模型被引导去理解“plu”不可能对应到“黑色 长发”或其他不符合“plum”身份的发型,即“plu”等同于“棕色短发”等特定特征集合。
③ 训练黄金法则:
未标注即内在独有特:如果某个特征没有被特意作为标签给出,那么模型应当视其为对象的不可变属性,是模型应当通过学习自行关联到触发词的身份标识。
完成上述步骤后点击「开始训练」,即可开始模型训练。
怎么来评价一个 lora 模型炼制的好坏呢?
从个人角度来看,生出来的图像能够满足自己的预期就是好的 lora 模型,好的模型能够适应多种任务和场景,具有较高的多用途性和兼容性。
当然也可以从客观的角度,观察在炼制过程中的 loss 值,一个好的模型的 Loss 值应当呈现一个较为平滑的下降曲线。但 Loss 值并不是唯一的评价标准,还需要结合其他指标和实际效果来综合评价。
本次分享内容是训练一个高质量的 SD-Lora 模型的核心。但这只是开始。接下来我们将深入探讨模型训练的其他参数对训练结果的影响,以及模型的调优技巧,敬请期待!
复制本文链接 文章为作者独立观点不代表优设网立场,未经允许不得转载。
发评论!每天赢奖品
点击 登录 后,在评论区留言,系统会随机派送奖品
2012年成立至今,是国内备受欢迎的设计师平台,提供奖品赞助 联系我们
MG动画设计与制作
已累计诞生 653 位幸运星
发表评论 已发布3条
↓ 下方为您推荐了一些精彩有趣的文章热评 ↓