LoRAのマージスクリプトを層別マージに対応させた

sd-scriptsにあるnetwork/svd_merge_lora.pyはLoRAどうしのマージを行いランクを変えて保存するスクリプトですが、層別に適応度を指定するマージには対応していませんでした。

某所である方がLoRAの層別マージのツールに関する質問をされているのを見かけたため、層別マージのサポートを追加したフォークを作成しました。
PRが通ったため、現在は本家から利用可能です。また、sdxl_merge_lora.py でも LBW がサポートされました。

--lbwsオプションにhako-mikan氏のLBW形式と同様の配列で指定します。12, 17, 20, 26層に対応しています。

python svd_merge_lora.py --save_precision bf16 --precision float \
--save_to output.safetensors --models input1.safetensors input2.safetensors \
--ratios 1 1 --lbws "[1,1,1,1,1,1,1,1,1,1,1,1]" "[1,1,1,1,1,1,1,1,1,1,1,1]" \
--new_rank 1


いいなと思ったら応援しよう!