요약
Full fine-tuning은 모든 파라미터를 업데이트하고, PEFT(Parameter-Efficient Fine-Tuning)는 일부 파라미터만 업데이트한다. LoRA는 대표적인 PEFT 기법으로 성능 대비 효율성이 뛰어나다.
본문
방법론 비교
| 특성 | Full Fine-tuning | LoRA | Prompt Tuning |
|---|---|---|---|
| 학습 파라미터 | 100% | 0.1-1% | <0.1% |
| 메모리 사용 | 매우 높음 | 낮음 | 매우 낮음 |
| 성능 | 최고 | 거의 동등 | 태스크 의존 |
| Catastrophic forgetting | 높음 | 낮음 | 매우 낮음 |
| 모델 저장 | 전체 복사 | 어댑터만 | 프롬프트만 |
PEFT 기법 종류
-
LoRA / QLoRA
- 저랭크 행렬 분해
- 가장 널리 사용
-
Adapter
- 레이어 사이에 작은 네트워크 삽입
- 추론 시 오버헤드 존재
-
Prefix Tuning
- 학습 가능한 prefix 토큰 추가
- 입력 시퀀스 길이 증가
-
Prompt Tuning
- soft prompt 학습
- 가장 적은 파라미터
LoRA의 장점
-
추론 시 오버헤드 없음
# 배포 시 가중치 병합 가능 merged_model = model.merge_and_unload() -
다중 태스크 지원
- 하나의 기본 모델 + 여러 LoRA 어댑터
- 동적으로 어댑터 교체 가능
-
저장 공간 효율
- 7B 모델 기준: ~14GB (전체) vs ~10MB (LoRA)
선택 가이드
리소스 제한 없음 + 최고 성능 → Full fine-tuning
리소스 제한 있음 + 좋은 성능 → LoRA/QLoRA
매우 제한된 리소스 → Prompt Tuning
다중 태스크 운영 → LoRA (어댑터 스왑)