Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

前言: 在我们绘图过程中我们用到了 Checkpoint 模型和 VAE 模型,但是还有另外三种可以辅助我们出图的模型没有给大家介绍,他们分别是 Embeddings(嵌入)、Lora(低秩适应模型)、Hypernetwork(超网络)这三种模型; 在开始讲解这三个模型之前我们一定要记住不止 Checkpoint(大模型)分 SD1.4、SD1.5、SDXL1.0 等基础算法型号,这三个模型同样也分,我们在运用时要采用对应基础算法型号才能正常运用。 今天我们就讲讲这三种模型分别是什么道理、有什么作用和怎么使 用。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

前言:

在我们绘图过程中我们用到了 Checkpoint 模型和 VAE 模型,但是还有另外三种可以辅助我们出图的模型没有给大家介绍,他们分别是 Embeddings(嵌入)、Lora(低秩适应模型)、Hypernetwork(超网络)这三种模型;

在开始讲解这三个模型之前我们一定要记住不止 Checkpoint(大模型)分 SD1.4、SD1.5、SDXL1.0 等基础算法型号,这三个模型同样也分,我们在运用时要采用对应基础算法型号才能正常运用。

今天我们就讲讲这三种模型分别是什么道理、有什么作用和怎么使 用。

往期文章:

一、Embeddings

1. 道理介绍(如果只想知道怎么运用可以跳过道理介绍这段):

①Embeddings 翻译成中文就是“嵌入”,他在深度学习领域通常指的是“嵌入式向量”,这些向量是高维空间中的点,能够代表输出数据(如文本或图像)的关键特色。

②我们输出的关键词能被识别,正是因为 Text Encoder 将自然语意的 Prompt 转成了数值向量,这些数值向量他们不仅包含数值信息,还包含数据之间的关系和结构信息。

③想象一下,你正在向别人描述独角兽长什么样,你可能会说‘它像马,有白色的毛发,前额上有一只角’。即使对方从未见过独角兽,通过这些关键描述,他们也能在脑海中形成一个独角兽的形象。在深度学习中,Embeddings 模型的作用类似于这种描述。当我们给计算机系统输出一个词,比如‘独角兽’,Embeddings 模型会生成一个数值向量,这个向量包含了与‘独角兽’相关的所有关键特色。这样,即使计算机系统‘没见过’独角兽,它也能通过这个向量理解‘独角兽’这个是什么。

④通过上面的例子可以看出他只是在描述什么是“独角兽”,并将其转换成一种数值表示形式,并不直接参与绘画。所以他没有改变大模型的权重参数,也就只能用来固定元素或画面特色,这也是他的局限性。

2. 安装位置:

①我们在部份模型下载网站很有可能看不到 Embeddings 模型,但是他会以 Textual Inversion(文本倒置)这个名字出现,他们是同一个东西(下图是 C 站和 LibLib 的筛选框)。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

②模型存放位置在“ComfyUI_windows_portable\ComfyUI\models\embeddings”名目下,如果你是和 Web UI 共用的模型,那就放在“sd-webui\embeddings”名目下。

3. 作用及如何运用:

①此模型通常用来嵌入元素特色(比如人物特色)、负面信息(用来减少图的崩坏几率)

②运用 Embeddings 模型我们只需要在提示词输出框输出他的“触发词”就可以,一般我们在下载模型的时候会看到作者给出的触发词。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

③是不是输出触发词比较麻烦,我们需要记住每个模型的触发词。我们可以通过一个插件去采用 Embeddings 模型,还记得我第一节课给大家推荐的“小瑞士军刀美化辅助(ComfyUI-Custom-Scripts)”插件吗,在输出框输出“embeddings”中的任意一个字母或“模型名称的任意一个字母”即可在弹窗中采用模型,并且点击模型右侧的“ℹ️”还可以查看模型的相关信息及 C 站跳转链接。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

