什么是 LoRA 模型?
LoRA(低秩适应)是一种用于微调稳定扩散模型的训练技术。
但我们已经有了 Dreambooth 和文本倒置等训练技术。LoRA 有什么大不了的?LoRA 在文件大小和训练能力之间提供了一个很好的权衡。Dreambooth 功能强大,但会生成大型模型文件(2-7 GB)。文本倒置很小(大约 100 KB),但您做不到那么多。
LoRA 介于两者之间:它们的文件大小可控(2 – 200 MB),并且训练能力不错。
喜欢试验模型的 Stable Diffusion 用户可以告诉您他们的本地存储填满的速度有多快。由于体积大,很难用个人电脑维护一个集合。LoRA 是解决存储问题的绝佳方案。
与文本反转一样,您不能单独使用 LoRA 模型。它必须与模型检查点文件一起使用。LoRA 通过对随附的模型文件应用小的更改来修改样式。
LoRA 是如何工作的?
LoRA 对稳定扩散模型最关键的部分进行了微小的更改:交叉注意层。它是模型中图像和提示相交的部分。研究人员发现微调模型的这一部分就足以实现良好的训练。交叉注意力层是下面稳定扩散模型架构中的黄色部分。
LORA 微调交叉注意层(U-Net 噪声预测器的 QKV 部分)。(来自稳定扩散论文的图。)
交叉注意力层的权重排列在矩阵中。矩阵只是一堆按列和行排列的数字,就像在 Excel 电子表格中一样。LoRA 模型通过将其权重添加到这些矩阵来微调模型。
如果需要存储相同数量的权重,LoRA 模型文件如何变得更小?LoRA 的技巧是将一个矩阵分解为两个较小的(低阶)矩阵。通过这样做,它可以存储更少的数字。让我们用下面的例子来说明这一点。
假设模型有一个包含 1,000 行和 2,000 列的矩阵。这是要存储在模型文件中的 2,000,000 个数字 (1,000 x 2,000)。LoRA 将矩阵分解为 1,000×2 矩阵和 2×2,000 矩阵。这只有 6,000 个数字 (1,000 x 2 + 2 x 2,000),少了 333 倍。这就是 LoRA 文件要小得多的原因。
LoRA 将一个大矩阵分解为两个小的低阶矩阵。
在这个例子中,矩阵的秩为2。它比原来的维数低很多,因此称为低秩矩阵。等级可以低至 1。
但是像那样耍花招有什么坏处吗?研究人员发现,在交叉注意力层中这样做不会对微调的能力产生太大影响。所以我们很好。
在哪里可以找到 LoRA 模型?
Civitai 上的 LoRA 模型。
Civitai 拥有大量的 LoRA 模型。应用 LORA 过滤器以仅查看 LoRA 模型。你可能会发现它们都趋于相似:女性肖像、动漫、写实插画风格等。
(注意 Civitai 上有很多 NSFW 的东西。如果你不想看到你无法看到的东西,一定要戴上 NSFW 过滤器……)
Hugging Face 上的 LoRA 模型。
Hugging Face 是 LoRA 库的另一个来源。您会发现更多种类的 LoRA 模型。但是那里没有那么多的 LoRA 模型。他们的收藏要小得多。
在 Hugging Face 中搜索 LoRA 模型
拥抱面中的 LoRA 库
如何使用 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使用注意事项
您可以调整乘数以提高或降低效果。将乘数设置为 0 会禁用 LoRA 模型。您可以在 0 和 1 之间调整样式效果。
一些 LoRA 模型是用 Dreambooth 训练的。您需要包含一个触发器关键字才能使用 LoRA 模型。您可以在模型页面上找到 trigger 关键字。
与嵌入类似,您可以同时使用多个 LoRA 模型。您也可以将它们与嵌入一起使用。
在 AUTOMATIC1111 中,LoRA 短语不是提示的一部分。应用 LoRA 模型后,它将被删除。这意味着您不能对它们使用 [keyword1:keyword2: 0.8] 之类的提示语法。
一些 LoRA 模型
这是我偏爱的 LoRA 模型选择。
舒克走马
Shukezouma LoRA模型带出时尚的中国水墨画主题。舒克走马是指画面的负空间(常见于中国画)大得可以让马穿过。
树科动物 LoRA 模型页面
将这个LoRA与中国风模特郭峰一起使用。
触发关键词:舒克走马
迅速的:
(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
舒克走马LoRA模型。
高田明美(1980 年代)风格
高田明美是日本漫画插画家。如果您喜欢 1980 年代和 90 年代的日本动漫,这本书适合您。
LoRA模型页面
与 AbyssOrangeMix2 模型一起使用。
迅速的:
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
赛博朋克2077塔罗牌
这个 LoRA 模型生成了具有未来赛博朋克风格的机器人和城市。
LoRA模型页面
与 Anything v4.5 模型一起使用。
迅速的:
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
概括
LoRA 模型是检查点模型的小修改器。通过在提示中包含一个短语,您可以在 AUTOMATIC1111 中轻松使用它们。
今天就到这里!我将在以后的文章中告诉您如何训练 LoRA 模型。
以下是一些供好奇心使用的额外读物。
- 使用 LoRA 进行高效稳定的扩散微调(Hugging Face 博客)。很好地概述了 LoRA 如何应用于稳定扩散。
- LoRA:大型语言模型的低秩适应(2021)。研究文章首先提出了LoRA技术。(对于语言模型)
- Github:用于快速文本到图像扩散微调的低秩自适应。这是将 LoRA 应用于 Stable Diffusion 的初步工作。您会发现 LoRA 的出色技术描述。