LoRA: 대규모 언어 모델의 저랭크 적응

자연어 처리의 중요한 패러다임 중 하나는 일반 도메인 데이터에서 대규모 사전 훈련을 수행한 후 특정 작업 또는 도메인에 적응하는 방식이다. 모델 규모가 커짐에 따라 모든 모델 파라미터를 다시 훈련하는 완전 미세조정(full fine-tuning)은 점점 더 실현 가능성이 낮아진다. 예를 들어 GPT-3 175B 모델의 경우, 각각 1750억 파라미터를 가진 미세조정된 독립 인스턴스를 배포하는 것은 비용 면에서 부담이 크다. 본 연구에서는 사전 훈련된 모델 가중치를 고정한 채 Transformer 아키텍처의 각 레이어에 학습 가능한 랭크 분해 행렬을 삽입하는 저랭크 적응(Low-Rank Adaptation, LoRA)을 제안한다. 이는 하류 작업에 필요한 학습 가능한 파라미터 수를 크게 감소시킨다. Adam을 사용해 GPT-3 175B를 미세조정하는 방식과 비교했을 때, LoRA는 학습 가능한 파라미터 수를 1만 배 감소시키고 GPU 메모리 요구량도 3배 줄일 수 있다. LoRA는 학습 가능한 파라미터 수가 적음에도 불구하고 RoBERTa, DeBERTa, GPT-2, GPT-3에서 미세조정과 비슷하거나 더 뛰어난 모델 품질을 달성하며, 훈련 처리량은 더 높고, 어댑터와 달리 추론 시 추가 지연이 발생하지 않는다. 또한 언어 모델 적응에서의 랭크 부족성(rank-deficiency)에 대한 실증적 분석을 제공하여 LoRA의 효과성을 뒷받침한다. 본 연구에서는 PyTorch 모델과의 LoRA 통합을 용이하게 하는 패키지를 공개하며, RoBERTa, DeBERTa, GPT-2에 대한 구현 코드와 모델 체크포인트를 https://github.com/microsoft/LoRA 에 공개한다.