개요
- 사전학습된 모델(Pre-trained Model)을 특정 태스크에 맞게 추가 학습하는 기법
- 수천억 개 파라미터를 처음부터 학습하는 대신, 이미 언어를 이해하는 모델에 도메인 지식만 주입
- 소량의 고품질 데이터로 도메인 특화 모델 생성 가능
- RAG과 함께 LLM 커스터마이징의 양대 전략
전이 학습 vs 파인튜닝
| 항목 |
전이 학습 |
파인튜닝 |
| 정의 |
사전학습 지식 재활용 |
전이 학습의 한 방법 |
| 적용 범위 |
광범위 |
특정 태스크 최적화 |
파인튜닝 기법
Full Fine-tuning
- 모델의 모든 파라미터를 업데이트
- 최고 성능을 낼 수 있지만 대용량 GPU 메모리 필요 (70B 모델: A100 80GB × 수십 개)
- 사전학습 지식이 일부 손실될 수 있음 (Catastrophic Forgetting)
LoRA (Low-Rank Adaptation)
- 원본 가중치는 동결(Freeze)하고, 작은 소규모 저랭크 보조 행렬(A, B)만 학습
W' = W + ΔW = W + BA (B: d×r, A: r×k, r « d)
- 전체 파라미터의 0.1~1%만 업데이트 → 메모리 및 학습 비용 대폭 절감
- 소비자용 GPU (RTX 3090, 4090)에서도 7B~13B 모델 파인튜닝 가능
QLoRA (Quantized LoRA)
- LoRA + 4비트 양자화(NF4)를 결합
- 모델 가중치를 4bit로 압축 → 메모리 사용량 약 75% 절감
- 24GB VRAM GPU에서 65B 모델도 파인튜닝 가능
- 성능 손실이 거의 없음 (Dettmers et al., 2023)
PEFT (Parameter-Efficient Fine-Tuning)
- LoRA, Prefix Tuning, Prompt Tuning, Adapter 등 파라미터 효율적 방법의 총칭
- Hugging Face
peft 라이브러리로 쉽게 적용 가능
| 기법 |
방식 |
훈련 파라미터 |
| Full Fine-tuning |
전체 가중치 업데이트 |
100% |
| LoRA |
저랭크 행렬 추가 |
0.1~1% |
| QLoRA |
LoRA + 4bit 양자화 |
0.1~1% |
| Prefix Tuning |
프리픽스 토큰 학습 |
~0.1% |
| Prompt Tuning |
소프트 프롬프트 학습 |
~0.01% |
데이터 준비
- 지시문-응답 쌍 (Instruction-Response pairs):
{"instruction": ..., "output": ...} 포맷
- 데이터 품질이 양보다 중요: 1,000개의 고품질 > 10만 개의 저품질
- 데이터 포맷
- Alpaca 포맷: instruction / input / output
- ShareGPT 포맷: 다중 턴 대화 형식
- 주의사항: 저작권, 개인정보, 유해 콘텐츠 필터링 필수
주요 도구
관련 포스트