상위: AI & ML
Parameter-Efficient Fine-tuning 대규모 LLM을 Fine-tuning할 때, 모델의 모든 파라미터를 학습하는 대신 적은 수의 파라미터만 학습하거나 기존 파라미터를 효율적으로 재사용하여 비용과 시간을 절감하는 방법론.
등장 배경
- Full Fine-tuning의 높은 컴퓨팅 자원 요구 (GPU 메모리, 학습 시간).
- 파국적 망각 위험.
- 모델마다 전체 가중치를 저장해야 하는 비효율성.
핵심 아이디어
- 적은 수의 파라미터 학습: 모델의 특정 부분(예: 어댑터 모듈)만 추가하거나 학습.
- 기존 파라미터 재사용: 사전 학습된 모델의 대부분의 가중치는 고정하고, 일부만 조정.
주요 PEFT 방법론
LoRA (Low-Rank Adaptation) Tuning
원본 파라미터 행렬은 그대로 유지하고, 작은 크기의 두 파라미터 행렬(저랭크 행렬)을 추가하여 학습.
- 작동 방식:
y = Wx→y = Wx + (a/r)BAx(여기서W는 고정,B와A만 학습). rank파라미터 (r): 저차원 분해의 차원 수를 결정 (예: 4, 8, 16, 32, 64, 128).r이 작을수록 학습 파라미터 수가 적음.alpha파라미터 (a): 업데이트 크기를 조절 (예: 8, 16, 32, 64).alpha/rank비율이 중요.- LoRA 적용 대상: 주로 Transformer의 Self-Attention 레이어(q_proj, k_proj, v_proj, o_proj)에 적용.
QLoRA
Quantization + LoRA. 모델의 가중치를 4비트 정밀도로 양자화(Quantization)하여 메모리 사용량을 크게 줄이면서 LoRA를 적용하는 방법.
- NF4 (NormalFloat 4): AI 모델에 최적화된 4비트 형식으로, 양자화 시 정보 손실을 최소화.
- 장점: Full Fine-tuning 대비 훨씬 적은 GPU 메모리로 대규모 모델 학습 가능.
Prompt Tuning
모델의 입력 임베딩에 작은 수의 '프롬프트 토큰'을 추가하고, 이 토큰들만 학습하여 모델의 동작을 제어.
Prefix Tuning
각 Transformer 레이어의 입력에 작은 '프리픽스' 벡터를 추가하고, 이 프리픽스만 학습.
장점
- 메모리 효율성: 학습해야 할 파라미터 수가 적어 GPU 메모리 사용량이 대폭 감소.
- 학습 속도: 적은 파라미터만 학습하므로 학습 시간이 단축.
- 파국적 망각 완화: 사전 학습된 가중치를 대부분 고정하므로 기존 지식 손실 위험이 적음.
- 저장 공간 효율성: 파인튜닝된 모델마다 전체 가중치를 저장할 필요 없이, 학습된 PEFT 모듈만 저장하면 됨.