表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

大規模言語モデルの重みを固定し、小さな追加行列だけを学習する

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.

出典:LoRA / arXiv ↗

概要

  • 元モデルの重みを固定し、小さな追加行列だけを学習する方式である。
  • GPT-3のWikiSQLでは、著者らのLoRA設定が73.4%、全面学習が73.0%だった。
  • 追加行列を元の重みに合成できる一方、異なる用途を一回の推論で混ぜる運用には制約がある。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、LoRAの仕組み

左から右へ読む
  1. 01事前学習モデルと課題データ
  2. 02元の重みを固定
  3. 03小行列を学習
  4. 04更新を重みに合成
  5. 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だけを学習する。利用時は新しい議事録を渡して要約を生成し、担当者が原文と突き合わせてから共有する。用途を増やす場合も、まず各用途の評価データを別に用意する。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:社内の議事録と承認済み要約を学習用と評価用に分ける。まず同じ基礎モデルを追加学習せずに使う方式を基準とし、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