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 后,继续学习:
- ControlNet 控制 - 精确控制生成
- 模型训练 - 训练自己的模型
- 图生图技术 - 基于图像生成
最后更新:2026-04-05