④我们用《电锯人》中 Makima 的 Embeddings 模型来对比一下不运用和运用的动机(相同关键词和种子下,上/左图:未运用,下/右图:运用)

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑤很明显的看出下面这张图带有 Makima 的特色,当然和真正的 Makima 还是有一定区别的,要想让图像更加符合人物特色还是要用 Lora 模型。

⑥我们用的最多的还是用来解决 AI 不会画手或肢体错乱,颜色混杂等痛点,这时候就有大佬整合一些 AI 画错了的图像(比如:六指,畸形的图像,三条腿……),训练成了 Embeddings 模型也叫 Negative Embeddings(负面词嵌入)模型,我们只需要把他输出到负向关键词里面,在绘图时让他禁止绘制此类案例就可以了。

⑦常用的 Negative Embeddings(负面词嵌入)模型:

a. SD1.5:badhandv4、EasyNegative、ng_deepnegative_v1_75t

b. SDXL1.0:unaestheticXL_AYv1

⑧我们来看一下动机(相同关键词和种子下,上图:未运用,下图:运用),我们很明显的看出有一定的动机

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑨当然加了 Embeddings 也并不意味着就能解决这些问题,它只是提高了生成好图片的概率,但是总比不加时动机好了很多。

⑩在运用 Embeddings 模型时,我们可以多个 Embeddings 模型 进行组合运用,会让我们得到意想不到的动机;

⑪常用的 Embeddings 模型我也会放在本节课的文件里面,比如对年龄、性别的控制模型。

二、Lora

1. 道理介绍(如果只想知道怎么运用可以跳过道理介绍这段):

①LoRA:Low-Rank Adaptation Models(低秩适应模型),他的核心思想是在不显著改变原有模型结构的情况下,通过添加一些额外的、低秩(即简化的)矩阵来调整模型的权重,从而提升模型的性能或适应性。

②在微调 Stable Diffusion 模型的情况下,相较于大模型的 Dreambooth(训练方法,输出 Checkpoint 模型)的全面微调模型方法,Lora 的训练参数可以减少很多倍,对硬件性能的要求也降低很多。

③想象一下你有一辆车,这辆车已经可以满足你的日常需求,比如上班通勤。但有一天,你决定参加一场越野赛车比赛。你知道你的车在原有状态下无法应对越野赛的挑战,但你也不想换一辆新车。这时,你可以采用对你的车进行一些改装,比如换上越野轮胎、增强悬挂系统,这样你的车就能适应越野赛的环境。

④在这个例子中,你的原始车辆就像是一个已经训练好的神经网络模型,它在大多数情况下都能很好地工作。然而,当面对新的或特殊的任务(比如越野赛)时,它可能需要一些调整才能更好地适应。LoRA(Low-Rank Adaptation)模型的作用就像是对车辆进行的这些特定改装。通过在原有模型上添加低秩矩阵(相当于对车辆的特定部分进行改装),我们可以使模型更好地适应新的任务,而不需要完全重新设计或训练一个新模型。

2. 安装位置:

模型存放位置在“ComfyUI_windows_portable\ComfyUI\models\loras”名目下,如果你是和 Web UI 共用的模型,那就放在“sd-webui\models\Lora”名目下。

3. 作用及如何运用:

①通常 Lora 模型用来指定目标特色(比如:人物、动作、年龄、服装、材质、视角、风格等);

②在运用上比较简单,“右键-新建节点-加载器-LoRA 加载器”;

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

③看到这个节点我们应该能猜到怎么不断吧,左侧的“模型/CLIP”和“Checkpoint 加载器”不断,右侧的“模型/CLIP”分别和“K 采样器”、“CLIP 文本编码器”不断。

④这时候我们会发现个问题,有两个“CLIP 文本编码器”(正向和负向)啊,我们连哪个,还是都连。经过测试只对正向关键词有动机,也就是说,我们可以两个都不断,也可以只连正向关键词对应的“CLIP 文本编码器”。

⑤我们采用个 Lora 模型 试一下动机,我以原神中的角色 芭芭拉 为例:

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑥是不是知道怎么运用了,但是我们在 Web UI 上可以设置 Lora 模型 的权重和运用多个 Lora 模型对吧,一个个来说,我们先说怎么设置权重;

