저랭크 적응
Low-Rank Adaptation(LoRA)은 대규모 사전 훈련 모델(예: 대규모 언어 모델(LLM))을 모델의 모든 원래 매개변수를 재훈련하지 않고 특정 다운스트림 작업에 맞게 조정하도록 설계된 매개변수 효율적 미세 조정(PEFT) 기술입니다. LoRA는 전체 거대한 가중치 행렬을 업데이트하는 대신, 모델의 레이어에 작고 훈련 가능한 랭크 분해 행렬을 주입합니다.
기존의 미세 조정은 특히 수십억 개의 매개변수를 포함하는 모델을 다룰 때 방대한 양의 GPU 메모리와 시간이 필요합니다. LoRA는 이 요구 사항을 획기적으로 줄입니다. 소수의 새로운 저랭크 행렬만 훈련함으로써, 최첨단 모델 맞춤화 기능을 제한된 하드웨어를 가진 연구원과 기업도 사용할 수 있게 합니다.
근본적으로 LoRA는 대규모 가중치 행렬 $\Delta W$의 업데이트를 훨씬 더 작은 두 행렬 $A$와 $B$의 곱으로 근사합니다. 수학적으로 $\Delta W \approx BA$이며, 여기서 분해의 랭크($r$)는 원래 행렬 차원보다 훨씬 작습니다. 훈련 중에는 행렬 $A$와 $B$의 매개변수만 업데이트되고, 원래의 고정된 사전 훈련 가중치($W_0$)는 그대로 유지됩니다. 최종 출력은 원래 가중치에 조정된 변화를 더하여 계산됩니다: $W' = W_0 + BA$.
LoRA는 다양한 AI 애플리케이션에서 널리 채택되고 있습니다:
LoRA를 사용하는 것의 장점은 MLOps 파이프라인에 상당한 이점을 제공합니다:
매우 효과적이지만, LoRA에도 한계가 있습니다. 랭크($r$)의 선택은 중요한 하이퍼파라미터입니다. 너무 낮게 설정하면 작업에 대해 과소적합될 수 있으며, 너무 높게 설정하면 매개변수 효율성 이득이 감소합니다. 게다가, 작업별 지식에는 잘 적응하지만, 고정된 가중치에 내재된 모델의 핵심 세계 지식을 근본적으로 변경하지는 않습니다.
이 기술은 매개변수 효율적 미세 조정(PEFT)이라는 더 넓은 분야의 일부입니다. 다른 관련 개념으로는 프롬프트 튜닝(Prompt Tuning), 접두사 튜닝(Prefix Tuning), 양자화(Quantization) 등이 있으며, 이들 모두 거대한 기반 모델을 조정하는 계산 비용을 줄이는 것을 목표로 합니다.