低ランク適応
低ランク適応(LoRA)は、大規模言語モデル(LLM)などの大規模事前学習モデルを、モデルの元のすべてのパラメータを再トレーニングすることなく、特定のダウンストリームタスクに適応させるように設計された、パラメータ効率的なファインチューニング(PEFT)技術です。LoRAは、巨大な重み行列全体を更新する代わりに、モデルの層に小さく訓練可能なランク分解行列を注入します。
従来のファインチューニングには、特に数十億のパラメータを持つモデルを扱う場合、膨大な量のGPUメモリと時間を含む多大な計算リソースが必要です。LoRAは、この要件を劇的に削減します。わずかな新しい低ランク行列のみを訓練することにより、最先端のモデルカスタマイズを限られたハードウェアを持つ研究者や企業でも利用可能にします。
本質的に、LoRAは大規模な重み行列 $\Delta W$ の更新を、2つのはるかに小さな行列 $A$ と $B$ の積として近似します。数学的には、$\Delta W \approx BA$ であり、分解のランク ($r$) は元の行列の次元よりも大幅に小さいです。トレーニング中、行列 $A$ と $B$ のパラメータのみが更新され、元の固定された事前学習済み重み ($W_0$) はそのまま維持されます。最終的な出力は、適応された変更を元の重みに加算することによって計算されます:$W' = W_0 + BA$。
LoRAは、さまざまなAIアプリケーションで広く採用されています:
LoRAを採用することの利点は、MLOpsパイプラインにとって非常に大きいです:
非常に効果的である一方で、LoRAには限界があります。ランク ($r$) の選択は重要なハイパーパラメータです。低すぎるとタスクのアンダーフィッティングにつながる可能性があり、高すぎるとパラメータ効率の利点が損なわれます。さらに、タスク固有の知識にはうまく適応しますが、固定された重みに埋め込まれたモデルのコアな世界知識を根本的に変更するものではありません。
この技術は、パラメータ効率的なファインチューニング(PEFT)というより広範な分野の一部です。その他の関連概念には、プロンプトチューニング、プレフィックスチューニング、量子化があり、これらすべてが大規模な基盤モデルの適応にかかる計算コストを削減することを目的としています。