【AI学习-lora-定义-comfyUI相关-相关学习-了解概念(1)】
1-前言
最近学习comfyUI 有一段时间,还会继续学习,最近发现lora,第一眼我以为是电子工程里的lora模块,觉得很有意思,想学习一下,今天来学习和说明相关概念。
2-概念说明
1-概念
LoRA 是一种低成本、高效率、不破坏原模型的微调方法。
它通过训练一个小型低秩权重补丁,为大模型添加新能力(风格、物体、任务)。
LoRA 文件小、可叠加,是当前生成式 AI 最主流的定制化技术。
2-流程说明
bash
┌───────────────────────────┐
│ 数据准备阶段 │
└───────────┬─────────────┘
▼
┌────────────────────────────────────┐
│ 1. 收集数据(图片 + 文本描述) │
│ - 风格类 LoRA → 多风格样本 │
│ - 物体类 LoRA → 同一物体多角度 │
│ - 任务类 LoRA → 特定表现样本 │
└────────────────────────────────────┘
▼
┌────────────────────────────────────┐
│ 2. 数据清洗与预处理 │
│ - 裁剪/去噪/去水印 │
│ - 分辨率统一 │
│ - ComfyUI / BLIP 自动生成描述 │
└────────────────────────────────────┘
▼
┌───────────────────────────┐
│ 训练配置准备阶段 │
└───────────┬─────────────┘
▼
┌────────────────────────────────────┐
│ 3. 选择基底模型(SDXL / Flux 等) │
│ 4. 设置 LoRA 参数 │
│ - rank(秩) │
│ - 学习率(LR) │
│ - 网络结构(Linear / Conv) │
│ - batch size │
└────────────────────────────────────┘
▼
┌───────────────────────────┐
│ 模型训练阶段 │
└───────────┬─────────────┘
▼
┌────────────────────────────────────┐
│ 5. 前向传播 │
│ - 主模型权重保持冻结 │
│ - LoRA 模块读取数据 │
└────────────────────────────────────┘
▼
┌────────────────────────────────────┐
│ 6. 反向传播(只更新 LoRA 权重) │
│ - 原模型 W 不动 │
│ - 仅更新 ΔW = B × A 的低秩矩阵 │
└────────────────────────────────────┘
▼
┌────────────────────────────────────┐
│ 7. 保存训练结果 │
│ - .safetensors 文件(LoRA 模块)│
│ - 配套 metadata.json(可选) │
└────────────────────────────────────┘
▼
┌───────────────────────────┐
│ 推理部署阶段 │
└───────────┬─────────────┘
▼
┌────────────────────────────────────┐
│ 8. 推理使用 │
│ - 加载主模型 + LoRA 文件 │
│ - 设置 LoRA 权重强度 │
│ - 根据需求生成图像 │
└────────────────────────────────────┘
3-一句话说明
LoRA = 给大模型"加外挂"的一种轻量级训练方法。
我也是刚刚开始学习,有能理解的部分,也有不能理解的部分。所以在不断摸索
感觉是,不用去改大模型原始的权重(很大很贵),
而是在大模型旁边挂一个很小的小模块(外置权重),
训练时只更新这个小模块。
最终效果:模型像是学会了新能力,但原模型不被破坏。
4- 技术原理说明
大模型内部很多参数矩阵 W 很大(比如 4096×4096)。
LoRA认为:
你想教模型一个新风格/新物体,
所需要的更新其实不是一个"大变化",
而是一个低秩的小变化。
于是:
bash
大矩阵更新 ΔW ≈ B × A
A 和 B 都是很小的矩阵,比如 rank=4 或 8。
只训练 A 与 B,主模型权重 W 不动。
所以训练:
- ✔ 超轻
- ✔ 数据要求少
- ✔ 不破坏模型原始能力
- ✔ 可叠加(多个 LoRA 同时加载)
5-LORA的好处
-
- 数据量小
几十张图片就能训练一个有效的 LoRA,现在的流程完全符合这一点。
-
- 训练成本低
几十分钟就能训好,不需要 A100/H100。
-
- 不破坏大模型
大模型保持通用性,LoRA只增加定制能力。
6-参考文章
(1)相关论文:LoRA: Low-Rank Adaptation of Large Language Models
(2)github上的软件包
7-总结
最近刚刚开始学习,今天就了解一些概念吧