LORA详解(史上最全)

LoRA 模型

LoRA模型,全称Low-Rank Adaptation of Large Language Models,是一种用于微调大型语言模型的低秩适应技术。它最初应用于NLP领域,特别是用于微调GPT-3等模型。LoRA通过仅训练低秩矩阵,然后将这些参数注入到原始模型中,从而实现对模型的微调。这种方法不仅减少了计算需求,而且使得训练资源比直接训练原始模型要小得多,因此非常适合在资源有限的环境中使用。12

在Stable Diffusion(SD)模型的应用中,LoRA被用作一种插件,允许用户在不修改SD模型的情况下,利用少量数据训练出具有特定画风、IP或人物特征的模型。这种技术在社区使用和个人开发者中非常受欢迎。例如,可以通过LoRA模型改变SD模型的生成风格,或者为SD模型添加新的人物/IP。1

LoRA模型的使用涉及安装插件和配置参数。用户需要下载适合的LoRA模型和相应的checkpoint模型,并将其安装到相应的目录。在使用时,可以将LoRA模型与大模型结合使用,通过调整LoRA的权重来控制生成图片的结果。LoRA模型的优点包括训练速度快、计算需求低、训练权重小,因为原始模型被冻结,我们注入新的可训练层,可以将新层的权重保存为一个约3MB大小的文件,比UNet模型的原始大小小了近一千倍。2

总的来说,LoRA模型是一种高效、灵活且适用于多种场景的模型微调技术,它在保持原始模型性能的同时,允许用户根据需要进行定制化调整。

深入剖析LoRA 模型

什么是 LoRA 模型以及如何使用它

LoRA 模型是一种Stable Diffusion模型的小型模型,通过对标准检查点模型进行微小更改来实现。它们的大小通常比检查点模型小 10 到 100 倍,这使得它们对于拥有大量模型的人非常有吸引力。

什么是 LoRA 模型?

LoRA(Low-Rank Adaptation)是一种用于微调Stable Diffusion模型的训练技术。

但我们已经有了其他的训练技术,例如 Dreambooth 和 文本反转。那么 LoRA 有何特别之处呢?LoRA 在文件大小和训练能力之间取得了良好的平衡。Dreambooth 功能强大,但模型文件体积较大(2-7 GB)。文本反转模型很小(约100 KB),但功能有限。

LoRA 位于二者之间:它们的文件大小适中(2-200 MB),而且训练能力还不错。

那些喜欢尝试各种 模型 的Stable Diffusion用户可以告诉你,他们的本地存储很快就会填满。由于文件体积较大,用个人电脑来维护一个模型集合非常困难。LoRA 是解决存储问题的绝佳方案。

与文本反转类似,你不能单独使用 LoRA 模型。它必须与模型检查点文件一起使用。LoRA 通过对附带的模型文件应用小的改动来修改风格。

LoRA 是如何工作的?

LoRA 对Stable Diffusion模型中最关键的部分进行微小改动:交叉注意力层。这是模型中图像和提示相遇的部分。研究人员发现,仅微调模型的这一部分就足以实现良好的训练效果。交叉注意力层在下方的Stable Diffusion模型架构中以黄色部分表示。
在这里插入图片描述
交叉注意力层的权重被排列成矩阵形式。矩阵就像 Excel 电子表格中按列和行排列的一系列数字。LoRA 模型通过将其权重添加到这些矩阵中来对模型进行微调。

LoRA 模型文件如何更小,即使它们需要存储相同数量的权重?LoRA 的技巧在于将矩阵分解为两个较小(低秩)的矩阵。这样可以存储更少的数字。我们通过以下示例来说明这一点。

假设模型有一个具有 1,000 行和 2,000 列的矩阵。这就是要在模型文件中存储的 2,000,000 个数字(1,000 x 2,000)。LoRA 将该矩阵分解为一个 1,000x2 的矩阵和一个 2x2,000 的矩阵。这只需要 6,000 个数字(1,000 x 2 + 2 x 2,000),是原始矩阵大小的 333 倍。这就是 LoRA 文件更小的原因。
在这里插入图片描述
LoRA 将一个大矩阵分解为两个小的低秩矩阵。

在这个示例中,矩阵的秩是 2。它远远低于原始维度,因此被称为低秩矩阵。秩可以低至 1。

但是,这样做是否会产生任何问题?研究人员发现,在交叉注意力层中进行这样的操作并不会对微调的效果产生太大影响。因此,我们是安全的。

如何找到 LoRA 模型?

