LyCORIS 项目介绍
LyCORIS 项目是一个面向Stable Diffusion的创新性调参算法集,旨在提供多种参数高效的微调方法。这些算法能够优化模型的图像生成能力,灵活性和多样性,而不需要大量的训练资源。
项目背景
LyCORIS源自于LoCon项目。该项目致力于通过不同的技术手段优化Stable Diffusion模型,使其能在更少的参数调整下达到理想的输出效果。
算法概览
LyCORIS项目囊括了多种算法,包括LoRA(LoCon),LoHa,LoKr,(IA)^3,DyLoRA,和原生微调(又称梦展台技术)。另外,GLoRA以及GLoKr也将很快加入。每种算法都经过精心设计,以在不同场合下提供最佳的训练和生成效果。
以下是对部分算法的简单比较:
算法 | 忠实度 | 灵活性 | 多样性 | 大小 | 线性训练速度 | 卷积训练速度 |
---|---|---|---|---|---|---|
Full | ★ | ★ | ▲ | ▲ | ★ | ● |
LoRA | ● | ● | ◉ | ● | ● | ★ |
LoHa | ▲ | ◉ | ★ | ● | ● | ▲ |
LoKr低因子 | ◉ | ▲ | ● | ● | ★ | ● |
LoKr高因子 | ▲ | ●* | ★ | ★ | ★ | ● |
注:符号★、◉、●、▲分别表示性能的好坏等级,从好到差。
使用指南
图像生成
LyCORIS模型能在多个界面和在线服务中使用,如:
- ComfyUI
- InvokeAI
- CivitAI
- Tensor.Art
对于这些平台上的新模型类型可能需要请求支持更新。
模型训练
有三种方法可用于训练LyCORIS模型:
- 使用kohya-ss/sd-scripts。
- 使用Naifu-Diffusion。
- 通过LyCORIS作为独立的包装器来使用任何pytorch模块进行训练。
具体安装步骤可以通过pip或源码进行:
- 使用pip:
pip install lycoris-lora
工具功能
从Dreambooth模型中提取LoCon
可以通过命令行从Dreambooth模型中提取LoCon模块:
python3 extract_locon.py <settings> <base_model> <db_model> <output>
合并LyCORIS到模型中
将LyCORIS模型合并回检查点(基本模型):
python3 merge.py <settings> <base_model> <lycoris_model> <output>
项目计划与更新
LyCORIS项目正在不断更新,包括支持更多量化线性层、强化API功能、修复已知BUG等。
计划中的研究任务还包括自动选择算法、探索其他低秩表示或独立参数方法以改进微调效果。
引用
如果您在研究中使用了LyCORIS项目,请按照以下bibtex引用:
@inproceedings{
yeh2024navigating,
title={Navigating Text-To-Image Customization: From Ly{CORIS} Fine-Tuning to Model Evaluation},
author={SHIH-YING YEH and Yu-Guan Hsieh and Zhidong Gao and Bernard B W Yang and Giyeong Oh and Yanmin Gong},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
}
LyCORIS项目致力于通过参数高效的算法为模型微调提供解决方案,使其能够在不同的应用场合下展现出色的图像生成能力。无论是在学术研究还是实际应用中,这些算法都能为模型的定制化优化提供支持。