アーカイブ / LLM
大規模言語モデルの重みを固定し、小さな追加行列だけを学習する
LoRA
LoRAの原論文から掲載した図です。細部はクリックして拡大できます。
原論文の図の説明を読む
Figure 3 : Subspace similarity between column vectors of A r = 8 A_{r=8} and A r = 64 A_{r=64} for both Δ W q \Delta W_{q} and Δ W v \Delta W_{v} . The third and the fourth figures zoom in on the lower-left triangle in the first two figures. The top directions in r = 8 r=8 are included in r = 64 r=64 , and vice versa.
概要
- 元モデルの重みを固定し、小さな追加行列だけを学習する方式である。
- GPT-3のWikiSQLでは、著者らのLoRA設定が73.4%、全面学習が73.0%だった。
- 追加行列を元の重みに合成できる一方、異なる用途を一回の推論で混ぜる運用には制約がある。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、LoRAの仕組み
- 01事前学習モデルと課題データ
- 02元の重みを固定
- 03小行列を学習
- 04更新を重みに合成
- 05課題向けの文章
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
一般的な言語モデルは大量の文章で事前学習した後、特定業務のデータで追加学習する。全パラメータ、つまりモデル内部の調整値を更新する方式では、業務ごとに大きな学習結果を保存し、学習中も多くのメモリを使う。
同じ基礎モデルを要約や質問応答など複数の用途に使う場合、この重複は運用上の負担になる。LoRAは、用途に必要な変更だけを小さく持つ方法として提案された。
手法
入力は事前学習済みモデルと、例えば記事とその要約を組にした課題データである。LoRAは、Transformerという文章処理モデルの一部の重み行列を固定する。重み行列は入力の数値を変換する表で、その変更分を小さな行列AとBの積で表す。学習ではAとBだけを調整する。
論文の実験では主に注意機構の二種類の重みに適用した。注意機構は、文章のどの部分を参照するかを計算する仕組みである。学習後は変更分を元の重みに足して使える。記事を入力すれば、その用途に合わせた要約文を出す、といった処理につながる。
新規性
LoRAは、事前学習済みの大きな重みを固定したまま、その変更分を二つの小さな行列の積として学習する。変更を低ランク、つまり少数の方向に制限することで、用途ごとに保存する学習済みの値を減らす。
追加行列を元の重みに合成して推論できる設計も特徴である。著者らは、GPT-3での言語タスクなどを通じて、この小さな変更でも性能を保てるか調べた。
従来手法との違い
全面的な追加学習では、用途ごとに元モデルと同規模の重みを更新・保存する。LoRAでは元モデルを共有し、用途ごとの追加行列だけを切り替える。著者らは、GPT-3の例で学習対象の値を約1万分の1、学習時のメモリ要件を約3分の1にできると述べる。
別の比較対象であるアダプターは層を追加する方式だが、LoRAの更新は元の重みに合成できるため、著者らの設計では推論時に追加層による遅延を生じない。
実験結果
著者らはGPT-3でWikiSQL、MultiNLIの一致条件、会話要約のSAMSumを評価した。学習対象が4.7百万個のLoRAでは、WikiSQLの正解率73.4%に対し全面学習は73.0%、MultiNLIは91.3%に対し89.5%だった。
SAMSumのROUGE-1/2/LはLoRAが52.1/28.3/44.3、全面学習が52.0/28.0/44.5で、指標によって優劣が異なる。ROUGEは生成文と参照文の語の重なりを測る。GPT-2のE2E文章生成でも、著者らは複数の評価指標を報告している。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案:社内の議事録を決まった書式に要約する。入力は過去の議事録と担当者が作成した要約の組、出力は会議ごとの要点、決定事項、担当者を含む短い要約とする。
共通の言語モデルを固定し、この要約作業用のLoRAだけを学習する。利用時は新しい議事録を渡して要約を生成し、担当者が原文と突き合わせてから共有する。用途を増やす場合も、まず各用途の評価データを別に用意する。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案:社内の議事録と承認済み要約を学習用と評価用に分ける。まず同じ基礎モデルを追加学習せずに使う方式を基準とし、LoRAを適用した方式と比較する。
評価用の会議について、決定事項と担当者の取りこぼし、原文にない記述、担当者の修正時間を測る。加えて、用途ごとの保存量と学習時のメモリ使用量を記録し、品質向上と運用負担の両方を判断する。
限界と課題
著者らは、推論時の遅延を避けるため追加行列を元の重みに合成すると、異なる用途のLoRAを同じ一回の処理で混ぜて扱うのは容易でないと記す。また、小さなランクがあらゆる課題やデータに通用するとは想定していない。
編集上の確認事項は、導入先の言語や専門語でも小さなランクで要約品質が保てるか、用途を切り替える頻度が運用に合うかである。論文のGPT-3での削減率を別のモデルにそのまま当てはめることはできない。
出典
元のタイトル・要旨を確認する(英語)
LoRA: Low-Rank Adaptation of Large Language Models
An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-09-29




