低ランク行列を追加することで、大元のモデルを維持しつつ少ないコストで学習できる LoRA(Low-Rank Adaptation of Large Language Models)。先日、日本語でも大規模パラメータモデル cyberagent/open-calm-7b や rinna/japanese-gpt-neox-3.6b 等々がリリースされたり、HuggingFaceからはtransformersでLoRAを簡単に実現できるライブラリ、peft がリリースされたことで、試したことがある方も多いと思います。 ただ、LoRAのメリットについて主に学習の話が殆どで、もう一つの大きなメリットであるLLMのベースモデルのメモリを共有しつつ、複数のタスクをこなす方法の紹介は見かけたことがなかったので、それをpeftで行う方法についてのお話です。 なお、LoRAとは何か?というお話は、輪講資料
![LoRA のもう一つの大きなメリット、GPUメモリ共有しつつ別のタスク処理モデルへ即時に切り替える方法 - A Day in the Life](https://cdn-ak-scissors.b.st-hatena.com/image/square/2a4a43aaa98de74479b27a80b630134c00d31635/height=288;version=1;width=512/https%3A%2F%2Fi.imgur.com%2FKj58m4Q.png)