在这里插入图片描述
Civitai 提供了大量的 LoRA 模型。使用 LORA 过滤器,可以只看到 LoRA 模型。你可能会发现它们之间有一些相似之处:女性肖像、动漫、逼真的插图风格等。

(请注意,Civitai 上有很多 NSFW(不适宜上班场所)内容。如果你不想看到令人无法忘怀的内容,请确保启用了 NSFW 过滤器…)
在这里插入图片描述
Hugging Face 是另一个提供 LoRA 模型库的来源。你将找到更多种类的 LoRA 模型。但是,那里的 LoRA 模型数量不如 Civitai 多,它们的收藏较小。

如何使用 LoRA?

在本节中,你将找到在 AUTOMATIC1111 Stable Diffusion GUI 中使用 LoRA 模型的说明。你可以在 Windows、Mac 或 Google Colab 上使用此 GUI。

AUTOMATIC1111 原生支持 LoRA。你不需要安装任何扩展。

第一步:安装 LoRA 模型

要在 AUTOMATIC1111 webui 中安装 LoRA 模型,请将模型文件放入以下文件夹。

stable-diffusion-webui/models/Lora

第二步:使用 LoRA 模型

要使用 LoRA 模型,请将以下短语放入提示中。

lora:filename:multiplier

filename 是 LoRA 模型的文件名,不包括扩展名(.pt、.bin 等)。

multiplier 是应用于 LoRA 模型的权重。默认值为 1。将其设置为 0 将禁用模型。

如何确保文件名正确?不要手动编写这个短语,而是应该点击模型按钮。
在这里插入图片描述
单击 Lora 选项卡。你应该看到已安装的 LoRA 模型列表。单击你想要使用的模型。

LoRA 短语将插入到提示中。
在这里插入图片描述
就是这样!

使用 LoRA 的注意事项

你可以调整乘数来增加或减小效果。将乘数设置为 0 将禁用 LoRA 模型。你可以在 0 和 1 之间调整样式效果。

某些 LoRA 模型是使用 Dreambooth 进行训练的。你需要包含一个触发关键词来使用 LoRA 模型。你可以在模型的页面上找到触发关键词。

类似于嵌入,你可以同时使用多个 LoRA 模型。你也可以与嵌入一起使用它们。

在 AUTOMATIC1111 中,LoRA 短语不是提示的一部分。在应用 LoRA 模型后,它将被移除。这意味着你不能使用像 [keyword1:keyword2:0.8] 这样的提示语法。

一些 LoRA 模型

以下是我选择的一些 LoRA 模型。

1、Shukezouma

Shukezouma LoRA 模型展现了中国水墨画主题的时尚风格。Shukezouma 意味着绘画的负空间(常见于中国画作)非常宽敞,以至于一匹马可以通过。

提示:

(shukezouma:0.5) ,lora:Moxin_Shukezouma:1 , chinese painting, half body, female, perfect symmetric face, detailed chinese dress, mountains, flowers, 1girl, tiger

负向提示:

disfigured, ugly, bad, immature

在这里插入图片描述

2、Akemi Takada (1980s) Style

Akemi Takada(高田明美)是一位日本的漫画插画家。如果你喜欢上世纪80年代和90年代的日本动漫,那么这个风格适合你。

提示:

takada akemi, Tifa lockhart as magician, Final Fantasy VII, 1girl, small breast, beautiful eyes, brown hair, smiling, red eyes, highres, diamond earring, long hair, side parted hair, hair behind ear, upper body, stylish dress, indoors, bar 1980s (style), painting (medium), retro artstyle, watercolor (medium) lora:akemiTakada1980sStyle_1:0.6

负向提示:

(worst quality, low quality:1.4), (painting by bad-artist-anime:0.9), (painting by bad-artist:0.9), watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, bad anatomy

在这里插入图片描述

3、Cyberpunk 2077 Tarot card

这个 LoRA 模型以未来赛博朋克风格生成了赛博人和城市。

提示:

cyberpunk, tarot card, close up, portrait, bionic body, cat, young man, perfect human symmetric face, leather metallic jacket, circuit, city street in background, natural lighting, masterpiece lora:cyberpunk2077Tarot_tarotCard512x1024:0.6

负向提示:

(worst quality, low quality:1.4), (painting by bad-artist-anime:0.9), (painting by bad-artist:0.9), watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, bad anatomy, big breast

在这里插入图片描述

git 链接:https://github.com/microsoft/LoRA

paper: https://arxiv.org/abs/2106.09685

  • 20
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值