저랭크 적응(Low-Rank Adaptation)

•
2026년 11월 01일 발행•2026년 11월 01일 수정
요약

사전 학습 가중치를 고정하고 가중치 변화량을 저랭크 행렬의 곱으로 학습하는 매개변수 효율적 미세 조정 기법

고급
선형대수의 행렬 랭크 개념과 트랜스포머 구조, 미세 조정과 양자화에 대한 이해가 필요하다.

#개념

저랭크 적응(Low-Rank Adaptation, LoRA)은 사전 학습된 모델의 가중치를 고정한 채, 가중치 변화량을 두 개의 작은 저랭크 행렬의 곱으로 학습하는 매개변수 효율적 미세 조정(Fine-tuning) 기법이다. Hu 등(2021)이 대규모 언어 모델 적응을 위해 제안했으며, 학습 파라미터와 메모리를 크게 줄이면서도 전체 미세 조정에 가까운 성능을 내 현재 가장 널리 쓰이는 미세 조정 방법 중 하나가 되었다.
모델 규모가 수십억에서 수천억 파라미터로 커지면서 모든 가중치를 갱신하는 전체 미세 조정은 GPU 메모리와 저장 공간 측면에서 부담이 커졌다. 과제마다 원본 크기의 모델 사본을 따로 저장해야 하고, 옵티마이저 상태까지 고려하면 학습 메모리는 모델 크기의 몇 배가 된다. 기존의 어댑터(Adapter) 방식은 층 사이에 작은 모듈을 추가해 이 문제를 줄였지만, 추가된 연산 때문에 추론 지연이 생기는 단점이 있었다.
LoRA는 사전 학습 모델을 특정 과제에 적응시킬 때 필요한 가중치 변화가 낮은 내재 랭크(Intrinsic Rank)를 가진다는 가설에서 출발한다. 사전 학습 가중치 $W_0 \in \mathbb{R}^{d \times k}$는 고정하고 변화량을 $\Delta W = BA$로 분해한다. 여기서 $B \in \mathbb{R}^{d \times r}$, $A \in \mathbb{R}^{r \times k}$이며 랭크 $r$은 $\min(d, k)$보다 훨씬 작다.
순전파는 $h = W_0 x + \frac{\alpha}{r} BAx$로 계산하며, 학습 중에는 $A$와 $B$만 기울기를 받아 갱신된다. $W_0 x$와 $BAx$는 같은 입력을 받아 병렬로 계산된 뒤 더해지므로 기존 층 구조를 바꾸지 않고 덧붙일 수 있다. LoRA의 동작을 결정하는 주요 설정은 다음과 같다.
LoRA의 주요 설정
  • 랭크(r): 업데이트 행렬의 랭크로, 클수록 표현력이 커지지만 학습 파라미터도 늘어난다. 원 논문은 매우 작은 랭크로도 충분한 성능이 나오는 경우가 많다고 보고했다.
  • 스케일(α): 저랭크 업데이트에 곱하는 계수로, 실제 배율은 $\alpha / r$이다. 랭크를 바꿔도 학습률을 크게 다시 조정하지 않아도 되도록 돕는다.
  • 초기화: $A$는 무작위 가우시안 값으로, $B$는 0으로 초기화한다. 따라서 학습 시작 시점에는 $\Delta W = 0$이 되어 모델이 사전 학습 상태 그대로 출발한다.
  • 적용 위치: 트랜스포머에서는 주로 어텐션 메커니즘(Attention Mechanism)의 쿼리·키·값·출력 투영 행렬에 적용한다. 원 논문은 쿼리와 값 투영에 적용한 설정을 중심으로 실험했으며, 최근에는 피드포워드 층까지 포함하는 경우도 많다.
