한줄 요약: 

추가 매트릭스(Rank: 매트릭스의 일종의 row크기) 주입해서  부분(주입된 부분) 파인튜닝하는 기법  



짧은 요약(Abstract) :    



대규모 언어 모델을 다양한 작업에 맞게 조정(fine-tuning)하는 것은 매우 높은 비용이 듭니다. 예를 들어 GPT-3 (175B) 경우 모든 파라미터를 새로 학습하는 방식은 저장 공간, 메모리, 연산 측면에서 매우 비효율적입니다. 이를 해결하기 위해 **LoRA (Low-Rank Adaptation)** 라는 방법을 제안합니다. LoRA 기존 모델의 파라미터는 고정시키고,  Transformer 레이어에 소수의 학습 가능한 저랭크 행렬(분해 행렬 A, B) 삽입하여 파라미터 수를 대폭 줄입니다.

 방식은 다음과 같은 장점이 있습니다:

* 학습해야  파라미터 수를 **최대 10,000 줄일  있음**
* GPU 메모리 사용량을 **3배까지 절감**
* **추론 속도 저하 없음** (어댑터와 달리)
* RoBERTa, DeBERTa, GPT-2, GPT-3 등의 다양한 모델에 적용 가능하며, 성능도 기존 full fine-tuning **동등하거나  우수함**

또한,  논문은 언어 모델 적응 과정에서 **랭크 결핍(rank-deficiency)** 현상이 있다는 실증적 분석을 제공하며, 이를 통해 LoRA 방식의 효과를 이론적으로도 뒷받침합니다.



A key paradigm in NLP involves large-scale pretraining followed by task-specific adaptation. However, full fine-tuning of large models like GPT-3 (175B parameters) is expensive and inefficient. This paper proposes **LoRA (Low-Rank Adaptation)**, which **freezes pre-trained weights** and **injects trainable low-rank decomposition matrices** into each Transformer layer. This significantly **reduces trainable parameters and GPU memory usage** for downstream tasks.

Compared to full fine-tuning of GPT-3 with Adam, LoRA:

* Reduces trainable parameters by **10,000x**
* Reduces memory requirement by **3x**
* Maintains or exceeds model quality on various models (RoBERTa, DeBERTa, GPT-2, GPT-3)
* Does not introduce **any additional inference latency**

LoRA is further supported by empirical analysis of **rank-deficiency** in model adaptation and is available with PyTorch support and implementations at [https://github.com/microsoft/LoRA](https://github.com/microsoft/LoRA).

---




* Useful sentences :  


Paper link
Lecture link


단어정리


Methodology

1. 핵심 아이디어

LoRA는 Transformer 언어 모델을 다운스트림 태스크에 맞춰 적응(fine-tuning)할 때, 기존의 전체 파라미터 업데이트 방식이 아닌 저랭크 행렬 업데이트를 통해 파라미터 효율성을 극대화합니다.


2. LoRA 수식: 저랭크 업데이트

Transformer의 Dense layer는 일반적으로 다음과 같이 작동합니다:

  • 기존 선형층 가중치: $W_0 \in \mathbb{R}^{d \times k}$
  • 입력 벡터: $x \in \mathbb{R}^{k}$
  • 출력 벡터: $h = W_0 x$

LoRA는 여기에 **저랭크 행렬 $B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times k}$**를 추가하여 다음과 같이 재구성합니다:

\[h = W_0 x + \Delta W x = W_0 x + B A x\]
  • $W_0$: 기존 학습된 가중치 (freeze)
  • $\Delta W = BA$: 학습 가능한 저랭크 행렬 곱
  • $r \ll \min(d, k)$: 매우 작은 rank 설정 (예: 1~4)

즉, 모델은 기존 파라미터는 그대로 고정하고, 작은 추가 행렬 $B$와 $A$만 학습합니다.


3. 적용 위치 및 설정

  • Transformer의 self-attention 모듈의 query ($W_q$)와 value ($W_v$) projection matrix에만 LoRA를 적용 (실험에서는 이 둘만 업데이트).
  • MLP 모듈은 학습 제외하여 파라미터 수를 더 줄임.
  • 초기화:

    • $A \sim \mathcal{N}(0, \sigma^2)$
    • $B = 0$ (초기에는 영향 없음)
  • 스케일링: $\frac{\alpha}{r}$ (기본값으로 고정하여 별도 튜닝 없음)

