体系 › 論文解説
·無料·論文·13分で読めます

LoRA 論文解説:Low-Rank Adaptation とは?低ランクで足りる理由を原論文からわかりやすく

LoRA とは何か、原論文(Hu et al., 2021)を本文だけを根拠に読み直す。BAという式の意味、論文が実測した「増幅率21倍」、r=1で足りた理由、そして論文自身が残した未検証領域まで。

要点

  • LoRAは事前学習済み重みW0を凍結し、低ランクの差分BAだけを学習する手法である。
  • GPT-3 175Bでr=4、queryとvalueの射影行列に適用すると、チェックポイントは350GBから35MBに減る。
  • デプロイ時にW=W0+BAとしてマージするため、推論時の追加レイテンシがゼロであることが構成上保証される。
  • アダプタはバッチ1・系列長128で19.8msが23.9ms(+20.7%)と25.8ms(+30.3%)に悪化する。
  • ΔWは事前学習で学習済みだが強調されていなかったタスク固有の方向を増幅しており、r=1でも足りる場合がある。
対象textタスクfine-tuning

LoRA: Low-Rank Adaptation of Large Language Models

一次資料 — この記事の根拠

論文の発表 2021-06-17→この解説の公開 2026-08-035年2か月後

LoRA: Low-Rank Adaptation of Large Language ModelsEdward J. Hu, Yelong Shen, Phillip Wallis ほか · 2021-06-17 · v2arXiv:2106.09685論文ページ·PDF
原文の要旨(Abstract)を読む

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.


175Bのコピーを100個持てるか

大規模事前学習モデルを複数の下流タスクに合わせて使いたい。素直な方法はフルファインチューニングですが、その最大の欠点は「新しいモデルが元のモデルと同じ数のパラメータを持つ」ことです(§1)。GPT-2 や RoBERTa large では単なる不便で済んだこの性質が、1750億パラメータの GPT-3 では致命的なデプロイ課題になる、というのが出発点です。

論文が挙げる数字は具体的です。GPT-3 175B のフルファインチューニングでは学習中の VRAM 消費が 1.2TB。r=4r=4 で query と value の射影行列だけを適応した LoRA なら、保存すべきチェックポイントは 350GB から 35MB へ、およそ10000分の1に落ちます(§4.2)。脚注4はさらに率直で、デプロイ時には結局 350GB のベースモデルが要るが、100個の適応済みモデルを持つのに必要なのは 350GB+35MB×100≈354GB350\mathrm{GB}+35\mathrm{MB}\times100\approx354\mathrm{GB} であって 100×350GB≈35TB100\times350\mathrm{GB}\approx35\mathrm{TB} ではない、と書いています。

比喩を使うなら、フルファインチューニングは「辞書を1冊まるごと書き直す」作業、LoRA は「原本を封印したまま差分だけを別紙に書く」作業です。ただしこの比喩は保管コストしか説明していません。なぜ差分がそんなに薄くて済むのかが論文の本題です。

直感: 適応とは、既にある方向を増幅すること

論文の仮説はこうです。先行研究(Li et al. 2018a、Aghajanyan et al. 2020)が「過剰パラメータ化されたモデルは実は低い内在次元の上に乗っている」と示したことを受け、適応時の重みの変化 ΔW\Delta W もまた低い「内在ランク」を持つのではないか(§1)。

そして §7.3 で、その直感の中身を実測しています。GPT-3 の48層目の WqW_q について、ΔW\Delta W の特異ベクトルが張る部分空間へ WW を射影したときのフロベニウスノルムを比べたのが表7です。r=4r=4 のとき ∥U⊤WqV⊤∥F=0.32\|U^\top W_q V^\top\|_F = 0.32、∥ΔWq∥F=6.91\|\Delta W_q\|_F = 6.91 で、増幅率は約21倍。一方 WqW_q 自身の上位方向に射影すれば 21.67(∥Wq∥F=61.95\|W_q\|_F = 61.95)なので、ΔW\Delta W は WW の上位特異方向を繰り返してはいない。ランダム行列での射影は 0.02 なので、無相関でもない。(特異ベクトル・射影・低ランク近似そのものについては 特異値分解と低ランク近似 で扱っています。)

FIG 12本の向きを回すと内積と余弦が変わる。§7.3の射影も図3の部分空間の重なりも、突き詰めれば「2つの向きがどれだけ重なるか」を測っている

論文の結論はこうです。ΔW\Delta W は「事前学習で既に学習されてはいるが強調されていなかった、タスク固有の方向を増幅している」(§7.3)。つまりファインチューニングは新しい能力をゼロから作る作業ではなく、イコライザーのつまみを数本だけ大きく持ち上げる作業に近い。だからつまみは少なくて足りる——これが「低ランクで足りる」の中身です。

既存手法の何が問題だったのか

LoRA 以前にも省パラメータ適応はありました。論文(§3)は2系統に整理します。アダプタ層を追加する方式と、入力層の活性化を最適化する方式(prefix/prompt 系)です。

