LoRA 模型 #

什么是 LoRA? #

LoRA(Low-Rank Adaptation)是一种轻量级的模型微调技术,可以在不修改基础模型的情况下,添加新的风格、角色或概念。

text
┌─────────────────────────────────────────────────────────────┐
│                       LoRA 原理                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  传统微调:                                                  │
│  ├── 修改整个模型权重                                        │
│  ├── 文件大 (2-6GB)                                         │
│  ├── 需要大量显存                                           │
│  └── 难以组合使用                                            │
│                                                             │
│  LoRA 微调:                                                 │
│  ├── 只训练低秩分解矩阵                                      │
│  ├── 文件小 (10-200MB)                                      │
│  ├── 显存需求低                                             │
│  ├── 可叠加使用                                              │
│  └── 不修改基础模型                                          │
│                                                             │
│  数学原理:                                                  │
│  W' = W + ΔW = W + BA                                       │
│  其中 B×A 是低秩矩阵,参数量大幅减少                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

LoRA 的优势 #

text
LoRA 的核心优势:

1. 文件体积小
   ├── 通常 10-200MB
   ├── 方便分享和存储
   └── 快速下载和加载

2. 可叠加使用
   ├── 同时使用多个 LoRA
   ├── 组合不同风格
   └── 灵活搭配

3. 权重可调
   ├── 控制影响程度
   ├── 0-1 范围调整
   └── 精细控制效果

4. 不修改基础模型
   ├── 基础模型保持不变
   ├── 可随时切换
   └── 无需备份

5. 训练成本低
   ├── 显存需求低
   ├── 训练速度快
   └── 个人可训练

LoRA 类型 #

按用途分类 #

text
LoRA 类型:

1. 风格 LoRA
   ├── 添加特定艺术风格
   ├── 例: 油画风、水彩风、赛博朋克
   └── 改变整体视觉风格

2. 角色 LoRA
   ├── 学习特定角色外观
   ├── 例: 动漫角色、游戏角色
   └── 保持角色一致性

3. 概念 LoRA
   ├── 学习特定概念或物体
   ├── 例: 服装、发型、姿势
   └── 添加新元素

4. 画风 LoRA
   ├── 模仿特定画师风格
   ├── 例: 某位艺术家的画风
   └── 艺术风格迁移

5. 人物 LoRA
   ├── 学习真实人物特征
   ├── 例: 明星、网红
   └── 生成相似人物

按技术分类 #

text
技术类型:

Standard LoRA:
├── 标准 LoRA
├── 最常见类型
└── 适用于大多数场景

LoHa (Low-Rank Hadamard):
├── 使用 Hadamard 积
├── 参数效率更高
└── 适合复杂概念

LoKr (Low-Rank Kronecker):
├── 使用 Kronecker 积
├── 更大的表达能力
└── 适合风格迁移

LyCORIS:
├── 统称各种 LoRA 变体
├── 包括 LoHa, LoKr 等
└── 更灵活的微调方式

LoRA 使用方法 #

在 WebUI 中使用 #

text
基本使用步骤:

1. 下载 LoRA 文件
   ├── 格式: .safetensors 或 .pt
   ├── 存放位置: models/Lora/
   └── 来源: Civitai, Hugging Face

2. 刷新模型列表
   └── 点击刷新按钮或重启 WebUI

3. 选择 LoRA
   方式一:点击 LoRA 卡片
   方式二:使用触发词
   方式三:手动输入语法

4. 调整权重
   └── 通常 0.5-1.0

5. 生成图像
   └── LoRA 会自动应用

LoRA 语法 #

text
LoRA 提示词语法:

基本语法:
<lora:模型名:权重>

示例:
<lora:anime_style:1.0>    # 权重 1.0
<lora:anime_style:0.8>    # 权重 0.8
<lora:anime_style:0.5>    # 权重 0.5

使用位置:
├── 可以放在提示词任意位置
├── 通常放在开头或结尾
└── 不影响其他提示词

完整示例:
<lora:anime_style:0.8>, a beautiful girl,
long hair, blue eyes, masterpiece

权重调整 #

text
权重对效果的影响:

权重 = 0:
├── LoRA 完全不生效
└── 等同于不使用

权重 = 0.3-0.5:
├── 轻微影响
├── 保留基础模型风格
└── 适合混合风格

权重 = 0.6-0.8:
├── 中等影响
├── 明显的风格变化
└── 常用范围

权重 = 0.9-1.0:
├── 强烈影响
├── LoRA 风格主导
└── 可能覆盖基础模型

权重 > 1.0:
├── 过度影响
├── 可能产生问题
├── 不推荐
└── 特殊效果可能用到

建议:
├── 从 0.7-0.8 开始尝试
├── 根据效果调整
└── 过高可能导致问题

多 LoRA 组合 #

组合使用技巧 #

text
多 LoRA 使用:

语法:
<lora:style1:0.7>, <lora:style2:0.5>, ...

示例:
<lora:anime_style:0.8>, <lora:detail_tweaker:0.5>,
a beautiful girl, masterpiece

