LoRA

AI概念
約1分で読めます

巨大モデルの既存の重みを固定したまま、学習可能な低ランク(Low-Rank)行列のみを追加することで、学習パラメータとハードウェア要求スペックを劇的に削減する効率的なファインチューニング(PEFT)手法です。

別名
Low-Rank AdaptationLoRA

詳しい説明

LoRA(Low-Rank Adaptation)は、大規模言語モデル(LLM)や画像生成モデルを特定の目的に合わせて最適化する際、モデル全体を修正する代わりに、非常に小さなサイズの「アダプター」行列のみを学習させる技術です。既存の重みは固定(Freeze)し、行列分解の原理を利用した2つの小さな行列を挿入して学習させることで、全パラメータの0.1%〜1%未満のみを学習させながらも、フルファインチューニングと同等の性能を発揮します。成果物であるアダプターファイルは数十MB程度と軽量であるため共有や管理が容易で、デプロイ時に既存モデルと結合すれば推論遅延がまったく発生しない点が強みです。

ツール選択において重要な理由

LoRAは、高スペックなサーバーがなくても個人PC(コンシューマー向けGPU)で大型モデルをカスタマイズ学習できるようにした「AIの民主化」の核心技術です。単一のベースモデルに複数のLoRAアダプターを交互に差し替えながら、さまざまなタスク(翻訳、要約、特定のスタイルの模倣など)を実行できるため、運用コストの効率が非常に高いのが特徴です。

選択および設定時に確認すべき点

  • Rank(r)設定:値が大きいほど性能は向上しますが、メモリ使用量が増加します。通常は8〜64の間が推奨されます。
  • Target Modules:主にAttentionレイヤーに適用されますが、最近の研究ではMLPレイヤーまで含めると性能がさらに向上することが示されています。
  • Alpha(α)値:学習安定化のためのスケーリング因子であり、通常はr値の2倍(r*2)に設定するのが標準です。
  • マージ(Merging)の可能性:リアルタイム推論時の性能低下を防ぐため、学習完了後にベースモデルと重みをマージできるか確認してください。

活用例

Llama-3モデルをベースに特定企業の内部文書スタイルを学習させた「相談専門LoRA」を作成したり、Stable Diffusionモデルに特定の画風やキャラクターを学習させたLoRAファイルを共有サイト(Civitaiなど)からダウンロードして使用したりすることが代表例です。

派生手法の比較

QLoRA

LoRAに4ビット量子化を組み合わせることで、メモリ使用量をさらに極限まで削減した手法です。

DoRA

重みを大きさ(Magnitude)と方向(Direction)に分解し、学習性能をフルファインチューニングにさらに近づけた最新の手法です。

関連用語

ファインチューニング