Learning
토픽 110 / 172·고급 학습 기법

LoRA / QLoRA (Low-Rank Adaptation)

LoRA / QLoRA (Low-Rank Adaptation)

사전학습된 대규모 언어모델(LLM)의 가중치 행렬을 고정하고 저랭크 분해(Low-Rank Decomposition)를 통해 작은 어댑터 행렬(ΔW = BA)만 학습하여 파라미터 효율적 파인튜닝(PEFT)을 수행하며, QLoRA는 양자화(Quantization)를 결합하여 메모리를 추가 절감

목적: 파인튜닝 비용 절감, 메모리 효율성, 빠른 적응(Adaptation), 다중 태스크 지원

특징: 저랭크 분해(r<

구성요소

  • 기본 가중치(W₀): 사전학습 모델, 고정(Freeze)
  • 저랭크 행렬(ΔW=BA): B(d×r), A(r×d), r은 랭크(보통 1~64)
  • 어댑터: W = W₀ + ΔW, 학습 가능 파라미터 0.1~1%

LoRA

  • W' = W₀ + BA (W₀ 고정, B·A만 학습)
  • 파라미터 감축: 65B 모델에서 0.01%만 학습
  • 메모리: 학습 시 W₀는 FP16, 추론 시 병합

QLoRA

  • W₀를 4비트 양자화(NF4, Normal Float 4-bit)
  • Double Quantization: 양자화 상수도 양자화
  • Paged Optimizers: CPU-GPU 메모리 전환
  • 메모리: 65B 모델을 48GB GPU 1개로 파인튜닝

동작: 입력 → W₀x(고정) + BAx(학습) → 출력 / 추론: W₀+BA 병합

장점: 메모리 절감(10~100배), 빠른 학습, 다중 어댑터(태스크별), 배포 용이

단점: 성능 손실(Full Fine-Tuning 대비 1~3%↓), 랭크 선택 어려움, 복잡한 태스크엔 부족

하이퍼파라미터: r(랭크, 1~64), α(스케일링), dropout, 타겟 레이어(Q,K,V,O)

적용사례: LLaMA-2 파인튜닝, Alpaca(7B→52k 지시), ChatGPT 개인화, 도메인 적응

도구: Hugging Face PEFT, LoRA(GitHub), bitsandbytes(양자화), Axolotl

비교: Full Fine-Tuning(모든 파라미터) vs LoRA(0.1%) vs QLoRA(4비트+LoRA)

연관: PEFT, Adapter, Quantization, Fine-Tuning, LLM, Parameter-Efficient