组合建议:
├── 风格 LoRA + 细节 LoRA
├── 角色 LoRA + 风格 LoRA
├── 避免冲突的 LoRA
└── 总权重不宜过高

权重分配:
├── 主要 LoRA: 0.7-1.0
├── 辅助 LoRA: 0.3-0.6
└── 总和控制在合理范围

组合示例 #

text
常见组合方案:

动漫风格增强:
<lora:anime_style:0.8>, <lora:detail_tweaker:0.5>
# 风格 + 细节增强

写实人物:
<lora:realistic_face:0.7>, <lora:skin_detail:0.4>
# 面部 + 皮肤细节

角色 + 风格:
<lora:character_name:0.9>, <lora:art_style:0.6>
# 特定角色 + 艺术风格

质量提升:
<lora:detail_tweaker:0.5>, <lora:add_detail:0.4>
# 多个细节增强 LoRA

LoRA 选择指南 #

如何选择 LoRA #

text
选择 LoRA 的考虑因素:

1. 兼容性
   ├── 基础模型匹配
   │   ├── SD 1.5 LoRA → SD 1.5 模型
   │   ├── SDXL LoRA → SDXL 模型
   │   └── 不匹配可能效果差
   └── 版本兼容

2. 质量
   ├── 查看预览图
   ├── 阅读用户评价
   ├── 下载量参考
   └── 作者信誉

3. 触发词
   ├── 是否需要触发词
   ├── 触发词是什么
   └── 是否容易使用

4. 适用范围
   ├── 通用还是特定
   ├── 风格还是角色
   └── 使用场景

推荐资源 #

text
LoRA 下载平台:

1. Civitai
   ├── 网址: civitai.com
   ├── 特点: 模型最丰富
   ├── 预览图详细
   └── 社区活跃

2. Hugging Face
   ├── 网址: huggingface.co
   ├── 特点: 官方资源多
   ├── 版本管理好
   └── 技术文档全

3. LiblibAI
   ├── 网址: liblib.art
   ├── 特点: 国内访问快
   ├── 中文资源多
   └── 本土化内容

推荐 LoRA 类型:
├── 细节增强: add_detail, detail_tweaker
├── 质量提升: better_quality
├── 风格: 各种艺术风格 LoRA
└── 角色: 按需选择

LoRA 训练基础 #

训练准备 #

text
训练 LoRA 的基本要求:

硬件要求:
├── GPU: NVIDIA 显卡
├── 显存: 至少 8GB
├── 推荐: 12GB+
└── 训练时间: 几小时

软件准备:
├── Python 环境
├── 训练工具
│   ├── kohya_ss (推荐)
│   ├── LoRA trainer
│   └── sd-scripts
└── 依赖库

数据准备:
├── 训练图片
├── 图片预处理
└── 标注文件

数据集准备 #

text
数据集要求:

图片数量:
├── 角色 LoRA: 15-30 张
├── 风格 LoRA: 50-100 张
├── 概念 LoRA: 20-50 张
└── 质量 > 数量

图片要求:
├── 分辨率: 至少 512×512
├── 格式: PNG 或 JPG
├── 清晰度: 高
├── 多样性: 不同角度、场景
└── 一致性: 保持主题一致

标注:
├── 每张图片对应 txt 文件
├── 描述图片内容
├── 包含触发词
└── 可使用自动标注工具

训练参数 #

text
关键训练参数:

Network Rank (维度):
├── 常用: 32, 64, 128
├── 越大表达能力越强
├── 文件也越大
└── 推荐: 32-64

Network Alpha:
├── 通常等于 Rank 或 Rank/2
├── 影响学习强度
└── 推荐: Rank 或 Rank/2

Learning Rate (学习率):
├── 常用: 0.0001
├── 太高可能过拟合
├── 太低学习慢
└── 需要调整

Epochs (训练轮数):
├── 角色: 10-20
├── 风格: 20-50
└── 需要测试

Batch Size:
├── 常用: 1-4
├── 显存允许可增大
└── 影响训练速度

常见问题 #

LoRA 不生效 #

text
问题排查:

1. 检查文件位置
   └── 确认在 models/Lora/ 目录

2. 检查模型兼容性
   └── SD 1.5 LoRA 需要 SD 1.5 基础模型

3. 检查语法
   └── <lora:name:weight> 格式正确

4. 检查权重
   └── 权重 > 0

5. 刷新模型列表
   └── 重启 WebUI

效果不理想 #

text
效果优化:

1. 调整权重
   ├── 尝试不同权重值
   └── 找到最佳平衡点

2. 使用触发词
   ├── 查看 LoRA 说明
   ├── 添加推荐触发词
   └── 放在提示词开头

3. 调整 CFG
   ├── 某些 LoRA 需要不同 CFG
   └── 尝试 6-9 范围

4. 检查基础模型
   ├── 使用推荐的基础模型
   └── 确保兼容性

5. 减少冲突
   ├── 避免多个风格 LoRA
   └── 检查 LoRA 是否冲突

下一步 #

掌握 LoRA 后,继续学习:

最后更新:2026-04-05