개요
LoRA(Low-Rank Adaptation)는 큰 사전학습 모델 전체를 다시 학습하는 비용을 줄이기 위한 파라미터 효율적 적응 기법이다. 원 논문은 기존 모델 가중치를 고정하고 Transformer 층에 학습 가능한 저랭크 행렬을 추가하는 방식을 제안했다.[1]
왜 사용하는가
LLM의 모든 파라미터를 과제마다 별도로 미세조정하고 저장하면 메모리와 저장 비용이 커진다. LoRA는 실제로 업데이트해야 하는 파라미터 수를 크게 줄여 이런 부담을 낮추는 것을 목표로 한다.[1]
관계
LoRA는 Fine-tuning을 없애는 개념이라기보다, 미세조정을 더 적은 학습 파라미터로 수행하는 방법 중 하나다.
저랭크 업데이트의 의미
LoRA는 큰 가중치 행렬 자체를 직접 다시 학습하는 대신, 그 변화량을 더 작은 두 행렬의 곱으로 표현한다.[1] 이때 원래 사전학습 가중치는 고정하고 추가된 저랭크 파라미터만 학습하므로, 전체 모델을 미세조정할 때보다 학습해야 할 파라미터와 저장해야 할 변경분을 줄일 수 있다.
베이스 모델과 어댑터를 구분하기
LoRA 어댑터는 독립적인 완성 모델이라기보다 특정 베이스 모델에 적용되는 추가 가중치다. 따라서 어댑터를 배포하거나 공유할 때는 어떤 베이스 모델과 어떤 대상 모듈에 맞춰 학습했는지 함께 관리해야 한다. 베이스 모델 버전이 달라지면 동일한 어댑터가 같은 행동을 보장하지 않는다.
운영 관점
LoRA는 여러 작업별 변형을 작은 추가 파라미터로 관리할 수 있다는 장점이 있지만, 학습 데이터 품질과 검증 필요성이 사라지는 것은 아니다. Fine-tuning과 마찬가지로 과적합, 기존 능력 저하, 안전성 변화가 있는지 별도로 평가해야 한다.