LLM大模型学习:LoRA 大模型微调的利器
LoRA 模型是小型的 Stable Diffusion 模型,它们对 checkpoint 模型进行微小的调整。它们的体积通常是检查点模型的 10 到 100 分之一。因为体积小,效果好,所以 lora 模型的使用程度比较高。
这是一篇面向从未使用过 LoRA 模型的初学者的教程。你将了解 LoRA 模型是什么,在哪里找到它们,以及如何在 AUTOMATIC1111 GUI 中使用它们。然后,你将在文章末尾找到一些 LoRA 模型的演示。
LoRA 模型是什么?
LoRA(Low-Rank Adaptation)是一种微调 Stable Diffusion 模型的训练技术。
虽然我们已经有像 Dreambooth 和文本反转这样的训练技术。那么 LoRA 有什么用呢?
LoRA 实际上可以看做是 Dreambooth 和文本反转 embeddings 的折中方案。Dreambooth 功能虽然强大,但模型文件会比较大(2-7 GB)。文本反转非常小(约 100 KB),但能做的事情比较少。
LoRA 介于两者之间。它的文件大小更容易管理(2-200 MB),并且训练能力相当不错。
因为 checkpoint 比较大,所以硬盘空间存储会是一个问题。而 LoRA 是解决存储问题的优秀方案。
像文本反转一样,你不能单独使用 LoRA 模型。它必须与模型检查点文件一起使用。LoRA 通过对配套的模型文件进行小的修改来改变风格。
LoRA 是定制 AI 艺术模型的绝佳方式,而不会占用太多本地存储空间。
LoRA 如何工作?
LoRA 对 Stable Diffusion 模型中最关键的部分进行小的修改:交叉注意力层。研究人员发现,微调这部分模型就足以实现良好的训练。交叉注意力层是下面 Stable Diffusion 模型架构中的黄色部分。
交叉注意力层的权重以矩阵的形式排列。矩阵只是按列和行排列的一堆数字,就像 Excel 电子表格上一样。LoRA 模型通过将自己的权重加到这些矩阵上来微调模型。
如果 LoRA 模型需要存储相同数量的权重,它们的文件怎么会更小呢?**LoRA 的技巧是将矩阵分解成两个更小的(低秩)矩阵。**通过这样做,它可以存储更少的数字。让我们通过以下示例来说明。
假设模型有一个 100 行 100 列的矩阵。那是 10000 个数字(100x 100)需要存储在模型文件中。LoRA 将矩阵分解成一个 1000x2 矩阵和一个 2x100 矩阵。那只有 400 个数字(100 x 2 + 2 x 100,如果矩阵够更大的话,LoRA 模型会减少的更多。这就是为什么 LoRA 文件要小得多的原因。
在这个例子中,矩阵的秩是 2。它比原始尺寸低得多,所以它们被称为低秩矩阵。秩可以低至 1。
这种操作必定会带来数据上的缺失,但是在交叉注意力层来说,这些损失是无伤大雅的。所以 Lora 这种做法是可行的。
在哪里找到 LoRA 模型?
Civitai
寻找 LoRA 的首选地点是 Civitai。该网站托管了大量 LoRA 模型的集合。应用 LORA 过滤器以仅查看 LoRA 模型。不过里面的大多数模型都是:女性肖像,动漫,现实主义插图风格等。
Hugging Face
Hugging Face 是另一个 LoRA 库的好来源。你会发现更多种类的 LoRA 模型。但那里的 LoRA 模型可能没有 C 站多,并且也不太直观。因为没有图片预览。
如何使用 LoRA?
这里,我将介绍如何在 AUTOMATIC1111 Stable Diffusion GUI 中使用 LoRA 模型。
AUTOMATIC1111 原生支持 LoRA。你不需要安装任何扩展。
第 1 步:安装 LoRA 模型
要在 AUTOMATIC1111 webui 中安装 LoRA 模型,请将模型文件放入以下文件夹。
stable-diffusion-webui/models/Lora
第 2 步:在提示中使用 LoRA
要在 AUTOMATIC1111 Stable Diffusion WebUI 中添加带权重的 LoRA,请在提示或否定提示中使用以下语法:
<lora: name: weight>
name 是 LoRA 模型的名称。它可以与文件名不同。weight 是应用于 LoRA 模型的权重。默认值为 1。将其设置为 0 将禁用模型。
那么怎么知道 lora 的名字是什么呢?
其实我们并不需要手动输入 lora 的名字,我们只需要点击下面的 lora 标签:
你应该看到一个已安装的 LoRA 模型列表。单击你想要使用的模型。
LoRA 短语将被插入到提示中。
就是这样!
使用 LoRA 的注意事项
你可以调整乘数以增强或调整效果。将乘数设置为 0 将禁用 LoRA 模型。你可以在 0 和 1 之间调整风格效果。
一些 LoRA 模型是使用 Dreambooth 训练的。你需要包括一个触发关键词才能使用 LoRA 模型。你可以在模型页面上找到触发关键词。
类似于嵌入,你可以同时使用多个 LoRA 模型。你也可以将它们与嵌入一起使用。
在 AUTOMATIC1111 中,LoRA 短语不是提示的一部分。在应用 LoRA 模型后,它将被删除。这意味着你不能使用像[keyword1:keyword2: 0.8]这样的提示语法来使用他们。
实用的 LoRA 模型
这里介绍一些在实际应用中比较实用的 Lora。
add_detail
谁不想要 AI 图像中更多的细节?细节调整器允许你增加或减少图像中的细节。现在,你可以调整你想要的细节量。
使用正 LoRA 权重来增加细节,使用负权重来减少细节。
add_saturation
这个 lora 可以给图片添加一些饱和度,效果如下:
add_brightness
这个 lora 可以用来控制图片的亮度:
总结
LoRA 模型是 checkpoint 模型的小型修改器。你可以通过在提示中包含一个短语轻松地在 AUTOMATIC1111 中使用它们。
我将在以后的文章中告诉你如何自己来训练一个 LoRA 模型。
大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方图片前往获取
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