-
[unsloth] LoRA Hyperparameters Guide 번역AI/NLP 2025. 7. 6. 15:30728x90
[unsloth] LoRA Hyperparameters Guide 번역

얘는 노라다 나중에 LoRA로 튜닝할 때 써먹을 것
LoRA 하이퍼파라미터 가이드
개요
- LoRA 하이퍼파라미터 모범 사례
- 파인튜닝 프로세스에 미치는 영향 분석
핵심 개념
- 수백만 가지 하이퍼파라미터 조합 존재
- 올바른 값 선택이 파인튜닝 성공의 핵심
- 수백 개 연구 논문 및 실험 결과 기반
- 목표: 정확도 향상 + 과적합 방지
- 과적합: 모델이 데이터 암기 → 새로운 질문 처리 어려움
- 지향점: 암기가 아닌 일반화 모델
학습률 (Learning Rate)
- 정의: 모델 가중치의 훈련 단계별 조정 정도
- 높은 학습률
- 빠른 훈련 속도
- 과적합 감소 효과
- 주의사항: 너무 높으면 과적합 발생
- 낮은 학습률
- 안정적인 훈련 과정
- 더 많은 에포크 필요
- 일반적인 범위: 1e-4 (0.0001) ~ 5e-5 (0.00005)
에포크 (Epochs)
- 정의: 모델이 전체 훈련 데이터셋을 보는 횟수
- 권장값: 1-3 에포크
- 3 이상 비권장 (환각 감소 vs 창의성 감소 trade-off 고려 시 예외)
- 더 많은 에포크
- 장점: 더 나은 학습
- 단점: 과적합 위험 증가
- 적은 에포크
- 단점: 모델 과소훈련 가능성
LoRA 순위 (LoRA Rank)
- 정의: 적응용 저순위 인수의 개수 제어
- 범위: 4-128
LoRA 알파 (LoRA Alpha)
- 정의: 가중치 업데이트용 스케일링 팩터
- 권장값: LoRA 순위 × 1 또는 2
최대 시퀀스 길이 (Max Sequence Length)
- 정의: 모델이 학습할 수 있는 최대 컨텍스트
- 조정 기준: 데이터셋 필요에 따라 설정
배치 크기 (Batch Size)
- 정의: 훈련 단계당 처리 샘플 수
- 높은 값: 더 많은 VRAM 필요
- 권장값
- 긴 컨텍스트: 1
- 짧은 컨텍스트: 2 또는 4
LoRA 드롭아웃 (LoRA Dropout)
- 정의: 과적합 방지용 드롭아웃 비율
- 범위: 0.1-0.2
웜업 단계 (Warmup Steps)
- 정의: 훈련 시작 시 점진적 학습률 증가
- 권장값: 전체 단계의 5-10%
스케줄러 유형 (Scheduler Type)
- 정의: 훈련 중 학습률 동적 조정
- 권장값: 선형 감쇠 (Linear Decay)
시드 또는 랜덤 상태 (Seed or Random State)
- 정의: 결과 재현성 보장
- 설정값: 고정된 숫자 (예: 42)
가중치 감쇠 (Weight Decay)
- 정의: 과적합 방지용 큰 가중치 업데이트 페널티
- 권장값: 1.0 또는 0.3 (문제 발생 시)
수동 조정 옵션
- Unsloth 자동 기본값 사용 권장
- 필요 시 수동 조정 가능
순위 (Rank)
- 정의: 파인튜닝 프로세스의 순위
- 특성
- 큰 숫자: 메모리 사용량 증가, 속도 저하, 정확도 향상 가능
- 권장값: 8 (빠른 파인튜닝) ~ 128
- 주의사항: 너무 큰 값은 과적합으로 모델 품질 저하
모듈 선택
- 권장: 모든 모듈 파인튜닝
- 일부 제거 가능하나 비권장
- 메모리 사용량 감소
- 훈련 속도 향상
- 품질 저하 위험
스케일링 팩터
- 정의: 파인튜닝용 스케일링 팩터
- 특성
- 큰 숫자: 데이터셋 학습량 증가, 과적합 위험 증가
- 권장값: 순위 r과 동일 또는 2배
드롭아웃 설정
- 권장값: 0 (빠른 훈련)
- 과적합 감소 효과 제한적
바이어스 설정
- 권장값: 0
- 빠른 훈련 + 과적합 감소
시드 설정
- 정의: 결정론적 실행을 위한 숫자
- 필요성: 훈련/파인튜닝의 랜덤 숫자 필요
- 효과: 실험 재현성 확보
고급 기능
- lora_alpha = 16 자동 설정
- 선택적 사용 가능
초기화 기능
- 정의: LoRA 행렬을 가중치의 상위 r개 특이벡터로 초기화
- 장점: 정확도 향상 가능
- 단점: 시작 시 메모리 사용량 급증
과적합 (Overfitting)
- 정의: 모델이 훈련 데이터 암기 → 새로운 입력 일반화 실패
- 해결책
- 학습률 조정
- 짧은 훈련: 학습률 감소
- 긴 훈련: 학습률 증가
- 권장: 둘 다 테스트 후 최적값 선택
- 배치 크기 증가
- 훈련 에포크 수 감소
- 데이터셋 확장: ShareGPT 등 일반 데이터셋 결합
- 드롭아웃 비율 증가 (정규화 효과)
- 학습률 조정
과소적합 (Underfitting)
- 정의: 낮은 순위 모델의 학습 가능 매개변수 부족 → 일반화 실패
- 발생 빈도: 상대적으로 드문 현상
- 해결책
- 학습률 조정
- 짧은 훈련: 학습률 증가
- 긴 훈련: 학습률 감소
- 에포크 수 증가
- 순위 및 알파 증가
- 알파 ≥ 순위 숫자
- 순위 크기: 작은 모델/복잡한 데이터셋일수록 증가
- 일반 범위: 4-64
- 도메인 관련성 높은 데이터셋 사용
- 학습률 조정
https://docs.unsloth.ai/get-started/fine-tuning-guide/lora-hyperparameters-guide
LoRA Hyperparameters Guide | Unsloth Documentation
Optimal lora rank. alpha, number of epochs, batch size & gradient accumulation, QLoRA vs LoRA, target modules and more!
docs.unsloth.ai
728x90'AI > NLP' 카테고리의 다른 글
LLM의 Context Length 늘리기 (1) - Positional Embedding부터 RoPE, Position Interpolation, NTK, YaRN (0) 2025.07.13 [GPU/메모리] 내 GPU엔 몇 B 모델까지 올라갈 수 있을까? (+ 필요 메모리 계산하는 코드) (0) 2025.07.06 S1: Simple Test-time scaling (25.01) 논문 리뷰 (0) 2025.07.06 Reasoning LLM 논문 톺아보기 (RLVR == Reinforcement Learning with Verifiable Rewards) (0) 2025.07.06 AI Agent Architectures (2) 2025.06.15