当前位置: 首页 > article >正文

LLM大模型学习:LoRA 大模型微调的利器

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%免费】🆓


http://www.kler.cn/a/289820.html

相关文章:

  • 高频 SQL 50 题(基础版)连接部分
  • 如何为电子课程创造创意
  • 【Mode Management】AUTOSAR架构下唤醒源检测函数EcuM_CheckWakeup详解
  • RS®SZM 倍频器
  • 什么是RAG? LangChain的RAG实践!
  • MySQ怎么使用语法介绍(详细)
  • 第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)
  • 在SpringMVC中用fmt标签实现国际化/多语言
  • 装饰器模式(Decorator Pattern)
  • MACOS安装配置前端开发环境
  • 北芯生命持续亏损:产能利用率不理想仍扩产能,销售费用越来越高
  • Python世界:文件自动化备份实践
  • 由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(一)
  • 工业交换机如何确保品质
  • glsl着色器学习(四)
  • 日常避坑指南:如何合理利用Swap优化MongoDB内存管理
  • Linux驱动开发基础(IRDA 红外遥控模块)
  • E6000物联网主机:打造智慧楼宇的未来
  • Linux:vim编辑器的基本使用
  • 不小心删除丢失了所有短信?如何在 iPhone 上查找和恢复误删除的短信
  • 6 自研rgbd相机基于rk3566之深度计算库移植及测试
  • Spring Boot集成Spring Cloud Scheduler进行任务调度
  • 如何使用Spoon连接data-integration-server并在服务器上执行转换
  • nginx配置白名单服务
  • Gnu: binutils: ld: .gnu.warning.链接时的主动警告 glibc
  • IP地址与物理地址:‌区别解析及在网络通信中的作用