4. 아키텍처적 장점

  • 추론 속도 증가 없음: $W = W_0 + BA$ 형태로 병합 가능
  • 여러 태스크에서 빠르게 전환 가능: LoRA 모듈(A, B)만 바꾸면 됨
  • GPU 메모리 절감 및 속도 향상 (예: GPT-3에서는 VRAM 1.2TB → 350GB)

1. Key Idea

LoRA enables parameter-efficient fine-tuning of large language models by freezing pretrained weights and introducing trainable low-rank matrices into Transformer layers.


2. Formula: Low-Rank Update

For a weight matrix $W_0 \in \mathbb{R}^{d \times k}$ in a linear layer, the standard output is:

\[h = W_0 x\]

LoRA modifies this by introducing a low-rank adaptation:

\[h = W_0 x + \Delta W x = W_0 x + B A x\]

Where:

  • $B \in \mathbb{R}^{d \times r}$, $A \in \mathbb{R}^{r \times k}$
  • $r \ll \min(d, k)$: rank is small (e.g., 1–4)
  • $W_0$ is frozen, only $A, B$ are trainable.

3. Where LoRA is Applied

  • Applied to self-attention projection matrices (e.g., $W_q, W_v$) in Transformers
  • MLP and LayerNorm are kept frozen for simplicity and efficiency
  • Initialization:

    • $A \sim \mathcal{N}(0, \sigma^2)$, $B = 0$
  • Optional scaling factor: $\frac{\alpha}{r}$ applied to $BA$

4. Architectural Benefits

  • No inference latency: Matrices can be merged as $W = W_0 + BA$
  • Efficient task switching: Only LoRA weights $A, B$ need to be changed
  • Up to 3× less GPU memory, 10,000× fewer trainable parameters
  • Example: GPT-3 (175B) memory reduced from 1.2 TB → 350 GB


Results

1. 평가 대상 아키텍처

LoRA는 다음과 같은 주요 사전학습 모델들에 적용되어 평가되었습니다:

  • RoBERTa-base (125M) / RoBERTa-large (355M)
  • DeBERTa-XXL (1.5B)
  • GPT-2 medium (355M) / GPT-2 large (774M)
  • GPT-3 (175B)

각각의 모델에 대해 기존 full fine-tuning, adapter 계열, prefix-tuning 등 다양한 경쟁 기법들과 비교 실험이 진행되었습니다.


2. 테스트 데이터 및 태스크

모델 태스크 종류 사용 데이터셋
RoBERTa / DeBERTa 자연어 이해 (NLU) GLUE Benchmark (MNLI, SST-2, MRPC, CoLA, QNLI, QQP, RTE, STS-B)
GPT-2 자연어 생성 (NLG) E2E NLG Challenge
GPT-3 다양한 생성 및 분류 WikiSQL, MNLI, SAMSum (summarization)

3. 주요 메트릭

태스크 유형 사용 메트릭
GLUE (NLU) Accuracy, F1, Matthew’s Correlation, Pearson/Spearman Correlation
Text Generation (NLG) BLEU, NIST, METEOR, ROUGE-L, CIDEr
SQL Generation Logical form accuracy
Summarization ROUGE-1, ROUGE-2, ROUGE-L

4. 핵심 결과 요약

  • RoBERTa & DeBERTa:

    • LoRA는 full fine-tuning과 거의 동등한 성능 또는 더 높은 성능을 달성함
    • 예: RoBERTa-base 기준으로 GLUE 평균 점수 87.2 (LoRA) vs. 86.4 (Full FT)
  • GPT-2 (E2E NLG):

    • LoRA는 Adapter나 Prefix 계열보다 BLEU, ROUGE 등에서 높은 점수를 보임
    • 예: GPT-2 Large에서 BLEU 70.4 (LoRA), 68.5 (Full FT)
  • GPT-3 (175B):

    • 175B 파라미터 모델에서도 LoRA는 full fine-tuning 대비 동등 또는 더 높은 정확도
    • 4.7M 파라미터만으로도 MNLI: 91.7, SAMSum ROUGE-L: 45.9 등 높은 성능

