Zettelkasten

LoRA 하이퍼파라미터 튜닝 가이드

·수정 2026.04.23·수정 3

요약

LoRA의 주요 하이퍼파라미터는 랭크(r), 스케일링 팩터(alpha), 적용 모듈, 드롭아웃이다. 태스크 복잡도와 데이터셋 크기에 따라 적절히 조정해야 한다.

본문

주요 하이퍼파라미터

1. 랭크 (r)

랭크 용도 파라미터 수
4 간단한 태스크, 적은 데이터 최소
8 일반적인 fine-tuning 기본값
16 복잡한 태스크 중간
32-64 매우 복잡한 태스크 높음

권장: 8로 시작해서 성능 보고 조정

2. Alpha (α)

  • 역할: αr\frac{\alpha}{r}로 업데이트 스케일링
  • 일반적 설정: α=2r\alpha = 2r (예: r=8이면 α=16)
  • 높은 alpha: 더 공격적인 업데이트
  • 낮은 alpha: 더 보수적인 업데이트

3. 드롭아웃

lora_dropout=0.05  # 일반적인 값
lora_dropout=0.1   # 과적합 방지가 필요할 때

태스크별 권장 설정

도메인 적응 (간단)

LoraConfig(
    r=4,
    lora_alpha=8,
    target_modules=["q_proj", "v_proj"],
)

지시문 튜닝 (중간)

LoraConfig(
    r=8,
    lora_alpha=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
)

복잡한 추론 (고급)

LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
)

학습률 설정

LoRA는 일반적으로 더 높은 학습률 사용 가능:

  • Full fine-tuning: 1e-5 ~ 5e-5
  • LoRA: 1e-4 ~ 3e-4

실험 팁

  1. 랭크 먼저 고정: r=8로 시작
  2. 모듈 실험: q,v → q,k,v,o → 전체
  3. alpha 조정: 성능 포화 시 증가
  4. 드롭아웃: 과적합 발생 시 추가

참고