什么是 LoRA 模型以及如何在 AUTOMATIC1111 中使用

LoRA 模型是小型稳定扩散模型,可对标准检查点模型进行微小更改。它们通常比检查点模型小 10 到 100 倍。这使得它们对拥有大量模型的人非常有吸引力。

什么是 LoRA 模型?

LoRA(低秩适应)是一种用于微调稳定扩散模型的训练技术。

但是我们已经有了Dreamboothtextual inversion等训练技术。LoRA 有什么大不了的?LoRA 在文件大小和训练能力之间提供了一个很好的权衡。Dreambooth 功能强大,但会生成大型模型文件(2-7 GB)。文本倒置很小(大约 100 KB),但您做不到那么多。

LoRA 介于两者之间:它们的文件大小可控(2 - 200 MB),并且训练能力不错。

喜欢训练模型的Stable Diffusion 用户可以告诉您他们的本地存储填满的速度有多快。由于体积大,很难用个人电脑维护一个集合。LoRA 是解决存储问题的绝佳方案。

与textual inversion(embeddings)一样, 不能单独使用 LoRA 模型 。它必须与模型检查点文件一起使用。LoRA 通过对随附的模型文件应用小的更改来修改结果。

LoRA 是如何工作的?

LoRA 对稳定扩散模型最关键的部分进行了微小的更改:交叉注意力层 。它是模型中图像和提示相交的部分。研究人员发现微调模型的这一部分就足以实现良好的训练。交叉注意力层是下面稳定扩散模型架构中的黄色部分。


交叉注意力层的权重排列在矩阵 中。矩阵只是一堆按列和行排列的数字,就像在 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 模型?

Civitai 上的 LoRA 模型。

Civitai拥有大量的 LoRA 模型。应用 LORA 过滤器以仅查看 LoRA 模型。你可能会发现它们都趋于相似:女性肖像、动漫、写实插画风格等。

(注意 Civitai 上有很多 NSFW 的东西。如果你不想看到你无法看到的东西,一定要戴上 NSFW 过滤器……)

Hugging Face 上的 LoRA 模型

Hugging Face 是 LoRA 库的另一个来源。您会发现更多种类的 LoRA 模型。但是那里没有那么多的 LoRA 模型。他们的收藏要小得多。

在 Hugging Face 中搜索 LoRA 模型

huggingface中的 LoRA 库

如何使用 LoRA?

在本节中,您将找到在AUTOMATIC1111 Stable Diffusion GUI中使用 LoRA 模型的说明。您可以在WindowsMacGoogle 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 关键字。

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

在 AUTOMATIC1111 中,LoRA 短语不是提示的一部分。应用 LoRA 模型后,它将被删除。这意味着您不能对它们使用 [keyword1:keyword2: 0.8] 之类的提示语法。

一些 LoRA 模型

这是我偏爱的 LoRA 模型选择。

Shukezouma

Shukezouma LoRA模型带出时尚的中国水墨画主题。 Shukezouma是指画面的负空间(常见于中国画)大得可以让马穿过。

树科动物 LoRA 模型页面

用这个LoRA搭配中国风模特郭峰

触发关键词: Shukezouma

prompt:

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

Negative Prompt:

disfigured, ugly, bad, immature


Akemi Takada (1980s) Style

高田明美是日本漫画插画家。如果您喜欢 1980 年代和 90 年代的日本动漫,这本书适合您。

LoRA模型页面

与AbyssOrangeMix2 模型一起使用。

Prompt:

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

Negative prompt:

(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

Cyberpunk 2077 Tarot card

这个 LoRA 模型生成了具有未来赛博朋克风格的机器人和城市。

LoRA模型页面

与Anything v4.5 模型一起使用。

Prompt:

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

Negative prompt:

(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 模型。

以下是一些供好奇心使用的额外读物。