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()로 여러 어댑터를 가중 병합할 수도 있어요.

더 알아보기