⑦在“LoRA 加载器”节点上除了采用模型外是不是还有两个可以设置参数的地方,模型强度、CLIP 强度。至于我们设置哪个参数能达到控制权重的动机,完全取决于模型的训练方式。所以我们在不知道受哪个参数影响的情况下,我们可以对两个参数都进行调节,而 Web UI 上是把两个参数整合在一起了。

⑧至于多个 Lora 模型那就更简单了,我们在这个“LoRa 模型加载器”后面再连一个就可以了;

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑨是不是已经学会了怎么运用 Lora 模型了,但是我们运用多个 Lora 模型 的时候就会让流程图更复杂、更乱,调节权重也比较麻烦,我们可以运用一个插件帮我们解决。

⑩efficiency-nodes-comfyui(效益节点): https://github.com/jags111/efficiency-nodes-comfyui.git

⑪我们先看一下怎么运用,直接把三个节点都加载出来“右键-新建节点-效益节点-堆栈- LoRA 堆”、“右键-新建节点-效益节点-效益加载器”、“右键-新建节点-效益节点-采样-K 采样器(效益)”。

⑫先看“LoRA 堆”节点我们可以看到有三类可调节的地方;

a. 输出模式:和控制权重有关,在这个节点我们可以通过调节一个参数就能控制权重了,如果我们把输出模式改为高级,Lora 权重就会分成模型强度、CLIP 强度;

b. Lora 数量:用来调节我们运用几个 Lora 模型的,当前数值是 3,我们就有三个 Lora 可选;

c. Lora 采用和权重就不用说了吧。

⑬效益加载器,我们需要操作的地方有:大模型采用、VAE 模型采用、Lora 模型(不运用选无,如果只运用一个就可以在这个节点采用,多个情况下就运用我们上面说的 Lora 堆节点)、正反提示词、宽高、批次;

⑭K 采样器基本上一样,没什么大的区别。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑮是不是在这三个节点上就很明显的看出减少了很多的不断,我还是以芭芭拉和冰箱贴纸两个 Lora 为例进行不断;

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

⑯是不是简单了很多,这个插件可不止用来帮我们解决 Lora 模型的不断的问题,他能帮我们简化很多节点的不断,包括我们下节课要讲的多个 ControlNet 运用,也能减少不断步骤。

三、Hypernetwork

1. 道理介绍(如果只想知道怎么运用可以跳过道理介绍这段):

①这个,,,现在用的很少了,我们简单说一下。Hypernetwork 也叫超网络,他的道理是在扩散模型的基础上新建一个神经网络来调整模型参数,就是因为这个原因才叫做超网络模型。

②他在动机上和 Lora 类似,但是因为训练难度大,应用范围小,所以逐渐被 Lora 替代。

2. 安装位置

模型存放位置在“ComfyUI_windows_portable\ComfyUI\models\hypernetworks”名目下,如果你是和 Web UI 共用的模型,那就放在“sd-webui\models\hypernetworks”名目下。

3. 作用及如何运用:

①大多用来控制图像风格;

②在运用上他和 Lora 有些类似,“右键-新建节点-加载器-超网络加载器”;

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

③可以看到,“超网络加载器”相比“LoRa 加载器”少了 CLIP 的不断,我们只把他串联在“Checkpoint 加载器”和“K 采样器”之间就可以。

④下面我运用一个 Chibi 风格(日语中翻译为小矮子、小家伙)的超网络模型演示一下(相同关键词和种子下,上/左图:未运用,下/右图:运用)。

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

Stable Diffusion ComfyUI 基础教程(七)如何运用三大微调模型:Embeddings、Lora、Hypernetwork

总结

给TA打赏
共{{data.count}}人
人已打赏
应用

上海人工智能实验室团队开发具有多核光纤单元扭转功能的AI启动投影断层扫描

2024-1-16 18:51:00

应用

机器人领域首个开源视觉-谈话操纵大模型,RoboFlamingo框架激发开源VLMs更大潜能

2024-1-17 14:37:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索