LoRAの種類

Last-modified: 2023-11-02 (木) 23:25:46

LoRAにはいくつかのモジュールとアルゴリズムが存在する。
どれを使うかによって、パラメータの行列での扱い方が変わり、
学習結果に大きく影響する。

LoRAの種類

メジャー系LoRAの早見表

編集が難しく手を焼いており、旧情報があります。後述のリンク先も参照して下さい。

概要設定パラメータ
実装モジュール
--network_module=XXX
アルゴリズム名旧式語源大まかな特徴--network_args “XXX” “XXX”
指定必須な変数は★
その他の設定
(公式推奨値)
networks.loraLoRA-LierLa(リエラ)
改名前:LoRA
LoRA for Linier Layers,
Linear 層およびカーネルサイズ 1x1 の Conv2d 層に適用されるLoRA
-
LoRA-C3Lier(セリア)LoConと基本機能は同じ。
LyCORIS版LoConと混合を避けるため改名
conv_dim=XXX ★
conv_alpha=XXX ★
locon.locon_kohyaLoConLoRA for C olutional layers with 3 x3 Kernel and Linear layersconv_dim=XXX
conv_alpha=XXX
networks.dyloraDyLoRA-LierLaLoRA-LierLaのDyLoRA版algo=dylora ★
unit ★
down_lr_weight
mid_lr_weight
up_lr_weight
dropout
DyLoRA-C3LierLoRA-C3LierのDyLoRA版algo=dylora ★
conv_dim ★
conv_alpha ★
unit ★
down_lr_weight
mid_lr_weight
up_lr_weight
dropout
lycoris.kohyaLoConalgo=loconまたはlora ★
conv_dim=XXX
conv_alpha=XXX
LoHaアダマール積のLoRAalgo=loha ★
conv_dim=XXX
conv_alpha=XXX
dropout=XXX
dim <= 32, 上限64
alpha <= 1
LoKrクロネッカー積のLoRAalgo=lokr ★
conv_dim=XXX
conv_alpha=XXX
dropout=XXX
(IA)^3algo=ia3 ★
conv_dim=XXX
conv_alpha=XXX
DyLoRA※不明
Native Fine-Tuningalgo=full ★
conv_dim=XXX
conv_alpha=XXX

実装モジュール:これをインストールすれば対応するアルゴリズムを使用できるようになります。
アルゴリズム名:一般的な呼称です。
旧式:完全上位互換の元が登場し、使う必要のなくなった方式

各LoRAの概要

※まともに紹介すると長文になるので、sd-scriptsのURLを優先的に掲載。

sd-scriptsに実装済みでメジャーのもの

LoRA-LierLa,LoRA-C3Lier

  • LoRA: Low-Rank Adaptation of Large Language Models(arxiv)、LoRA(github)をStable Diffusionに適用したもの。

DyLoRA系

LyCORIS

誘導→ LyCORIS

その他マイナーなもの

LoRA-FA

sd-scriptsに実装済み。軽量なのが特徴

LoRA-FA is added experimentally. Specify --network_module networks.lora_fa option. The trained model can be used as a normal LoRA model.*1

NestedUNet

としあき製のLoRA-C3Lier亜種。
詳細はNestedUNetページを参照