728x90
정의
- LoRA는 PEFT(Parameter-Efficient Fine-Tuning) 기술 중 하나로 가장 많이 쓰임
- LoRA는 대형 pretrained 모델을 특정 도메인에 맞게 효율적으로 Fine tuning 하는 방법
- PEFT 목적은 하드웨어 자원을 조금 쓰고 싶고 학습을 빠른 시간 안에 하고 싶고 학습을 저비용으로 하고 싶다는 거
배경/문제
- LLM(Large Language Model)은 파라미터 수가 매우 많음
- Large model을 Full fine tuning 하려면 고성능 GPU가 필요하고 학습 시간도 긴 편
- Full fine tuning은 pretrained 모델의 기본 성능을 저하시킬 여지가 있음
LoRA의 기여점
- Fine tuning 학습 시간을 감소시키고 base 모델의 기본 성능을 저하시키지 않음
LoRA 원리

1. 용어 설명
- $\textbf{x}$ : input, $1\times d$ matrix
- $\textbf{h}$ : output, $1\times d$ matrix
- $W$ : pretrained weights(pretrained된 파라미터, 학습되지 않음!), $d\times d$ matrix
- $A, B$ : LoRA Adaptor(Fine tuning 학습되는 파라미터, LoRA의 핵심!)
- $A$의 초기값은 정규분포(Gaussian noise)
- $B$의 초기값은 0
2. 개념
- $W$를 fine tuning 하는데는 많은 비용이 필요함
- 그래서, Adaptor인 $A, B$를 추가하여 이 부분만 학습시킴
- $W$는 freeze하여 학습하지 않으므로, base 모델은 기본 성능을 유지할 수 있음
- $A, B$ 파라미터 수는 $W$ 대비 매우 적음 (보통 1% 미만)
3. LoRA 계산 과정
- s1 : 입력 $x$와 $W$를 내적 ($x$·$W$) → $1\times d$ matrix
- s2: 입력 $x$와 $A, B$를 내적 ($x$·$A$·$B$) → $1\times d$ matrix
- s1 + s2, 즉 element-wise sum → 출력 h가 나옴, $1\times d$ matrix
4. 의미
- 기존은 입력 $x$가 pretrained weights인 $W$를 만나 vector space의 어딘가에 위치하게 됨
- LoRA는 adaptor를 추가함으로써, vector space에서 위치하고 있는 임베딩된 vector의 위치를 조정(sum하는 부분)할 수 있게 됨
5. 파라미터 효율
- $d=4096, r=16$으로 가정
- $W (\mathbb{R}^{4096 \times 4096})$의 파라미터 수 : $4096 \times 4096 = 16,777,216$ 개
- $A (\mathbb{R}^{4096 \times 16})$, $B (\mathbb{R}^{16 \times 4096})$의 파라미터 수의 합 : $4096 \times 16 + 16 \times 4096 = 131,072$
- 기존 base 모델 대비 파라미터 수가 $131,072 / 16,777,216 = 0.0078 (0.78%)$로, 크게 줄어듦
- LoRA를 사용하면 base 모델의 성능을 유지하면서 학습되는 파라미터 수를 크게 줄일 수 있음
6. 사용법
- 일반적으로 $r$ 값은 16에서 시작하여 키우는 경우가 많음, 성능이 나오면 더 안키워도 됨
- epoch을 너무 크게 하면 overfitting 되기 쉬움, $r, \alpha$, dataset 수를 고려하여 적절히 정할 것!
- training dataset의 loss를 saturation 될 때까지 학습하면 overfitting될 수도 있음, validation loss를 무조건 함께 체크할 것!
- batch size는 너무 작지 않게 설정하는 것이 좋음, 메모리가 부족하면 loss를 몇 번 누적했다가 학습시키면 batch size를 크게 한 것과 비슷한 효과를 낼 수 있음
Reference
[1] Hu, Edward J., et al. "Lora: Low-rank adaptation of large language models." Iclr 1.2 (2022): 3.
[2] SEMONAN, “LoRA 개념을 쉽게 설명해드립니다 (생성형 AI, LLM, 딥러닝),” YouTube, Jun. 30, 2024. https://www.youtube.com/watch?v=0lf3CUlUQtA (accessed Apr. 22, 2026).
'AI 개념 > 머신러닝 & 딥러닝' 카테고리의 다른 글
| 적은 데이터로 학습하는 방법: Few-shot & Meta Learning 간단 정리 (0) | 2026.04.22 |
|---|---|
| Multi-Task Learning (MTL)의 정의 및 Speech Domain 적용 사례 (0) | 2025.02.27 |
| npz compressed를 이용한 데이터 로드 속도 개선 (Feat. 학습 속도를 부스팅하기 위한 다양한 시도들) (1) | 2024.12.13 |
| Evaluation Metric (MDR, FAR, MAE) 정리 (2) | 2024.08.27 |