중요한 5개 노브
| 파라미터 | 역할 | 추천 |
|---|---|---|
r (rank) | A, B의 차원. 높을수록 표현력 더, 메모리 더. | 8~64 (16에서 시작) |
lora_alpha | Scaling factor. 업데이트가 alpha/r로 스케일. | rank의 2배 (예: r=16 → alpha=32) |
target_modules | 어느 layer에 LoRA 적용. | QLoRA엔 "all-linear"; 예산 LoRA엔 ["q_proj","v_proj"] |
lora_dropout | LoRA 레이어 dropout. | 0.05~0.1 |
bias | Bias 항 학습 여부. | 보통 "none" |
Target modules 설명
전형적 Llama 스타일 transformer 블록의 linear layer —
q_proj,k_proj,v_proj,o_proj: attention 레이어gate_proj,up_proj,down_proj: MLP / FFN 레이어
"all-linear"는 모든 linear layer에 LoRA 적용. QLoRA에서 최고 결과, 메모리 더 씀. 예산 LoRA로는 ["q_proj", "v_proj"]만 시작이 원래 LoRA 논문 레시피고 합리적 균형.
alpha/rank 비율
LoRA 파라미터의 effective learning rate는 alpha/r로 스케일. 흔한 practice: alpha = 2 * r. use_rslora=True(rsLoRA, lesson 5) 쓰면 alpha가 자동으로 1/√r로 스케일, 높은 rank에서 더 좋아.