파라미터 절감 효과는 수치로 보면 분명하다. $d = k = 4096$인 행렬 하나를 전체 미세 조정하면 약 1,678만 개의 파라미터를 갱신하지만, $r = 8$인 LoRA는 $r(d + k) = 65{,}536$개만 학습하므로 약 0.39%에 불과하다. 원 논문은 GPT-3 175B 모델에서 Adam으로 전체 미세 조정할 때보다 학습 파라미터를 10,000배, GPU 메모리 요구량을 3배 줄일 수 있다고 보고했다.
메모리 절감은 고정된 가중치에 대한 기울기와 옵티마이저 상태를 저장하지 않아도 되는 데서 나온다. 학습 결과물인 어댑터 파일도 수 MB에서 수백 MB 수준이어서, 하나의 기반 모델에 여러 과제용 어댑터를 저장하고 배포하기 쉽다. 체크포인트 저장과 실험 관리 비용이 줄어드는 것도 실무상 큰 장점이다.
LoRA의 또 다른 장점은 추론 시 지연이 없다는 점이다. 학습이 끝나면 $W = W_0 + \frac{\alpha}{r} BA$를 계산해 원래 가중치에 병합할 수 있으므로, 병합된 모델은 기반 모델과 구조와 연산량이 동일하다. 다른 과제로 전환할 때는 $BA$를 빼고 새로운 어댑터를 더하면 된다. PEFT 라이브러리에서는 merge_and_unload 함수로 이 병합을 수행한다.
QLoRA(Dettmers 등, 2023)는 기반 모델을 4비트로 양자화(Quantization)한 상태에서 LoRA를 학습해 메모리 요구량을 한층 더 줄인 방법이다. 기울기는 고정된 4비트 모델을 거쳐 LoRA 어댑터로 역전파되며, 논문은 이를 통해 65B 파라미터 모델을 48GB GPU 한 장에서 미세 조정할 수 있다고 보고했다. QLoRA의 핵심 구성 요소는 다음과 같다.
QLoRA의 구성 요소
  • 4비트 NormalFloat(NF4): 정규 분포를 따르는 가중치에 맞춰 설계된 4비트 데이터 형식이다. 논문은 정규 분포 가중치에 대해 정보 이론적으로 최적인 형식이라고 설명한다.
  • 이중 양자화(Double Quantization): 블록마다 저장하는 양자화 상수 자체를 다시 양자화한다. 상수 저장에 드는 평균 메모리를 추가로 줄인다.
  • 페이지드 옵티마이저(Paged Optimizer): 긴 시퀀스 처리 등으로 발생하는 순간적인 메모리 급증을 관리한다. GPU 메모리가 부족할 때 옵티마이저 상태를 CPU 메모리로 옮겨 학습 중단을 막는다.
LoRA 이후 랭크 배분, 가중치 표현, 스케일링을 개선한 여러 변형이 제안되었다. 모든 층에 같은 랭크를 쓰는 기본 LoRA의 단순함이 일부 과제에서는 성능의 제약이 된다는 문제의식에서 출발한 연구가 많다. 대부분 PEFT 같은 라이브러리에서 설정 옵션으로 제공되어 기존 LoRA 학습 코드를 크게 바꾸지 않고 시험해 볼 수 있다. 대표적인 변형은 다음과 같다.
주요 LoRA 변형
  • AdaLoRA: 가중치 업데이트를 특이값 분해(SVD) 형태로 표현하고, 중요도 점수에 따라 행렬별 파라미터 예산을 적응적으로 배분한다. 덜 중요한 업데이트의 특이값을 가지치기해 예산을 줄인다.
  • DoRA: 사전 학습 가중치를 크기(Magnitude)와 방향(Direction)으로 분해하고, 방향 성분에만 LoRA를 적용한다. 크기는 별도로 학습해 학습 능력과 안정성을 높이면서 추론 오버헤드는 늘리지 않는다.
  • rsLoRA: 스케일 계수를 $\alpha / r$ 대신 $\alpha / \sqrt{r}$로 사용한다. PEFT에서는 use_rslora 옵션으로 켤 수 있다.
