LyCORIS

LyCORIS

LyCORIS(Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion)是一个面向 Stable Diffusion 的开源参数高效微调算法库。它在 LoRA 的基础上汇集 LoCon、LoHa、LoKr 等多种权重分解方法,用较少参数与显存完成模型定制,并可直接被图像生成界面调用[1][2]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

LyCORIS 是一套开源库,目标是为 Stable Diffusion 提供多种参数高效微调方法。其名称由“Lora beYond Conventional methods”与“Other Rank adaptation Implementations for Stable diffusion”两部分首字母拼成,直译即“超越常规方法的 LoRA 与其他秩自适应实现”[1][3]。

该库由 LoCon 项目发展而来,最初用于在 sd-scripts 等训练脚本中替换或补充原有的 LoRA 实现[2]。按照作者说明,它的定位并不限于某一个算法,而是充当试验台,让使用者比较不同权重更新分解方式的效果[1]。

与单一 LoRA 相比,LyCORIS 的产出仍以小的附加权重文件形式保存,使用时叠加在基础模型上,因此常被归入适配器一类[4][3]。

原理

微调时模型原有权重 $W_0$ 被冻结,只训练一个增量 $\Delta W$。常规 LoRA 把增量拆成两个低秩矩阵之积 $\Delta W = BA$,训练结束后仅保存 $A$、$B$,前向计算写作 $h = W_0 h + \gamma BAh$,其中 $\gamma$ 为控制叠加强度的比例系数[1]。这一约束把可训练参数从 $p \times q$ 降到 $r(p+q)$,秩 $r$ 远小于原矩阵维度[1]。

LyCORIS 的价值在于更换分解形式。LoHa 采用哈达玛积,用两组低秩矩阵的逐元素乘积表示增量,可实现不超过维度平方的秩,而常规 LoRA 的秩上限仅等于维度[5]。LoKr 思路相近,但改用克罗内克积把增量表示为两个较小矩阵的直积,从而在同样参数量下改变表达能力[5]。LoCon 则把 LoRA 的适用范围从线性层扩展到卷积层[3]。


flowchart LR

A[冻结权重 $W_0$] --> D[输出]

B[低秩矩阵分解 ΔW] --> D

B --> B1[LoRA: ΔW = BA]

B --> B2[LoHa: 哈达玛积]

B --> B3[LoKr: 克罗内克积]

由于保存的是可还原的分解参数,权重更新可以被缩放后加载到与训练时不同的基础模型上,也可以与其他微调结果合并,或与 ControlNet 一类控制工具配合使用[1]。库内还提供合并比例、维度、alpha、factor 等超参数,共同决定模型容量与叠加效果[1]。

发展历程

项目起点是 2023 年 2 月出现的 LoCon,它在 LoRA 基础上加入卷积层实现,并通过 sd-scripts 用于训练[6]。同年 3 月 9 日,采用哈达玛积表示的 LoHa 公开,LoCon 与 LoHa 随后被纳入同一个名为 LyCORIS 的代码仓库[6]。

2023 年 9 月 26 日,相关论文《Navigating Text-To-Image Customization: From LyCORIS Fine-Tuning to Model Evaluation》以预印本形式发布,系统比较了 LoRA、LoHa、LoKr 与全参数微调在保真度、可控性、多样性上的差异,该论文后被 ICLR 2024 收录[7][8]。

Stable Diffusion WebUI 的 1.5.0 版本之后,内置 LoRA 系统正式支持 LyCORIS 模型,用户无需额外插件即可加载;在此之前的版本需借助扩展实现[9]。此后库的实现范围继续扩大,陆续加入 OFT、BOFT、(IA)³、DyLoRA、GLoRA 等方法,并从 4.0.0 版起为各算法提供融合内核以降低显存占用与计算时间[8]。

应用

最常见的使用场景是文本到图像生成中的概念定制:用少量图片训练一个小权重文件,让基础模型学会特定人物、画风或物体,生成时再以一定强度叠加[3]。因为在注意力层之外还能作用于卷积层,该方法常被用于调整画风、注入角色或添加特定动物[3]。

训练途径主要有 3 种:借助 kohya-ss 的 sd-scripts、使用 HCP-Diffusion,或把 LyCORIS 当作独立包装器接入自写的 PyTorch 脚本[2]。推理侧除 WebUI 外,ComfyUI、InvokeAI 等界面以及部分在线生成服务也支持加载这类模型,但对较新的算法类型支持不一定及时[2]。

模型文件体积通常只有数 MB,便于分发与组合[5]。除扩散模型外,LoHa 与 LoKr 也被用于大语言模型的适配,作者也将非扩散任务列为后续实验方向[8]。

局限

不同分解方式的取舍并不统一。作者提供的对比显示,全参数微调在保真度与灵活性上占优,LoHa 的多样性表现较好,LoKr 在小文件体积下保真度较高,但在切换基础模型或组合多个概念时可能变差[2]。这些排序基于有限实验,作者本人也注明需谨慎对待[2]。

参数配置不当会带来训练不稳定。官方文档指出,LoHa 在维度较高时可能出现损失震荡甚至变为 NaN,需降低学习率[5]。在 SDXL 上训练前馈层时也有模型损坏、损失变为 NaN 的报告,解决方案是仅训练注意力模块[4]。

兼容性方面,新加入的算法类型往往需要较新的界面版本,旧版 WebUI 或第三方平台未必能读取[2]。使用较小的 LoKr 配置训练的模型迁移能力较弱,换用其他基础模型后效果可能明显下降[5]。此外,LyCORIS 本身只提供算法与训练接口,不作模型质量评估,其论文亦指出系统性评价微调结果仍存在困难[1]。

参见

  • Stable Diffusion —— LyCORIS 主要服务的开源文本到图像扩散模型。

  • LoRA —— LyCORIS 名称与设计的直接来源,采用低秩矩阵分解的微调方法。

  • LoCon —— LyCORIS 的前身,把 LoRA 扩展到卷积层。

  • 参数高效微调 —— LyCORIS 各算法所属的技术类别。

  • ControlNet —— 可与 LyCORIS 权重配合使用的图像生成控制工具。

参考资料

  1. arxiv.org 上的网页 [引用日期2026-10-29]
  2. github.com 上的网页 [引用日期2026-10-29]
  3. LyCORIS: Difference between revisions [引用日期2026-10-29]
  4. LyCORIS [引用日期2026-10-29]
  5. Algo-List [引用日期2026-10-29]
  6. LyCORIS - としあきdiffusion Wiki* [引用日期2026-10-29]
  7. citations [引用日期2026-10-29]
  8. pypi.org 上的网页 [引用日期2026-10-29]
  9. README [引用日期2026-10-29]
词条评价
词条统计

浏览次数:1 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:28:36Z

历史版本

本条目引用的词条
Stable Diffusion LoCon LoRA 参数高效微调 ControlNet