見出し画像

SDXLでDoRAを使ってみた

※この記事はrentryから移植したものです。今後はnoteに記録し、rentryは更新しません。

2024年2月にarxivにてWeight-Decomposed Low-Rank Adaptation(DoRA)と呼ばれるファインチューニング手法が発表されました。
これは、従来のLoRAがmagnitudeをファインチューンしていたのに対して、DoRAはdirectionをファインチューンすることで精度と安定性を改善するというものです。

論文発表後しばらくしてsd-scriptsの拡張スクリプト?のLyCORISにDoRAが実装されました。ということでLoRAとDoRAで軽く比較検証しました。

LoRA vs DoRA

いずれのLoRA/DoRAもLionで約4000ステップ学習しました。

v7がLoRA(dim16)でv8がDoRA(dim8)

赤みがかる現象が解消。目の描写が改善?

v2がLoRA(dim4)でv4がDoRA(dim8)

赤みがかる現象が解消。精度は変化なし

v4がLoRA(dim16)でv5がDoRA(dim8)

ヘイローの精度が改善したように見える。

loraがLoRA(dim8)でdoraがDoRA(dim8)

赤みがかってもやがかかる現象が解消。
線が太くなってコントラストが上がる。batch1相当で4224steps回したが過学習気味?

まとめ

精度改善は微妙ですが、変色などが無くなり学習の安定性が向上しました。しかし、コントラストが上がってしまった(魔人3.1の癖?)。まあLBWでどうにかなるとは思いますが。
収束の速度は変化しません。
欠点は計算(it/s)が遅いことがあげられます。

使用スクリプトなど:


この記事が気に入ったらサポートをしてみませんか?