用語集

LoRA(低ランク適応)

LoRAがYOLO のような大規模なAIモデルを効率的に微調整し、コストを削減し、最小限のリソースでエッジ展開を可能にする方法をご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

LoRA(Low-Rank Adaptation)は、自然言語処理(NLP)やコンピュータ・ビジョン(CV)などで使用されるような、事前に訓練された大規模な機械学習(ML)モデルを、モデル全体を再トレーニングすることなく、特定のタスクやデータセットに適応させるために使用される効率的な手法である。大規模なモデルの微調整に伴う計算コストとメモリ要件を大幅に削減し、高度なAIをより身近なものにする。LoRAはPEFT(Parameter-Efficient Fine-Tuning)手法の傘下にあり、パラメータを最小限に変更しながらモデルを適応させることに重点を置いている。

LoRAの仕組み

従来のファインチューニングでは、新しいデータを使用して、事前に訓練されたモデルのすべてのパラメータ(またはモデルの重み)を更新します。最新のLLMや大規模ビジョンモデルのように、数十億ものパラメータを持つモデルの場合、このプロセスにはかなりの計算リソースが必要となります。 GPUメモリと時間が必要です。LoRAは、モデルを適応させるために必要な変更は、多くの場合、低次元空間に存在する、つまり、すべての重みを変更する必要はないという研究によって裏付けられた原則に基づいて動作します。

LoRAは、元の重みをすべて変更する代わりに、それらを凍結し、より小さく、訓練可能な「低ランク」行列を、モデルアーキテクチャの特定の層、多くの場合、Transformerブロック(多くの大規模モデルで一般的なコンポーネントで、Attention Is All You Need論文でさらに詳しく説明されている)に注入する。これらの新しく追加された行列(しばしばアダプターと呼ばれる)だけが、微調整の過程で更新される。これによって、学習可能なパラメータの数が劇的に削減され、多くの場合、桁違いの数(例えば、数十億の代わりに数百万)になる。オリジナルのLoRA研究論文では、手法とその効果に関する技術的な詳細が述べられている。このアプローチにより、ファインチューニングプロセスは大幅に高速化され、メモリ消費も少なくなります。

関連性とメリット

LoRAの主な利点はその効率性で、いくつかの重要な利点がある:

  • 計算コストの削減:完全なファインチューニングに比べ、GPU メモリと計算パワーが大幅に少なくて済むため、それほど性能の高くないハードウェアでも大規模なモデルを適応させることが可能です。
  • 小さなストレージフットプリント:元のモデルの重みは凍結されているため、特定のタスクごとに小さなLoRAアダプターだけを保存すればよい。これは、タスクごとに微調整されたモデルの完全なコピーを保存するよりもはるかに効率的です。
  • タスク切り替えの高速化:異なるLoRAアダプタをロードすることで、全く新しい大型モデルをロードすることなく、タスクを素早く切り替えることができます。
  • 同等のパフォーマンス:LoRAは、はるかに少ないパラメータしか学習していないにもかかわらず、多くの場合、特定のダウンストリームタスクの完全なファインチューニングによって得られる精度と同様のレベルを達成します。
  • エッジ展開の実現:必要なリソースが減ることで、計算能力やメモリが制限されるエッジ・コンピューティング・シナリオへのモデルの適応が容易になり、スマートフォンや組み込みシステムのようなデバイスに強力なAI機能をもたらす(IntelエッジAIの説明)。
  • 民主化: GPT-4やUltralticsのような最先端のモデルをカスタマイズしたい研究者や開発者の参入障壁を低くする。 Ultralytics YOLOモデルのような最先端のモデルをカスタマイズしたい研究者や開発者の参入障壁を低くする。

LoRAの応用

LoRAの効率性は、さまざまな領域で価値を発揮する:

  1. 大規模言語モデル(LLM)の適応:これは最も一般的な使い方のひとつだ。開発者は、事前に訓練された大規模なLLM(Hugging Faceで入手できるような)を利用することができる。 Hugging Faceを使用し、カスタムチャットボット、ドメインに特化した質問応答システム、特定のタイプのドキュメントに対するテキスト要約の改善など、特定のアプリケーションに特化させることができる。Hugging FacePEFTライブラリのようなライブラリは、LoRAの簡単な実装を提供する。
  2. コンピュータビジョンモデルのカスタマイズLoRAは、物体検出画像セグメンテーションポーズ推定などのタスクのための大規模なコンピュータビジョンモデルに適用することができる。例えば、COCOのような大規模なデータセットで事前に訓練されたUltralytics YOLO モデルは、LoRAを使用して、野生動物保護のための絶滅危惧種や製造品質管理の特定の欠陥のようなニッチな領域で特定のタイプのオブジェクトを検出するように効率的に微調整することができます。Ultralytics HUBのようなプラットフォームは、そのような適合モデルのトレーニングとデプロイメントを効率化できる。

LoRAと関連概念

LoRAを他のモデル適応技術と区別することは有益だ:

  • 完全な微調整:この方法は、新しいデータセット上で、事前に訓練されたモデルのすべての重みを更新する。多くの場合効果的であるが、適応されたモデルごとに多大な計算リソースとストレージを必要とする。これに対してLoRAは、元の重みを凍結し、注入された小さなアダプター行列のみを訓練します。詳細については、ファインチューニング用語集と NVIDIAファインチューニングの概要をご覧ください。
  • プロンプトチューニング:この手法はモデルの重みを完全に凍結したまま、代わりに連続的な「ソフトプロンプト」(入力埋め込みに追加されるベクトル)を学習し、特定のタスクに対するモデルの振る舞いを制御する。LoRAとは異なり、モデルの重みを変更することなく、純粋に入力表現の適応に焦点を当てる。プロンプトチューニングと プロンプトエンジニアリングについてもっと読む。
  • その他のPEFT手法LoRAは、PEFT(Parameter-Efficient Fine-Tuning)という広い分野の中の1つの手法に過ぎません。他の手法には、アダプター・チューニング(似ているがアダプター構造が若干異なる)、プレフィックス・チューニング、IA³などがあり、それぞれパラメーター効率とパフォーマンスのトレードオフが異なる。

要約すると、LoRAは、NLPとコンピュータ・ビジョンの両方における幅広い特定のタスクのために、事前に訓練された大規模な基礎モデルをカスタマイズする強力でリソース効率の高い方法を提供し、高度なAIをより実用的で身近なものにする。

すべて読む