LoRA作者(指的的LoRA微调SD的作者)的github仓库:http://github.com/cloneofsimo/lora
这里写到一共有三种方法,
DreamBooth 我们最常用的, 需要显存少,效果好
注意: 不使用Prior Loss 被称为
Fine-tuning (naive training), including U-Net and Text Encoder
这个和大模型使用LoRA微调不一样的
Textual Inversion 知道,似乎没人用
Pivotal Turning 很少人知道,而且很少人用,LoRA作者说其效果最好,但需要12G以上显存
第三种方法LoRA作者说其效果最好,但需要12G以上显存。
我们使用的kohya-ss的LoRA训练脚本至今也没第三种实现,可能是因为显存要的比较多吧。
再来看Diffusers库:
使用LoRA微调大模型,这里和上面Fine-tuning (naive training) 是不一样的
使用DreamBooth LoRA微调:
从这里可以看到我们最常用的就是DreamBooth LoRA方法,不使用Prior Loss 被称为
Fine-tuning (naive training),训练文本编码器需要7G显存,不训练文本编码器的话6G以下显存就可以训练。