アダプタは推論レイテンシを増やす。 アダプタ層は直列に挿入されるので追加計算を必ず通ることになり、層を刈るなどしても「その追加計算を迂回する直接的な方法はない」(§3)。表1は GPT-2 medium を NVIDIA Quadro RTX8000 で100回計測した順伝播1回の実測です。バッチ32・系列長512では +2.2%〜+3.0% と小さいのに、バッチ1・系列長128では 19.8ms が 23.9ms(+20.7%)/25.8ms(+30.3%)まで悪化する。オンライン推論のようにバッチが小さい状況では無視できない、というのが論文の指摘です(§3、付録B)。シャーディング時は AllReduce や Broadcast の同期が増えてさらに悪化します。

prefix 系は最適化が難しく、系列長を食う。 論文は prefix tuning について「最適化が難しく、性能が学習パラメータ数に対して単調に変化しない」と観察し、さらに根本的な問題として、適応のために系列長の一部を予約すると下流タスクが使える系列長がその分減ると指摘しています(§3)。

LoRAの核である「更新は低ランクで足りる」は、言葉より触ったほうが早いです。rank を動かして、誤差が崩れる場所を確かめてください。

FIG 228×28の行列をrank-rの2枚(B·A)で再構成。rを上げると誤差が急落する — ΔW=BAが成立する理由そのもの

固有値・SVD・内積まで含めた数学の土台はLoRAとRAGを支える線形代数にまとめてあります。

仕組み: W0W_0 を凍結し、BABA だけを学習する

事前学習済み重み W0∈Rd×kW_0\in\mathbb{R}^{d\times k} に対し、その更新を低ランク分解で表現します(§4.1):

W0+ΔW=W0+BA,B∈Rd×r, A∈Rr×k, r≪min⁡(d,k)W_0+\Delta W=W_0+BA,\quad B\in\mathbb{R}^{d\times r},\ A\in\mathbb{R}^{r\times k},\ r\ll\min(d,k)

順伝播は式(3):

h=W0x+ΔWx=W0x+BAxh=W_0x+\Delta Wx=W_0x+BAx

学習中 W0W_0 は凍結され勾配を受け取りません。設計上の要点は3つです。

  1. 初期化: AA はランダムなガウス分布、BB はゼロ。よって学習開始時点で ΔW=BA\Delta W=BA はゼロ、モデルは元のモデルと完全に一致します(§4.1)。
  2. スケーリング: ΔWx\Delta Wx を αr\frac{\alpha}{r} 倍する(α\alpha は rr に対する定数)。論文は「Adam で最適化する場合、初期化を適切にスケールすれば α\alpha の調整は学習率の調整とほぼ同じ」と述べ、最初に試した rr に α\alpha を合わせてそれ以降チューニングしないと明言しています。rr を変えたときの再調整を避けるための仕掛けです(§4.1)。
  3. マージ: デプロイ時は W=W0+BAW=W_0+BA を明示的に計算して保存し、通常どおり推論する。タスク切替は BABA を引いて別の B′A′B'A' を足すだけ。これにより推論時の追加レイテンシがゼロであることが構成上保証されます(§4.1)。アダプタ層に対する明確な差はここです。

適用先については、自己注意の4行列(Wq,Wk,Wv,WoW_q,W_k,W_v,W_o)と MLP の2行列のうち、論文は注意重みだけに限定し MLP は凍結しています。単純さとパラメータ効率のため、と理由を述べたうえで、MLP 層・LayerNorm・バイアスへの適応は今後の課題として明示的に残しています(§4.2)。この4行列がそれぞれ何をしている行列なのかは Attention機構を1から理解する を参照してください。

論文はこの形式がフルファインチューニングの一般化でもあると論じます。全重み行列に当ててバイアスも学習し、rr を事前学習済み行列のランクまで上げれば表現力をおおよそ回復する。学習パラメータを増やすと LoRA は元モデルの学習に収束するのに対し、アダプタ系は MLP に、prefix 系は「長い入力を取れないモデル」に収束します(§4.1)。

実験が示したこと

評価は RoBERTa / DeBERTa(GLUE)、GPT-2(E2E NLG)、GPT-3 175B(WikiSQL、MNLI、SAMSum)で、すべて NVIDIA Tesla V100 上(§5)。ほとんどの実験で LoRA は WqW_q と WvW_v にのみ適用されています(§5.1)。

限界と未検証点

論文自身が認めているもの:

※本記事執筆時点(2026年)の補足(原論文の主張ではなく筆者の注記): 本論文の実験対象は 2021年時点のモデル(RoBERTa / DeBERTa / GPT-2 / GPT-3 175B)です。その後 LoRA は量子化したベースモデルとの併用など多くの派生を生みましたが、本記事の数値はすべて本論文の報告値であり、後続研究の結果は含めていません。

実務Tips

以下は論文の記述に基づく筆者の運用解釈です。

まとめ

原論文: Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models" (arXiv:2106.09685, 2021 / v2)

参考文献

  1. Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu et al.. (2021-06-17) LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

運営: TechAthletes · 編集方針 · 出典の付け方 · 訂正の記録

コメント

コメントにはログインが必要です