1. Tested Architectures

LoRA was evaluated on the following pretrained language models:

  • RoBERTa-base (125M) and RoBERTa-large (355M)
  • DeBERTa-XXL (1.5B)
  • GPT-2 medium (355M) and large (774M)
  • GPT-3 (175B)

LoRA was compared against full fine-tuning, adapter methods, prefix-tuning, BitFit, and others.


2. Test Datasets and Tasks

Model Task Type Dataset
RoBERTa, DeBERTa NLU GLUE benchmark (MNLI, SST-2, MRPC, CoLA, QNLI, QQP, RTE, STS-B)
GPT-2 Text Generation (NLG) E2E NLG Challenge
GPT-3 Text Generation & Classification WikiSQL, MNLI, SAMSum (summarization)

3. Evaluation Metrics

Task Type Metrics
GLUE (NLU) Accuracy, F1, Matthew’s Corr., Pearson Corr.
NLG (Text Gen.) BLEU, NIST, METEOR, ROUGE-L, CIDEr
SQL Logical form accuracy
Summarization ROUGE-1, ROUGE-2, ROUGE-L

4. Key Results

  • RoBERTa / DeBERTa:

    • LoRA matches or slightly outperforms full fine-tuning on GLUE tasks.
    • Example: RoBERTa-base achieves 87.2 (LoRA) vs. 86.4 (FT) on GLUE avg.
  • GPT-2 (E2E NLG):

    • LoRA outperforms Adapter and Prefix methods on BLEU, ROUGE.
    • Example: GPT-2 Large BLEU = 70.4 (LoRA) vs. 68.5 (FT)
  • GPT-3 (175B):

    • LoRA achieves similar or better performance with 0.01–0.1% trainable parameters
    • Example: With 4.7M params, achieves MNLI: 91.7, ROUGE-L: 45.9 on SAMSum


예제

예시 1: GLUE 벤치마크 (자연어 이해)

  • 모델: RoBERTa-base (125M 파라미터)
  • 적용 방법: LoRA 적용 시 학습 파라미터 수 0.3M (약 0.24%)
  • 태스크: MNLI, SST-2, MRPC, CoLA 등 8개 NLU 과제
  • 결과 예시 (LoRA vs Full Fine-tuning):

    • MNLI: 87.5 vs 87.6
    • SST-2: 95.1 vs 94.8
    • MRPC: 89.7 vs 90.2
    • 평균 점수: 87.2 (LoRA) vs 86.4 (FT)

아주 적은 파라미터만 학습해도 full fine-tuning과 거의 유사한 성능 달성


예시 2: GPT-2 Medium + E2E NLG Challenge (자연어 생성)

  • 모델: GPT-2 Medium (355M 파라미터)
  • 태스크: 레스토랑 정보 → 자연어 문장 생성 (예: “The Eagle is a pub near the city center.”)
  • 데이터셋: E2E NLG Challenge Dataset
  • 평가 지표:

    • BLEU, ROUGE-L, CIDEr 등
  • 결과 예시 (LoRA vs FT):

    • BLEU: 70.4 (LoRA) vs 68.2 (Full FT)
    • ROUGE-L: 71.8 (LoRA) vs 71.0
    • CIDEr: 2.53 (LoRA) vs 2.47

LoRA는 파라미터 수가 100배 적어도 생성 품질이 더 우수함


예시 3: GPT-3 175B + WikiSQL / MNLI / SAMSum

  • 모델: GPT-3 (175B)
  • LoRA 파라미터 수: 4.7M (0.0027%)
  • 데이터 및 결과:

    • WikiSQL (NL → SQL 변환):

      • Acc: 73.4% (LoRA) vs 73.8% (Full FT)
    • MNLI-matched:

      • Acc: 91.7% (LoRA) vs 89.5% (FT)
    • SAMSum (요약):

      • ROUGE-L: 45.9 (LoRA) vs 44.5 (FT)

