mergekit
https://github.com/arcee-ai/mergekitarcee-ai/mergekit
mergekit は、TIES、線形、slerp マージなどのさまざまなマージ方法を使用して、事前トレーニングされた言語モデルをマージするためのツールキットです。
LLMのマージ
モデル差分でLoraを作ったりもできるようだ
いつの間にか管理元が変わっていた(旧リンクも新しいURLにリダイレクトされる)morisoba65536.icon
多分よくある個人開発→規模が大きくなったのでコミュニティや法人管理に変わったパターンなのかな…
https://www.arcee.ai/法人管理に変わったパターンのようだ
公式にプルリク投げるか微妙な内容なので一旦ここにメモる備忘録
mergekitのmergekit-extract-loraで下記のエラーが多分最近のモデルだとほぼ出るので
RuntimeError: "svd_cuda_gesvdj" not implemented for 'BFloat16'
※CUDAのところはCPUのこともある
対象方法
mergekit\scripts\extract_lora.pyの
u, s, vh = torch.linalg.svd(task_vector, full_matrices=False)
を
u, s, vh = torch.linalg.svd(task_vector.to(torch.float), full_matrices=False)
に書き換えてから改めて
pip install -e . # install the package and make scripts available
で入れ直すと、差分で作ったLoraがFP32で保存されるものの通るようにはなる