여러 과제나 고객별 어댑터를 동시에 서비스해야 하는 환경에서는 다중 어댑터 서빙이 중요하다. S-LoRA(Sheng 등, 2023)는 모든 어댑터를 주 메모리에 두고 실행 중인 요청에 필요한 어댑터만 GPU로 불러오며, 어댑터 가중치와 KV 캐시를 하나의 메모리 풀로 관리하는 통합 페이징(Unified Paging)을 제안했다. 논문은 이를 통해 수천 개의 어댑터를 동시에 서빙할 수 있다고 보고했다.
LoRA는 언어 모델뿐 아니라 이미지 생성용 확산 모델(Diffusion Model)에서도 널리 쓰인다. 특정 화풍·인물·사물을 소량의 이미지로 학습한 LoRA 파일을 배포하고, 사용자는 하나의 기반 모델에 원하는 LoRA를 불러와 적용한다. 어댑터 파일이 작아 공유와 교체가 쉽고, 여러 LoRA를 서로 다른 가중치로 조합해 적용하는 활용도 일반적이다.
LoRA에도 한계가 있다. Biderman 등(2024)은 코드와 수학 분야 실험에서 일반적인 저랭크 설정의 LoRA가 전체 미세 조정보다 목표 분야 성능이 상당히 낮지만, 기존 능력을 덜 잊는다고 보고했다. 같은 연구는 전체 미세 조정이 학습하는 가중치 변화의 랭크가 일반적인 LoRA 설정보다 10~100배 높다는 점을 성능 차이의 원인 중 하나로 제시했다. 전체 미세 조정과 비교한 특징은 다음과 같다.
전체 미세 조정 대비 장단점
  • 장점: 학습 메모리와 저장 공간이 크게 줄고, 기반 모델 하나로 여러 과제를 지원할 수 있다. 사전 학습 지식의 망각이 상대적으로 적다.
  • 단점: 새로운 지식을 대량으로 주입하는 지속 사전 학습이나 분포 차이가 큰 과제에서는 성능이 부족할 수 있다. 랭크·스케일·적용 위치 같은 추가 하이퍼파라미터를 조정해야 한다.
실무에서는 Hugging Face의 PEFT 라이브러리가 사실상 표준 구현으로 쓰인다. LoraConfig에서 랭크·스케일·적용 모듈을 지정하고 get_peft_model로 기반 모델을 감싸면 LoRA 파라미터만 학습 대상이 된다. PEFT를 4비트 양자화 라이브러리인 bitsandbytes와 함께 쓰면 QLoRA 학습도 구성할 수 있으며, Microsoft의 loralib은 원 논문의 참조 구현으로 공개되어 있다. LoRA는 대규모 모델을 제한된 자원으로 맞춤화하는 가장 실용적인 출발점이다.

#관련 용어

미세 조정
사전 학습된 모델을 특정 과제의 데이터로 추가 학습해 적응시키는 과정
매개변수 효율적 미세 조정(PEFT)
전체 가중치 대신 소수의 파라미터만 학습해 모델을 적응시키는 기법의 총칭
랭크
행렬에서 선형 독립인 행 또는 열의 최대 개수
양자화
모델 가중치나 활성값을 더 적은 비트 수로 표현해 메모리와 연산량을 줄이는 기법
어텐션 메커니즘
입력의 각 위치가 다른 위치에 주는 중요도를 계산해 정보를 가중 결합하는 신경망 구조
어댑터
사전 학습 모델의 층 사이에 삽입해 과제별로 학습하는 작은 신경망 모듈

#직무 연관도

DA
Data Analyst
낮음
도메인 특화 언어 모델 도입 시 비용과 성능의 트레이드오프를 이해하는 데 필요한 배경 지식
DS
Data Scientist
밀접
대규모 모델을 제한된 자원으로 과제에 적응시키고 랭크·적용 위치·변형 기법을 실험
DE
Data Engineer
밀접
QLoRA 기반 학습 파이프라인 구축, 어댑터 병합과 다중 어댑터 서빙 시스템 구현

#사용 사례

인터넷 서비스금융의료전자상거래미디어
개요
LoRA는 대규모 모델을 도메인과 과제에 맞춰 저비용으로 맞춤화해야 하는 산업 전반에서 활용된다. 금융과 의료에서는 전문 용어와 문서 형식에 맞춘 언어 모델 적응에, 전자상거래와 인터넷 서비스에서는 상품 정보 생성·검색·상담 자동화에, 미디어에서는 확산 모델 기반의 화풍·캐릭터 맞춤 이미지 생성에 쓰인다.
사례
전자상거래 기업이 오픈소스 언어 모델을 4비트로 양자화한 뒤 QLoRA로 상품 속성 추출과 고객 문의 응답용 어댑터를 각각 학습하고, 하나의 기반 모델 위에서 요청 유형에 따라 어댑터를 바꿔 서빙한다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.