🔧
LoRA (Low-Rank Adaptation)
소수의 파라미터만 학습하는 효율적 Fine-tuning
LoRA(Low-Rank Adaptation)는 Microsoft가 2021년에 제안한 PEFT(Parameter-Efficient Fine-Tuning) 기법입니다. Full Fine-tuning은 모델의 모든 가중치(수십~수백억 개)를 업데이트하므로 막대한 GPU 메모리가 필요합니다. LoRA의 핵심 통찰은 "Fine-tuning 시 가중치 변화량(ΔW)은 저차원(low-rank)이다"라는 것입니다. 원래 가중치 행렬 W(d×d)를 고정하고, ΔW = A(d×r) × B(r×d)로 분해합니다 (r << d, 보통 r=4~64). 학습 파라미터가 원래의 0.1~1%로 줄어들며, 추론 시에는 W + ΔW를 미리 합쳐(merge) 추가 지연이 없습니다. QLoRA는 여기에 양자화를 결합하여 4-bit 모델에서도 Fine-tuning이 가능합니다.
핵심 개념
1
원래 모델의 가중치 행렬 W를 고정 (freeze)
2
W 옆에 저차원 행렬 A(d×r)와 B(r×d) 추가 (r은 rank, 보통 4~64)
3
순전파 시: y = Wx + (α/r) × ABx — 원래 출력에 LoRA 출력을 더함
4
역전파 시: A와 B의 가중치만 업데이트 (W는 고정)
5
학습 파라미터 수: 2×d×r (원래 d×d 대비 극적 감소)
6
추론 시: W_new = W + (α/r)×AB로 병합 → 추가 연산 비용 제로
장점
- ✓ GPU 메모리 대폭 절약 (Full FT 대비 1/3~1/10)
- ✓ 학습 속도 향상
- ✓ 태스크별 어댑터를 교체하여 다목적 활용
- ✓ 추론 시 추가 비용 없음 (병합 가능)
- ✓ 원본 모델 보존
단점
- ✗ Full Fine-tuning 대비 성능 약간 낮을 수 있음
- ✗ Rank(r) 선택이 성능에 영향
- ✗ 모든 레이어에 적용할지 일부만 할지 결정 필요
- ✗ 복잡한 도메인 전환에는 한계
사용 사례
소비자 GPU(RTX 4090)로 70B 모델 Fine-tuning
QLoRA — 4-bit 양자화 + LoRA
다수의 태스크별 어댑터 관리
Hugging Face PEFT 라이브러리
Stable Diffusion LoRA (이미지 스타일 학습)