LoRA

Low-Rank Adaptation

LoRAとは

LoRA(Low-Rank Adaptation)とは、大規模言語モデル(LLM)のファインチューニングを効率的に行うための手法で、2021年にMicrosoftの研究者によって提案されました。モデルの全パラメータを更新する代わりに、低ランクの行列を追加的に学習させることで、少ない計算リソースとメモリで効果的なカスタマイズを実現します。

LoRAの仕組み

LoRAは、Transformerモデルの注意機構(Attention)における重み行列の更新を、低ランクの2つの小さな行列の積で近似します。例えば、d×dの重み行列の更新を、d×rとr×dの2つの行列の積で表現します(rはランクで、dよりはるかに小さい値)。これにより、更新すべきパラメータ数が大幅に削減され、元のモデルの1%以下のパラメータ数で同等以上の性能を達成できることが多いです。

LoRAの利点と応用

LoRAの最大の利点は、計算コストの大幅な削減と、元のモデルのパラメータを変更しないため複数のLoRAアダプターを切り替えて使える点です。用途別に異なるLoRAアダプターを作成し、必要に応じて差し替えることが可能です。オープンソースのLLMコミュニティでは、LoRAアダプターの共有が活発に行われており、Hugging Faceなどのプラットフォームで多数のアダプターが公開されています。