:)

[LLM] LoRA: Low-Rank Adaptation of Large Language Models 본문

Paper Review

[LLM] LoRA: Low-Rank Adaptation of Large Language Models

andre99 2025. 3. 13. 20:48

Abstract

  • LoRA: Fine-tuning 비용 & 메모리 문제 해결 방법
    • 장점
      • 모델 저장 공간 절약 & Task 전환 용이 → 작은 LoRA 모듈만 저장하면 됨
      • 학습 효율 증가 → Gradient 저장 불필요, 하드웨어 요구량 3배 절감
      • 추론 속도 유지 → 기존 Fine-tuned 모델과 동일한 속도
      • 다른 방법과 병행 가능 → Prefix-tuning 등과 조합 가능

Introduction

연구 배경

  • 사전 학습된 LLM은 다양한 다운스트림 작업에 적응 필요.
  • 기존 Fine-tuning 방식은 모든 파라미터를 업데이트해야 하므로 비효율적
    • 모델 크기가 클수록 비용 증가
    • 추론 속도 저하 및 사용 가능한 시퀀스 길이 감소
    • 성능 저하와 효율성 사이의 트레이드오프 발생

LoRA (Low-Rank Adaptation) 개념

  • LLM의 가중치 변화(ΔW)는 저차원 구조를 가질 것이라는 가설을 기반으로 설계됨.
  • 기존 가중치는 그대로 유지하고 Rank 분해 행렬(A, B)만 학습하여 적은 수의 파라미터로 Fine-tuning 가능.

LoRA의 핵심 개념 및 용어 정리

  • Transformer Layer 차원 (d_model): 입력 및 출력 차원.
  • W_q, W_k, W_v, W_o: Self-attention 모듈의 Query, Key, Value, Output 프로젝션 행렬.
  • W: 사전 학습된 가중치
  • ΔW: 적응 과정에서 업데이트된 가중치 변화.
  • r: LoRA의 Rank 값 (낮을수록 학습할 파라미터가 적음).
  • 최적화 알고리즘: Adam 사용

Problem Statement

기존 Fine-Tuning 방식

  • 모든 파라미터를 학습해야 하므로 각 Task마다 별도의 거대한 모델 저장 필요
  • 문제점:
    • 모델이 클수록 저장 및 배포가 어렵거나 불가능.
    • 각 Fine-Tuned 모델이 독립적으로 존재해야 함 → 운영 비용 급증.

LoRA

  • 기존 Fine-Tuning 대비 차별점
    • 각 가중치를 저차원 행렬로 표현 → 학습할 파라미터 수 감소

Aren’t Existing Solutions Good Enough?

기존 연구에서도 효율적인 Fine-tuning을 위한 다양한 시도가 있었음.

  • 기존 Fine-tuning의 비효율성을 해결하기 위한 대표적인 방법 두 가지
    1. Adapter Layers 추가
    2. 입력 레이어 활성화 최적화 (Prompt Tuning, Prefix Tuning)

⇒ 하지만 대규모 모델, 실시간 추론 환경에서 한계점 존재.

 

Adapter Layers의 한계: 추론 지연 증가

  • Adapter Layers 방식: 기존 모델에 작은 모듈을 추가하여 일부만 학습
  • 문제점: 추가적인 계산 비용 발생 → 추론 속도 저하
    • Adapter Layer는 병렬 처리 불가능순차적으로 처리해야 함.

Prompt Tuning의 한계: 최적화 어려움 & 시퀀스 길이 감소

  • Prefix-Tuning, Prompt-Tuning 방식
    • 입력에 추가적인 토큰을 삽입하여 모델이 학습된 정보와 연관성을 가지도록 유도.
    • 모델 가중치는 그대로 유지하고 입력값을 조정하는 방식.
  • 문제점: 학습 최적화 어려움 & 성능 저하 가능성
    • Prefix-Tuning은 학습 난이도가 높으며 성능이 일관되지 않음.
    • 실험적으로 학습 가능한 파라미터 수가 많아져도 성능이 비선형적으로 변화.
    • 시퀀스 길이 일부를 프롬프트로 사용해야 하므로 실제 모델이 활용할 수 있는 입력 길이가 줄어듦 → Task 성능 저하 가능성.

LoRA의 필요성

  • 기존 기법들은 효율성을 높이려는 시도는 했지만 실질적인 문제 해결에는 한계가 있음.
  • Adapter Layers → 추론 속도 저하 문제 발생.
  • Prompt-Tuning → 최적화 난이도 및 시퀀스 길이 감소 문제 발생.

⇒ LoRA는 추가적인 계산 비용 없이 동일한 추론 속도를 유지하면서도 Fine-Tuning의 성능을 확보 가능.

Our Method

Low-Rank-Parametrized Update Matrices

  • LoRA 방식
    • 기존 모델 가중치 W0는 고정.
    • 업데이트되는 가중치를 저차원 행렬 B,A 로 분해하여 학습.
    • 학습 시 A, B만 최적화, 기존 가중치 업데이트 없음.
  • LoRA의 장점
    • 추가적인 추론 지연 없음 → 기존 Fine-Tuning과 같은 속도로 동작.
    • 적은 파라미터만 학습 → 메모리 사용량 & 저장 공간 절약.
    • Task 전환 용이 → Low-Rank 행렬만 교체하면 됨.
    • Full Fine-Tuning 수준의 성능 유지 가능 (Rank 값 조절).

Applying LoRA to Transformer

  • Attention 가중치만 학습
  • MLP 및 LayerNorm 등은 파라미터 절약 목적으로 학습 X

Understanding the Low-Rank Updates

1.Transformer의 어떤 가중치 행렬에 LoRA를 적용해야 하나?

  • 단일 가중치 수정 시Wq, Wk가 가장 성능이 낮음
  • 여러 가중치 조합 시Wq, Wv 조합이 가장 성능이 좋음

2. 최적의 rank r은 무엇인가?

작은 r 값에서도 Full Fine-tuning에 가까운 성능 유지 가능 ⇒ 낮은 r을 선택해 효율적으로 Fine-tuning을 수행하는 것이 효과적

3. Adaptation 행렬 ΔW는 W와 어떻게 비교되는가?

LoRA의 ΔW는 기존 가중치 W의 일부 정보를 증폭하는 방식으로 작동 & 작은 r에서도 효과적으로 적응이 가능함

Conclusion and Future Work

LoRA 핵심 요약

  • 대규모 언어 모델의 Fine-Tuning은 비용이 너무 높음 → LoRA는 이를 해결하는 효율적 적응 기법.
  • 추가적인 추론 지연 없음 & 입력 시퀀스 길이 유지 → 기존 Fine-Tuning 대비 효율성 높음.
  • 대부분의 모델 파라미터를 공유하여 빠른 Task 전환 가능 → 서비스 배포에 유리.
  • Transformer뿐만 아니라 모든 Dense Layer가 포함된 신경망에 적용 가능.

미래 연구 방향

  • LoRA + 다른 효율적 적응 기법 결합 → 성능 향상 가능성 연구.
  • Fine-Tuning과 LoRA의 내부 메커니즘 분석 → 모델이 다운스트림 작업에 적응하는 원리 이해.
  • LoRA 적용 대상을 더 체계적으로 선택하는 방법 필요 (현재는 휴리스틱 접근을 사용)
  • W 자체의 Rank-Deficiency 연구
    • ΔW의 Rank가 낮다면 W 자체도 Rank-Deficient일 가능성.
    • 추가적인 모델 최적화 기법 개발 가능성 있음.