카테고리 없음

[LoRA] 논문 리뷰

yuha933 2025. 7. 8. 16:23

 

1. Introduction

  • 배경
    • 현대 NLP 응용은 하나의 대규모 사전학습(pre-trained) 언어모델을 다양한 다운스트림 과제에 맞춰 fine-tuning하는 방식을 채택합니다.
    • 하지만 fine-tuning은 모델의 모든 파라미터를 업데이트하므로, 과제별로 모델 전체를 저장·배포해야 해 비용 및 관리 측면에서 비효율적이며, GPT-3(175B)와 같은 극대화된 모델에서는 현실적인 장애가 됩니다.
    • 그니까 정리하면,
      • 범용 덱스트로 미리 커다란 모델 학습 -> 각 모델에 맞춰 추가 학습할 때, 원래 학습된 모델의 모든 파라미터를 그 도메인 데이터에 맞춰 파인튜닝 진행 
      • 여기서 문제 ! 모델 크기가 수십억 ~ 수백억 파라미터이다보니, 파인튜닝하다 모델 전체를 새로 저장하고 관리하는 데에 문제가 생김 
  • 기존 파라미터 효율적 적응 기법의 한계
    • Adapter 삽입: 과제별 작은 모듈만 학습하지만, 네트워크 깊이를 늘려 추론 시 추가 지연(latency)이 발생합니다.
    • Prompt/Prefix 튜닝: 소수의 토큰만 학습하지만, 시퀀스 길이가 줄어들어 표현력이 제한되고,
    • 기타 저파라미터 학습 기법: full fine-tuning 성능에 근접하지 못하는 경우가 많아 “효율”과 “품질” 간 트레이드오프가 존재합니다.
  • LoRA 제안 동기
    • 선행 연구(예: Li et al. 2018; Aghajanyan et al. 2020)는 과대파라미터화된 모델이 실제로는 낮은 차원(intrinsic dimension) 위에서 동작함을 보여주었습니다.
    • 본 논문은 “적응(adaptation) 중 모델 가중치 변화분(∆W) 역시 저(低)랭크 구조를 가질 것”이라 가정하고, 이를 효율적으로 학습하는 Low-Rank Adaptation (LoRA) 기법을 제안합니다.
  • LoRA 핵심 아이디어
    • 사전학습된 가중치 W0W_0는 고정(frozen)하고, 모델 업데이트 ΔW\Delta W를 두 개의 저랭크 행렬 B∈Rd×rB \in \mathbb{R}^{d\times r}, A∈Rr×kA \in \mathbb{R}^{r\times k}의 곱으로 표현:ΔW=B A,r≪min⁡(d,k) \Delta W = B\,A,\quad r \ll \min(d,k)
    • 초기화: B=0B=0, A∼N(0,σ2)A\sim\mathcal{N}(0,\sigma^2)로 설정해 학습 초기에 ΔW=0\Delta W=0이 되도록 함.
    • 순전파 시:h=W0x+ΔW x=W0x+B (Ax) h = W_0 x + \Delta W\,x = W_0 x + B\,(A x)
    • 과제 전환 시 A,BA,B만 교체하면 되어 저장·로드 비용이 극히 작고, 배포 시 W0+BAW_0 + BA로 병합(merge)해 추론 지연 없이 사용할 수 있습니다.
  • LoRA의 주요 장점
    • 극소수 파라미터 학습: 전체 파라미터의 0.01%∼1%만 최적화
    • 저장 공간 절감: 과제별 모듈(A,B)만 저장 → 디스크 사용량·전송 비용 감소
    • 추론 효율 유지: 학습된 저랭크 행렬을 사전학습 가중치에 병합하여 추가 지연 없이 사용
    • 학습 자원 절감: adaptive optimizer 사용 시 최적화해야 할 파라미터가 작아 GPU 메모리·연산량 최대 3배 절감
    • 기타 기법과의 병행성: prefix-tuning 등 여타 parameter-efficient 방법과 결합 가능
  • 용어 및 구성
    • Transformer 층 차원 dmodeld_{\text{model}}
    • 자기어텐션 투영 행렬: Wq,Wk,Wv,WoW_q, W_k, W_v, W_o
    • ΔW\Delta W: 적응 중 누적된 가중치 변화
    • rank rr: LoRA 모듈의 저랭크 차원
    • 옵티마이저: Adam 등

2. Problem Statement

3. Aren't Existing Solutions Good Enough?

4. Our Method

  • Low-Rank-Parameterized Update Matrices

  • Applying LoRA To Transformer

5. Empirical Experiments

  • Experimental Setup

  • RoBERTa & DeBERTa-XXL

  • GPT-2

  • GPT-3 175GB

  • Scalability and Task-Performance

6. Understanding The Low-Rank Updates

7. Conclusion And Future Work