一、Lora模型

lora模型主要应用于绘画风格、人物概念、推理加速等多种场合。是一种高效微调大型AI模型的技术,专为简化模型适配任务而生。他的存在让ai绘画有了更高的灵活性与多样性。

1.1 为什么要用LoRA

一个基础大模型参数量通常在数亿甚至数百亿,意味着计算成本高,通常需要强大的GPU和大量时间。它在训练时通过冻结原始模型的权重参数,只在关键模块中添加少量可训练的小矩阵来实现优化,避免了对整个模型进行资源密集型重训练‌。

1.2 LoRA的核心原理基于低秩分解

秩(Rank)‌ :是矩阵的一个数学属性。简单来说,它衡量一个矩阵包含多少“独立信息”。一个 m行 x n列 的矩阵,其最大可能的秩是 min(m, n)。例如 1000x1000 的矩阵,最大秩是1000。

低秩矩阵:‌ 如果一个矩阵的实际秩 r 远小于它的最大可能秩(r << min(m, n)),我们就说它是低秩矩阵。

隐藏内容
此内容需权限查看
包含约1621个字符
  • 普通用户: 15.9牛币
  • VIP: 免费
  • SVIP: 免费
已有138人赞助

 

1.5 Lora在comfyui中的使用

前面了解了那么多的理论,目的是对Lora有一个基本的概念,这比较有助于掌握牢靠的基础,在后续遇到某些情况你就会回想起,某问题是如何导致的,或者某些需求应该如何实现。

1.5.1 在使用之前还应该下载合适的Lora,这里以一个动漫风格的线稿Lora为例,该Lora模型效果如图所示(图像摘自该模型作者展示):

 

动漫线稿风格Lora示例

在使用时需将Lora模型文件放入ComfyUI\models\loras目录中。

模型下载:https://civitai.com/models/16014/anime-lineart-manga-like-style?modelVersionId=28907

网盘下载:https://pan.quark.cn/s/ba589eaa2ed7

 

1.5.2 还是以comfyui基础的工作流为例,只需要新增一个节点加载LoraLoad Lora),如图所示:

添加lora加载节点

创建好节点后,在节点名称处,选择刚刚下载的Lora模型。新下载模型文件后往往需要通过使用R键进行刷新,重新读取模型,或者重新启动comfyui生效。

1.5.3 这里使用AWPainting微调模型作为基础底模。

模型下载:https://civitai.com/models/84476/awpainting

网盘下载:https://pan.quark.cn/s/9a564844d89a

 

1.5.4 这里提供一段测试用提示词:

masterpiece, best quality, 1girl, solo, long_hair, looking_at_viewer, smile, bangs, skirt, shirt, long_sleeves, hat, dress, bow, holding, closed_mouth, flower, frills, hair_flower, petals, bouquet, holding_flower, center_frills, bonnet, holding_bouquet, flower field, flower field, lineart, monochrome

负面提示词可以先随意默认,或者自己加入一些不希望出现的内容。

最终完整工作流如图所示:

使用lora模型的完整工作流示例

在comfyui中使用Lora模型是不是非常简单,通俗来讲确实就如同上述操作一样简单,但还是有一些注意事项:

隐藏内容
此内容需权限查看
包含约1480个字符,和3张图像
  • 普通用户: 15.9牛币
  • VIP: 免费
  • SVIP: 免费
已有138人赞助

 

clip停止层

CLIP停止层也叫跳过层,在comfyui中默认工作流中,没有看到该值的设定,默认情况下为-1,表示停止在最后1层。通常情况下不需要额外单独设置该值,不过对应一些动漫风格可以尝试设置为-2会有更好的表现,设置方式和使用Lora类似,只需要在checkpoint与K采样器之间,添加一个节点设置CLIP最后一层CLIP Set Last Layer)如图所示:

增加CLIP条过层节点

通俗来讲停止层类似于之前提到过的CFG值,跳过层越多会越偏离提示词。但原理与CFG又不太相同,关于CLIP跳过层的原理,还是离不开Diffusion Models的基本原理。

 

 

隐藏内容
此内容需权限查看
包含约274个字符
  • 普通用户: 15.9牛币
  • VIP: 免费
  • SVIP: 免费
已有138人赞助

embedding

embedding就是一组语义向量,而语义向量的在现实中其实就是一组词语或一段文本,即我们输入的Prompt。使用方式同样需要先下载embedding文件。

放到ComfyUI\models\embeddings目录中。

这里提供一个错手的负面embedding。

下载地址:https://civitai.com/models/4629/deep-negative-v1x

网盘下载:https://pan.quark.cn/s/c342edbdbf09

使用方式非常简单,只需要在提示词中按照格式加入该文件即可,格式如下:

embedding:文件名称

以刚刚下载的为例,因为该embedding本质是一组负面提示词,所以我们需要将其加入到负面提示词中。

embedding:ng_deepnegative_v1_75t

如图所示:

embedding的使用

隐藏内容
此内容需权限查看
包含约193个字符
  • 普通用户: 15.9牛币
  • VIP: 免费
  • SVIP: 免费
已有138人赞助

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。