[논문 리뷰] LoRA: Low-Rank Adaptation of Large Language Models
LoRA는 사전 학습된 가중치를 고정하고 학습 가능한 저랭크 매트릭스를 주입하여 트랜스포머를 적응시키며, 훨씬 적은 학습 가능한 매개변수로 비슷하거나 더 나은 성능을 달성하고 추가 추론 지연 없이 작동한다.
An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.
연구 동기 및 목표
- 전체 미세 조정 없이 대형 사전 학습 언어 모델을 다운스트림 태스크에 효율적으로 적응시키는 동기를 부여한다.
- 고정된 기본 가중치를 보존하면서 태스크 특화 학습을 가능하게 하는 저랭크 업데이트 메커니즘을 제안한다.
- 저랭크 적응이 훨씬 적은 학습 가능한 매개변수와 감소된 자원 사용으로 전체 미세 조정과 모자라지 않거나 이를 능가할 수 있음을 입증한다.
- RoBERTa, DeBERTa, GPT-2 및 GPT-3 (GPT-3 175B)에 걸친 실증적 증거를 제공하고 통합을 위한 실용적 도구를 제시한다.
제안 방법
- 가중치 업데이트를 저랭크 분해로 표현: ΔW = BA 이고 W0 + ΔW, 여기서 W0는 고정되며 B ∈ R^{d×r}, A ∈ R^{r×k}, 그리고 r ≪ min(d,k)이다.
- W0를 고정된 상태로 A와 B만 학습시켜 학습 가능 매개변수의 수를 효과적으로 줄인다.
- 랭크 r이 변화할 때 최적화를 안정시키기 위해 업데이트를 α/r로 스케일한다.
- 트랜스포머 레이어의 셀프 어텐션 프로젝션(Wq, Wk, Wv, Wo)에 주로 LoRA를 적용하고 효율성을 위해 MLP 모듈은 고정한다.
- 추론 중에 W0와 BA를 합쳐 추가 지연을 방지하고 LoRA 가중치를 교환함으로써 태스크 간 빠른 전환을 가능하게 한다.
- LoRA 매개변수는 랭크 r과 적응 매트릭스의 수에 따라 스케일되며 상당한 매개변수 효율을 가능하게 한다(예: 매우 작은 r은 Θ를 작게 만든다).
- 다른 적응 방법과의 호환성을 입증하고 RoBERTa, DeBERTa, GPT-2에 대한 PyTorch 도구 및 체크포인트를 제공한다.
실험 결과
연구 질문
- RQ1고정된 매개변수 예산 하에서 최적의 다운스트림 성능을 위해 LoRA가 어떤 Transformer 가중치 행렬의 부분집합을 적응시켜야 하는가?
- RQ2학습된 가중치 업데이트 ΔW가 본질적으로 저랭크인지, 실전에선 어떤 랭크 r이 효과적인가?
- RQ3ΔW가 고정 가중치 W0와 어떤 관계를 갖으며, ΔW가 W0와 어느 정도 상관관계를 갖는가?
- RQ4LoRA가 매우 큰 모델(예: GPT-3 175B)까지 확장되면서 전체 미세조정과 비교해 태스크 성능을 유지하거나 향상시킬 수 있는가?
주요 결과
- LoRA는 GPT-3 175B에서 전체 미세 조정과 비교했을 때 학습 가능한 매개변수를 약 10,000배까지 줄일 수 있다.
- 학습 중 VRAM 사용은 고정된 매개변수에 대한 기울기를 저장할 필요가 없으므로 최대 약 2/3까지 줄일 수 있다.
- LoRA를 사용한 학습 처리량은 전체 미세 조정을 능가할 수 있다(예: 유사한 환경에서 GPT-3 175B의 경우 V100당 43.1 토큰/초 vs 32.5 토큰/초).
- 다수의 태스크에서 RoBERTa, DeBERTa, GPT-2, GPT-3에 대해 미세 조정 성능에 비해 LoRA가 동일하거나 이를 능가하며, 훨씬 적은 학습 가능 매개변수를 사용한다.
- GPT-3 175B에서 작은 랭크(예: 적응 매트릭스당 r이 2–8인 경우)로도 강한 성능과 WikiSQL, MNLI-matched와 같은 태스크에서 우호적인 확장성을 보인다.
- LoRA는 적응 가중치를 배포를 위해 고정 가중치와 합칠 수 있으므로 추가 추론 지연을 발생시키지 않는다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.