LoRA 실전 — 초기화·최적화·추론
LoRA 실전
LoRA는 PEFT의 대표 방법이고, 시작점으로 가장 추천돼요. 여기서는 설정·초기화·최적화·추론까지 실제로 다루는 방법을 정리해요.
설정과 초기화
from peft import LoraConfig
config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
)
초기화 전략도 고를 수 있어요. init_lora_weights="gaussian", rank 안정화를 위한 use_rslora=True, OLoRA를 위한 init_lora_weights="olora" 같은 옵션이 있어요.
학습 속도·품질 최적화
- RSLoRA: 스케일을
lora_alpha/sqrt(r)로 바꿔 고랭크에서 성능을 높이는 방법. - QLoRA: 양자화된 모델에 LoRA를 얹는 방식.
target_modules="all-linear"로 손쉽게 적용. - LoRA+: 어댑터 행렬에 학습률을 따로 줘서 수렴을 가속.
- LoRA-FA: 일부 행렬을 고정해 메모리를 아끼는 변형.
추론 — 어댑터 재사용과 병합
model.add_adapter(adapter_name="new_adapter")
model.set_adapter("new_adapter")
여러 어댑터를 추가해 과업별로 스위칭할 수 있고, merge_adapter()로 합치거나 add_weighted_adapter()로 여러 어댑터를 가중 병합할 수도 있어요.