Example 1: GLUE Benchmark (NLU)

  • Model: RoBERTa-base (125M parameters)
  • LoRA Params: 0.3M trainable (0.24% of full model)
  • Tasks: MNLI, SST-2, MRPC, CoLA, etc.
  • Results (LoRA vs Full Fine-Tuning):

    • MNLI: 87.5 vs 87.6
    • SST-2: 95.1 vs 94.8
    • MRPC: 89.7 vs 90.2
    • GLUE Avg: 87.2 (LoRA) vs 86.4 (FT)

LoRA achieves nearly the same performance with ~99.76% fewer parameters


Example 2: GPT-2 Medium + E2E NLG Challenge (Text Generation)

  • Model: GPT-2 Medium (355M)
  • Task: Structured data → sentence generation (e.g., restaurant descriptions)
  • Dataset: E2E NLG Challenge
  • Metrics: BLEU, ROUGE-L, METEOR, CIDEr
  • Results:

    • BLEU: 70.4 (LoRA) vs 68.2 (Full FT)
    • ROUGE-L: 71.8 (LoRA) vs 71.0
    • CIDEr: 2.53 (LoRA) vs 2.47

LoRA produces higher-quality output with only 0.1% of parameters


Example 3: GPT-3 175B + WikiSQL, MNLI, SAMSum

  • Model: GPT-3 (175B parameters)
  • LoRA Params: 4.7M (only 0.0027% of full model)
  • Tasks and Results:

    • WikiSQL: 73.4% (LoRA) vs 73.8% (FT)
    • MNLI-matched: 91.7% (LoRA) vs 89.5% (FT)
    • SAMSum summarization:

      • ROUGE-L: 45.9 (LoRA) vs 44.5 (FT)

Even on GPT-3 scale, LoRA achieves comparable or better performance


요약

LoRA는 대규모 언어 모델의 적응 과정에서 전체 파라미터를 업데이트하지 않고, 저랭크 행렬 $A$, $B$만을 삽입해 학습 효율을 극대화하는 방법입니다. GLUE, E2E NLG, WikiSQL 등 다양한 태스크에서 LoRA는 전체 fine-tuning 대비 유사하거나 더 나은 성능을 보이면서도 수천 배 적은 파라미터만 학습합니다. 예를 들어 GPT-3에서는 0.003%의 파라미터만 학습해도 MNLI 정확도 91.7%를 달성하며 full fine-tuning보다 높은 성능을 보였습니다.


LoRA improves adaptation efficiency by freezing pretrained weights and learning only low-rank matrices $A$ and $B$ during fine-tuning. Across tasks like GLUE, E2E NLG, and WikiSQL, LoRA achieves comparable or better performance than full fine-tuning while updating thousands of times fewer parameters. For instance, on GPT-3, LoRA achieves 91.7% accuracy on MNLI using just 0.003% of the model’s parameters, outperforming full fine-tuning.


기타

Figure 1 – LoRA 구조 도식

  • 설명: Transformer의 기존 weight $W$에 저랭크 행렬 $B, A$를 추가하는 구조 시각화
  • 인사이트:

    • $\Delta W = BA$ 형태의 업데이트만 학습되며, 기존 $W$는 고정
    • 기존 weight와 병합 가능 → 추론 지연 없음

Table 1 – GPT-2 추론 속도 비교

Method Latency (ms) at Batch=1
Full FT 19.8
AdapterL 23.9 (+20.7%)
AdapterH 25.8 (+30.3%)
LoRA 19.8 (0% overhead)
  • 인사이트:

    • LoRA는 추론 지연 없음
    • 어댑터는 구조 추가로 인해 짧은 시퀀스일수록 지연 큼

Table 2 – GLUE 결과 (RoBERTa, DeBERTa)

  • LoRA는 RoBERTa-base/large 및 DeBERTa-XXL에 대해 full fine-tuning 수준 또는 더 나은 성능 달성

  • 예시: RoBERTa-large 평균 점수

    • Full FT: 88.9
    • LoRA: 89.0
  • 인사이트:

    • 적은 파라미터로도 높은 정확도 유지 가능
    • 특히 STS-B, RTE와 같이 민감한 태스크에서 더 높은 성능 보임

