Deep Learning/Algorithm

LoRA: Low-Rank Adaptation of Large Language Models

나희와더기 2025. 5. 13. 22:41
반응형

오늘 소개할 논문은 2021년 Microsoft의 연구진이 발표한 "LoRA: Low-Rank Adaptation of Large Language Models"입니다. 이 논문은 대형 언어 모델의 파라미터를 효과적으로 업데이트 하는 방법에 관한 논문으로 많은 분야에서 널리 사용되는 의미있는 기법입니다.

 

LoRA: Low-Rank Adaptation of Large Language Models

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 le

arxiv.org

 

GitHub - microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models"

Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models" - microsoft/LoRA

github.com


🎯 배경

  • 최근 자연어처리(NLP) 분야에서는 거대 사전학습 언어 모델(예: GPT-3, RoBERTa 등)을 다양한 작업에 맞게 파인튜닝(fine-tuning) 하는 방식이 주류가 되고 있습니다.
  • 하지만 GPT-3처럼 수십억 개 이상의 파라미터를 가진 모델을 작업마다 개별적으로 파인튜닝하는 것은 비용과 자원의 측면에서 비현실적입니다.
  • 이러한 문제를 해결하기 위해 마이크로소프트 연구진은 LoRA (Low-Rank Adaptation) 를 제안합니다.

🧩 왜 LoRA가 필요한가?

  • 기존의 파인튜닝 방식은 모델 전체의 파라미터를 모두 업데이트하는 방식이기 때문에:
    • 각 작업마다 모델 복제본을 새로 저장해야 하며,
    • 수백 GB에서 수 TB에 달하는 메모리가 요구되고,
    • 학습 속도도 느리고, 하드웨어 요구사항이 높습니다.
  • LoRA는 이러한 문제를 다음과 같은 방식으로 해결합니다:
    • 사전학습된 원본 모델의 가중치는 고정(freeze) 하고,
    • 각 Transformer 층에 저랭크 행렬(pair of low-rank matrices, A와 B) 를 추가하여 업데이트 파라미터를 제한합니다.
    • 결과적으로 파라미터 수를 10,000배 줄이고, GPU 메모리 요구량은 3배 감소시킬 수 있습니다.

🧠 LoRA는 어떻게 작동하는가?

  • Transformer 모델의 대부분은 W와 같은 고차원 선형 가중치 행렬을 포함하고 있습니다. LoRA는 이러한 가중치 W의 변경을 다음과 같이 저랭크 형태로 표현합니다:
    • $W'=W+\Delta W=W+BA$
  • 여기서 $B$는 $d \times r$, $A$는 $r \times k$ 크기의 행렬이며, $r$은 일반적으로 1~8로 매우 작습니다.
  • 이때 $W$는 고정되어 있고, 학습 중에는 오직 $A$와 $B$만 업데이트됩니다.
  • 이 구조는 기존의 가중치와 병렬적으로 적용되어 추론 속도에는 영향이 없습니다. 

🔧 기존 방식과의 비교

  • LoRA는 기존의 Adapter, Prefix-tuning, Prompt-tuning 방식과 다음과 같은 차별점을 가집니다:
방식 파라미터 효율성 추론 속도 성능
Fine-Tuning 최고
Adapter 보통
Promt-Tuning 낮음
LoRA 우수
  • 특히 어댑터 방식은 추가 층이 삽입되기 때문에 추론 시 레이턴시가 늘어나고, 프롬프트 기반 방식은 입력 길이 제약이 있어 성능이 제한됩니다.

📊 실험 결과

  • GLUE 벤치마크 (RoBERTa 기반)

  • GPT-3 (175B) 기반

  • 즉, 전체 파라미터의 0.01%만 학습하면서도 전체 파인튜닝과 비슷하거나 더 높은 성능을 달성할 수 있습니다.

📌 LoRA의 구조적 장점

  • 작은 메모리 footprint: 예컨대 GPT-3에 대해 LoRA는 350GB → 35MB로 축소
  • 빠른 task switching: A, B 행렬만 교체하면 됨
  • 추론 속도 동일: BA를 사전 계산하여 W와 합치면 일반 모델처럼 추론 가능
  • 확장성: Prefix-Tuning, Adapters와 병렬적으로 결합 가능

✅ 이론적 통찰: 업데이트는 정말 저랭크인가?

  • 논문에서는 다음과 같은 분석을 통해 업데이트 행렬 ΔW가 실제로도 낮은 랭크(r) 만으로 충분하다는 사실을 보입니다:
    • GPT-3의 경우 r=1~4만으로도 대부분의 작업에서 성능 저하 없이 수행 가능
    • ΔW는 기존 가중치 W와 중복되지 않는 유용한 방향을 강화하는 역할을 함
    • 여러 실험을 통해 LoRA의 업데이트는 고유한 저차원 공간을 효과적으로 학습함을 확인

📝마무리

  • LoRA는 다음과 같은 혁신적인 점에서 주목할 가치가 있습니다:
    • 거대 모델을 활용한 파라미터 효율적 학습
    • 하드웨어 부담 없이 다양한 작업에 적응 가능
    • 추론 속도와 성능을 모두 유지
  • 현재 HuggingFace 및 PyTorch 등 주요 딥러닝 생태계에서도 활발하게 사용되고 있으며, 앞으로 다양한 적응 기법과의 조합 연구가 활발히 이뤄질 것으로 기대됩니다.   
반응형