🍉LORA 是什么?有什么用?

LORA 的全称是 Low-Rank Adaptation(低秩适配),也常写作 LoRA。它是一种对大型机器学习模型进行高效微调的技术。

1. 微调

在解释 LoRA 之前,我们先来说说什么是微调

可以把一个训练好的大模型想象成一位已经学富五车的学霸。现在你希望他在某个特定领域(比如艺术史)变得更专业,微调就相当于让这位学霸去学习该领域的专门资料,从而在这个细分方向上变得更强。

但如果这个学霸的知识库大到像一座图书馆,让他从头学起就会非常耗时耗力。LoRA 的作用就是让这个过程变得高效。它只让学霸去学习艺术史里对他来说全新的关键概念,而不是让他重新学习所有知识。

具体来说,LoRA 是通过在模型中引入 “低秩矩阵” 来实现高效微调的。这里的 “低秩” 就好比只关注模型里的一小部分关键信息,就像学霸只需要掌握艺术史里的核心事件与人物,而不用重学所有历史知识。这样一来,LoRA 就能在保留模型原有能力的基础上,让它快速适应新任务。

在 Stable Diffusion 这类 AI 绘画工具里,LoRA 的应用尤其突出。Stable Diffusion 本身是一个能根据文字描述生成图像的模型,借助 LoRA,我们可以快速训练它生成特定风格的画作(比如模仿梵高的画风),或者生成特定角色的图像。这个过程就像让一位已经会画画的艺术家,再去学习画卡通或油画一样。

2. 优点

使用 LoRA 进行微调,主要有这些显著优势:

  1. 节省时间无需重新训练整个大模型,只针对关键部分进行微调,因此整个过程的速度会快很多。

  2. 提升效率它只聚焦于任务所需的关键信息,能让模型更快地适配新任务,避免了冗余计算。

  3. 模型体积小LoRA 生成的模型文件通常只有几十到几百兆,远小于完整模型,更便于分享和下载。

  4. 操作门槛低普通用户即使没有专业技术背景,也能在家用电脑上训练属于自己的 LoRA 模型,实现个性化效果。

总的来说,LoRA 是一种让大型模型变得更灵活、易用的技术。它通过聚焦模型的关键部分实现了高效微调,让 AI 绘画等应用变得更加便捷和个性化。

我们再用一个更通俗的方式来理解:

你可以把 Stable Diffusion 大模型(也就是 Checkpoint 模型)想象成一个知识面很广的 “学霸”,他什么都懂,但并不专精于某一项。

而 LoRA 就像是这位学霸的 “专项突击培训”。它能让学霸在短时间内精通某一类特定技能或知识:

  • 比如,突然擅长画水彩画、卡通画、科幻画或建筑速写;
  • 或者,立刻明白什么是 “葫芦娃”、“铁壁阿童木”、“喜羊羊” 这些特定的角色。

简单来说,LoRA 就是给大模型 “开小灶”,让它快速学会一项新技能,同时又不忘记原来的知识。

所以说,LoRA 必须搭配大模型才能使用,你可以把它理解为一个 **“外挂知识库”**,用来给大模型补充特定的技能或知识。


🍉去哪里找 LoRA?

分享 LoRA 的网站有很多,最常用的包括:

  • C 站(civitai.com:全球最大的 AI 模型分享平台之一,资源非常丰富。
  • LiblibAI(哩布哩布 AI):国内平台,使用起来更方便,也有大量免费资源。

这些平台上的 LoRA 模型基本都可以免费下载。下面我们就以 LiblibAI 为例,看看具体怎么找。

我们以 LiblibAI(哩布哩布 AI) 为例来演示如何找到并选择合适的 LoRA。

在 LiblibAI 的模型广场里,你可以通过筛选功能定位到 LoRA 模型。需要特别注意的是:

  • 版本不通用:SD 1.5 和 SDXL 对应的 LoRA 模型是不能互相兼容的。
  • 选择要匹配:你必须根据自己正在使用的大模型版本,来选择对应的 LoRA 模型,否则无法正常生效。

接下来,我们就用一个实际案例,来演示 LoRA 的具体用法。

🍉结合 LoRA 增强个性化效果

我们首先需要准备好本节课的初始工作流,你可以从下面的网盘链接下载:

下载地址:https://pan.baidu.com/s/1RK1oZCveQiR4VYQe-aPzoA 提取码: 4qxi 
 

这个工作流文件将作为我们接下来实操 LoRA 的基础。

拖拽打开,新建一个画布将下载的.json文件,拖拽到画布上,就可以打开我们的工作流。

打开这个工作流文件后你会发现,它其实就是上一节课我们学习的工作流的简化版本。

⚠️ 重要提醒

在执行绘图之前,一定要先把工作流里的大模型、放大算法模型等路径,修改为你自己电脑里对应的本地文件路径,这样才能避免软件报错。

1. 提示词设置

我们先来看这组生成图像的提示词:

正向提示词1girl, portrait, black hair, long bob hair, lolita_fashion, upper_body, background is lava, masterpiece, best quality

描述:一个女孩的半身肖像,黑色长波波头,穿着洛丽塔风格服饰,背景是火山熔岩,要求生成高质量的作品。

负向提示词(worst quality), (low quality), (normal quality), lowres, bad anatomy, ((bad hands, broken hands)), (many fingers), ((grayscale)) watermark, moles

描述:避免生成低质量、低分辨率、解剖结构错误、手部畸形、多余手指、黑白图像以及带水印和痣的画面。


💡 关键注意点

  • 正向提示词里的 background is lava 是核心设定,它决定了背景是火山熔岩的效果。
  • 这个工作流的种子值(seed)被设置为固定(fixed),所以每次生成的图像都是一样的。如果你想得到不同的图像,需要手动修改种子值。

生成结果如下:

可以说,和正向提示词描述的“火山熔岩”毫无关系。

2. 为什么画面没有按提示词生成?

有时候你会发现,生成的画面并没有完全按照提示词来呈现,这是为什么呢?

  • 大模型虽然能力很强,能理解很多描述,但它也有不熟悉或不擅长的内容。在这个例子里,它对 “火山熔岩” 的理解和还原能力就比较有限。

那我们该怎么解决这个问题呢?

  • 答案就是用 LoRA 来 “教” 模型认识 “火山熔岩”。
  • 刚好就有一个专门的 “火山熔岩” LoRA 模型,我们可以用它来优化效果。
  • 你可以先到随课网盘里,下载这个 “火山熔岩” LoRA。

下载地址:https://pan.baidu.com/s/1MTY748-C59T1IfS2gXhnQw 提取码: 2sum 

3. 安装 LoRA 模型

下载好 LoRA 文件后,你需要将它存放到本地的 models/loras 文件夹中。

你可以像示例中一样,在 loras 文件夹下新建一个二级目录(比如 SD1.5),用来专门存放对应版本的 LoRA 模型。

这样做的好处是:

  • SD 1.5 和 SDXL 的 LoRA 模型并不通用,通过二级目录可以清晰地区分不同版本的模型
  • 避免后续模型增多时出现混淆,让你能更方便地找到和管理 LoRA

完成之后,回到ComfyUI,我们的LoRA模型就安装好了,下节我们会讲LoRA工作流搭建/参数详解/多LoRA混用。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