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

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

本教程适用于之前没有使用过 LoRA 模型的初学者。你将了解什么是 LoRA 模型,如何找到它们,以及如何在 AUTOMATIC1111 GUI 中使用它们。最后,你将在本教程末尾找到一些 LoRA 模型的演示。

什么是 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模型架构中以黄色部分表示。

图1

交叉注意力层的权重被排列成矩阵形式。矩阵就像 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 文件更小的原因。

图2

LoRA 将一个大矩阵分解为两个小的低秩矩阵。

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

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

如何找到 LoRA 模型?

图3

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

(请注意,Civitai 上有很多 NSFW(不适宜上班场所)内容。如果你不想看到令人无法忘怀的内容,请确保启用了 NSFW 过滤器...)

图4

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 将禁用模型。

如何确保文件名正确?不要手动编写这个短语,而是应该点击模型按钮。

图5

单击 Lora 选项卡。你应该看到已安装的 LoRA 模型列表。单击你想要使用的模型。

LoRA 短语将插入到提示中。

图6

就是这样!

使用 LoRA 的注意事项

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

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

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

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

一些 LoRA 模型

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

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

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

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

标签: AI绘画教程, AI绘画教程网, AI绘画, Stable Diffusion, Stable Diffusion教程, Stable Diffusion社区, Stable Diffusion社群, Stable Diffusion中文社区, Stable Diffusion入口, Stable Diffusion注册, Stable Diffusion注册教程, Stable Diffusion共享账号