Table 3 – GPT-2 + E2E NLG 결과

  • 평가 지표: BLEU, ROUGE-L, CIDEr 등

  • 결과 예시:

    • GPT-2 Medium + LoRA: BLEU = 70.4, ROUGE-L = 71.8, CIDEr = 2.53
    • GPT-2 Full FT: BLEU = 68.2, ROUGE-L = 71.0, CIDEr = 2.47
  • 인사이트:

    • NLG에서도 LoRA가 생성 품질 측면에서 우수
    • 파라미터 수는 Adapter보다 적고 성능은 더 좋음

Table 4 – GPT-3 성능 (WikiSQL, MNLI, SAMSum)

  • LoRA (4.7M params):

    • WikiSQL: 73.4% (vs 73.8 FT)
    • MNLI: 91.7% (vs 89.5 FT)
    • SAMSum ROUGE-L: 45.9 (vs 44.5 FT)
  • 인사이트:

    • GPT-3에서도 효과적
    • 특히 MNLI에서 full fine-tuning보다 높은 성능

Appendix 주요 인사이트

  • Appendix C: Adapter는 짧은 시퀀스에서 지연이 큼 (추론 속도 실험)
  • Appendix F: 각 실험의 하이퍼파라미터 정리 (GPU, 학습률, 배치 크기 등)
  • Appendix I.2: 파라미터 수가 증가할수록 LoRA는 성능이 완만하게 증가스케일 확장성 우수
  • Appendix I.3: Low-data regime (데이터 적을 때)에서도 LoRA가 강건함

Figure 1 – LoRA Architecture Diagram

  • Description: Visualizes the low-rank adaptation $\Delta W = BA$ added to a frozen weight $W_0$
  • Insight:

    • Only $A, B$ are trained, no updates to original weights
    • The model can merge $W_0 + BA$ → no inference latency

Table 1 – Inference Latency (GPT-2)

Method Batch=1 Latency
Fine-tuning 19.8 ms
AdapterL 23.9 ms (+20.7%)
AdapterH 25.8 ms (+30.3%)
LoRA 19.8 ms (0%)
  • Insight:

    • LoRA adds no latency at inference time
    • Adapters slow down short-sequence inference due to structural depth

Table 2 – GLUE Results (RoBERTa / DeBERTa)

  • RoBERTa-large Avg:

    • Full FT: 88.9
    • LoRA: 89.0
  • Insight:

    • LoRA maintains high performance with significantly fewer parameters
    • Strong performance even on difficult tasks like STS-B and RTE

Table 3 – GPT-2 + E2E NLG Results

  • LoRA (0.35M parameters):

    • BLEU: 70.4
    • ROUGE-L: 71.8
    • CIDEr: 2.53
  • Full FT:

    • BLEU: 68.2
    • ROUGE-L: 71.0
    • CIDEr: 2.47
  • Insight:

    • LoRA outperforms adapters in both quality and parameter efficiency for NLG

Table 4 – GPT-3 Results (WikiSQL, MNLI, SAMSum)

  • LoRA (4.7M params):

    • WikiSQL: 73.4% (vs 73.8 FT)
    • MNLI: 91.7% (vs 89.5 FT)
    • ROUGE-L (SAMSum): 45.9 (vs 44.5 FT)
  • Insight:

    • LoRA performs as well or better than full fine-tuning, even at GPT-3 scale

Key Appendix Insights

  • Appendix C: Adapters add latency especially at small batch sizes
  • Appendix F: Detailed hyperparameters for reproducibility
  • Appendix I.2: LoRA performance scales smoothly with rank/params
  • Appendix I.3: LoRA remains effective in low-data scenarios


refer format:

@inproceedings{hu2022lora, title=, author={Hu, Edward and Shen, Yelong and Wallis, Phillip and Allen-Zhu, Zeyuan and Li, Yuanzhi and Wang, Shean and Wang, Lu and Chen, Weizhu}, booktitle={International Conference on Learning Representations (ICLR)}, year={2022}, url={https://arxiv.org/abs/2106.09685} }

Hu, Edward, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. “LoRA: Low-Rank Adaptation of Large Language Models.” International Conference on Learning Representations (ICLR), 2022. https://arxiv.org/abs/2106.09685.