[논문 리뷰] LoRA: Low-Rank Adaptation of Large Language Models

smj·2026년 3월 31일

review

목록 보기
6/30

한줄 요약: 가중치 변화량이 저랭크(low-rank)라는 가설 하에, 전체 파라미터의 0.01%만 학습하여 전체 파인튜닝과 동등한 성능을 달성했다.

항목내용
저자Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen
소속Microsoft
발표ICLR 2022
링크arxiv.org/abs/2106.09685
키워드Parameter-Efficient Fine-Tuning, Low-Rank, Adaptation

1. 문제 정의

대형 LLM(GPT-3 175B 등)을 특정 태스크에 파인튜닝하려면 모든 파라미터를 업데이트해야 한다. 이는 세 가지 실전 문제를 야기한다:

  1. 메모리: 175B 모델의 전체 파인튜닝은 ~1.2TB 이상의 GPU 메모리 필요
  2. 저장 비용: 태스크마다 175B 파라미터 전체 복사본을 저장해야 함
  3. 서빙 비용: N개 태스크에 대해 N개의 별도 모델을 배포해야 함

핵심 가설: 파인튜닝 시 가중치 변화량 ΔW는 본질적으로 저랭크(low-rank) 이다. 즉, 거대한 ΔW를 두 개의 작은 행렬의 곱으로 근사할 수 있다.


2. 제안 방법

수학적 구조

전체 파인튜닝:
  h = (W₀ + ΔW)x     ΔW ∈ R^{d×d}  파라미터 수: d²

LoRA:
  h = W₀x + BAx       B ∈ R^{d×r}, A ∈ R^{r×d}  파라미터 수: 2dr

  d = 4096, r = 8일 때:
  전체: 4096² = 16,777,216 파라미터
  LoRA: 2 × 4096 × 8 = 65,536 파라미터 → 256배 감소!

초기화

A: 가우시안 랜덤 초기화
B: 제로 초기화
→ 학습 시작 시 BA = 0 → W₀에서 출발 (안정적)
→ 학습 진행하며 점진적으로 ΔW = BA 형성

적용 위치

Transformer의 어텐션 레이어에 적용:

  • W_q, W_k, W_v, W_o 중 선택적으로 적용
  • 논문의 실험: W_q와 W_v에 적용이 최적

서빙 시 오버헤드 제로

학습 후:
  W' = W₀ + BA → 하나의 행렬로 병합 가능
  → 추론 시 추가 연산/메모리 오버헤드 없음
  → 기본 모델과 동일한 추론 속도

다중 태스크 서빙:
  기본 모델 W₀ (1벌) + LoRA 어댑터 BA (태스크별)
  → 태스크 전환 시 BA만 교체 (수 MB)

3. 실험 결과

3.1 GPT-3 175B (GLUE, WikiSQL, SAMSum)

방법학습 파라미터평균 성능
Fine-Tune (전체)175B (100%)기준
BitFit (bias만)14M (0.008%)-2.1%
Adapter (직렬)40M (0.023%)-0.8%
Prefix Tuning20M (0.011%)-1.5%
LoRA (r=4)4.7M (0.003%)동등

0.003% 파라미터만으로 전체 파인튜닝과 동등

3.2 랭크 r의 영향

rW_q LoRA 성능W_q+W_v LoRA 성능
168.4%73.4%
269.1%73.5%
469.3%73.7%
869.2%73.6%
6469.0%73.4%

→ r=4 정도면 충분. r을 키워도 성능이 거의 증가하지 않음 = 저랭크 가설 지지

3.3 ΔW의 실제 랭크 분석

  • ΔW의 특이값(singular value) 분석: 상위 1-4개 특이값이 에너지의 대부분을 차지
  • r=8인 LoRA의 ΔW와 전체 파인튜닝의 ΔW 사이 부분공간 유사도 높음
  • → 파인튜닝의 가중치 변화는 실제로 저랭크임을 실증

4. 한계점

  • 저랭크 가설이 항상 성립하지 않음: 태스크에 따라 필요한 랭크가 다를 수 있으며, 매우 다른 도메인 적응(예: 영어 → 한국어)에서는 높은 랭크가 필요할 수 있음
  • 학습률에 민감: LoRA의 학습률이 전체 파인튜닝과 다른 최적점을 가짐 → 튜닝 필요
  • 적용 위치 선택이 수작업: W_q, W_v에 적용이 최적이라는 결과는 경험적 — 이론적 근거 부족
  • 어텐션만 적용: FFN(Feed-Forward Network)에 적용 시 효과는 덜 연구됨 (이후 연구에서 FFN에도 유효함 확인)
  • 복합 태스크 한계: 하나의 LoRA가 여러 능력을 동시에 학습하기 어려울 수 있음
  • 추론 시 병합 후 되돌릴 수 없음: 병합하면 LoRA 제거 불가 → 유연성 저하

5. 의의와 영향

  • 파인튜닝의 민주화: 소비자 GPU(RTX 3090, 24GB)로도 7B-13B 모델 파인튜닝 가능
  • 다중 태스크 서빙 혁신: 기본 모델 1벌 + LoRA N개 → 서빙 비용 획기적 절감
  • 사실상 모든 오픈소스 모델 파인튜닝이 LoRA 기반: Hugging Face PEFT 라이브러리의 핵심
  • 후속 변형 대량 탄생: QLoRA(4비트 양자화 + LoRA), DoRA, AdaLoRA, LoRA+ 등
  • 학문적 기여: 파인튜닝의 가중치 변화가 저랭크라는 실증적 증거 → LLM의 학습 동역학 이해에 기여

6. 💬 리뷰어 코멘트

LoRA는 아이디어의 단순함과 효과의 강력함 사이의 완벽한 균형이다. "파인튜닝할 때 모든 파라미터가 바뀌지만, 그 변화를 저랭크로 근사하면 충분하다"는 통찰은 직관적이면서도 깊다.

실전에서 LoRA를 사용해보면 느끼는 것: r=8이면 거의 모든 경우에 충분하고, r=16까지 올리면 과적합 위험이 오히려 증가한다. 이는 "LLM이 새로운 태스크를 학습할 때 실제로 바꿔야 하는 것은 놀라울 정도로 적다"는 것을 의미한다.

QLoRA와의 결합이 가장 실용적인 발전이었다. 4비트 양자화된 모델 위에 LoRA를 얹으면, 단일 RTX 4090(24GB)으로 70B 모델도 파인튜닝할 수 있다. 이는 개인 연구자/개발자에게 LLM 커스터마이징의 문을 열어준 혁명적 조합이다.


관련 논문: QLoRA, DoRA, AdaLoRA, Adapter, Prefix Tuning

0개의 댓글