ファインチューニングの課題
LLMのファインチューニングには、以下のような2つの課題があります:
-
計算コストの増加
全パラメータを微調整するには膨大な計算リソースが必要です。一部の研究では、追加の層を導入し、それ以外のパラメータを固定してトレーニングを行う手法が検討されました。しかし、この方法は計算の並列処理を阻害し、推論速度が低下します。 -
知識のトレードオフ
既存のモデルが持つ知識を保持しつつ、新しいタスク用の情報を追加するのは難しい課題です。直接パラメータを調整すると、元の性能を損なうリスクがあります。
LoRAの実装とアーキテクチャ
LoRAの実装はシンプルですが、非常に効率的です。
実装手順
行列の初期化
A:ランダムなガウス分布で初期化
B:ゼロ行列で初期化
適用範囲の選定
LoRAは、特にアテンションメカニズムのクエリ(Query)、キー(Key)、バリュー(Value)行列に適用されます。これにより、効率性と性能のバランスを実現します。
低ランクパラメータの調整
GPT-3モデルでは、行列のランクを4に設定することで、VRAM消費量を350GBからわずか35MBに削減。
パフォーマンス評価と結果
他手法との比較
LoRAの性能を他のファインチューニング手法(PreEmbedやAdapter)と比較した結果、LoRAは少ないパラメータで優れた結果を示しました。特にGPT-3のような大規模モデルにおいて、その優位性が顕著です。
-
少数パラメータでの高精度
LoRAはわずか470万パラメータの調整でも、競合手法を上回る精度を達成しました。 -
大規模モデルへの適用
モデルサイズが大きいほど、LoRAの効率性が顕著に現れます。たとえば、RoBERTaのような比較的小規模なモデルでは効果が限定的でしたが、GPT-3ではLoRAの効果が最大化されました。