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. 드롭아웃: 과적합 발생 시 추가

참고