coredot.today
LoRA / QLoRA 특집: 1,750억 개 파라미터를 35MB로 길들이는 마법
블로그로 돌아가기
LoRAQLoRA파인튜닝저랭크 적응양자화NF4LLM파라미터 효율적 학습

LoRA / QLoRA 특집: 1,750억 개 파라미터를 35MB로 길들이는 마법

GPT-3 175B를 파인튜닝하려면 1.2TB GPU 메모리가 필요하다. LoRA는 학습 파라미터를 1만 배 줄이고, QLoRA는 65B 모델을 단일 48GB GPU에서 학습 가능하게 만들었다. 저랭크 분해의 수학부터 2026년 모든 오픈소스 모델의 표준이 된 여정까지, 두 논문을 낱낱이 해부한다.

코어닷투데이2026-03-2544

들어가며: 코끼리에게 작은 가방을 — 거대 AI를 가르치는 새로운 방법

LoRA: 거대 모델에 작은 어댑터를 달다

2020년, OpenAI가 GPT-3**를 발표했다. 1,750억 개의 파라미터. 학습에 사용된 GPU 시간만 수백만 달러. 이 모델을 특정 업무에 맞게 **파인튜닝(fine-tuning)하려면? 모든 1,750억 개 파라미터를 다시 학습해야 한다. 필요한 GPU 메모리: 1.2TB. NVIDIA A100 80GB 기준으로 15장 이상.

그런데 2021년, Microsoft의 Edward Hu 등이 질문 하나를 던졌다:

"정말로 1,750억 개 파라미터를 전부 바꿔야 하나? 혹시 아주 작은 부분만 바꿔도 되는 건 아닐까?"

답은 "된다"였다. 그것도 놀라울 정도로. 학습할 파라미터를 1만 배** 줄여도 성능이 떨어지지 않았다. 체크포인트 크기가 350GB에서 35MB로 줄었다. 이것이 **LoRA(Low-Rank Adaptation)다.

2년 뒤, University of Washington의 Tim Dettmers 등은 여기에 4비트 양자화**를 결합하여 QLoRA를 만들었다. 650억 파라미터 모델을 단일 48GB GPU에서, ChatGPT 성능의 **99.3%를 달성하는 모델로 학습시켰다. 학습 시간: 24시간.

이 글에서는 왜 이런 기술이 필요했는지(제1장), LoRA의 수학적 원리(제2장), 논문의 실험 결과(제3장), "랭크가 낮아도 되는" 놀라운 발견(제4장), QLoRA의 세 가지 혁신(제5장), 실전 활용(제6장), 그리고 2026년 현재의 위치(제7장)를 다룬다.


제1장: 파인튜닝의 비용 문제 — 왜 새로운 방법이 필요했는가

풀 파인튜닝: 전체를 다시 학습하다

대형 언어 모델의 활용 패러다임은 간단하다. 사전학습(pre-training)파인튜닝(fine-tuning). 인터넷의 방대한 텍스트로 일반 지식을 학습하고(사전학습), 특정 과제의 데이터로 미세 조정한다(파인튜닝).

문제는 파인튜닝도 풀 파인튜닝(full fine-tuning)이었다는 것이다. 모델의 모든 파라미터에 대해 기울기(gradient)를 계산하고, 옵티마이저 상태(momentum, variance)를 유지해야 한다. Adam 옵티마이저를 사용하면 파라미터당 추가로 8바이트의 옵티마이저 상태가 필요하다.

175B GPT-3 파라미터 수 1,750억 개
1.2TB 풀 파인튜닝 GPU 메모리 FP16 + Adam 옵티마이저
350GB 체크포인트 1개 크기 과제당 하나씩 저장
15+ 필요한 A100 GPU 수 80GB 기준

더 심각한 문제: 과제마다 독립적인 모델 복사본이 필요하다. 고객 서비스, 코드 생성, 의료 상담 — 각 과제마다 350GB짜리 체크포인트를 따로 저장하고, 전환할 때마다 전체 모델을 교체해야 한다.

비유하면 이렇다. 영어 선생님이 수학도 가르치고 싶다고 하자. 풀 파인튜닝은 선생님의 뇌 전체를 복제해서 수학 교육을 다시 시킨 뒤, 수학 수업 때마다 뇌를 통째로 교체하는 것이다. 엄청나게 비효율적이다.

2021년까지의 대안들: 각각의 한계

LoRA 이전에도 "효율적 파인튜닝"을 위한 시도는 있었다:

방법핵심 아이디어한계
Adapter Layers (Houlsby, 2019)Transformer 블록 사이에 작은 병목 레이어 삽입추론 시 지연(latency) — 레이어가 추가되므로
Prefix Tuning (Li & Liang, 2021)입력 앞에 학습 가능한 가상 토큰 추가최적화 어려움, 성능 불안정, 시퀀스 길이 감소
BitFit (Ben-Zaken, 2022)바이어스 항만 학습대형 모델에서 성능 부족
Prompt Tuning (Lester, 2021)연속 프롬프트 벡터 학습모델 크기가 작으면 성능 급격히 하락

특히 Adapter Layers의 추론 지연 문제는 심각했다. LoRA 논문이 직접 측정한 결과:

GPT-2 Medium 추론 지연 (배치=1, 시퀀스=128)
풀 FT / LoRA
19.8ms
AdapterL
23.9ms +20.7%
AdapterH
25.8ms +30.3%

배치 크기 1에서 어댑터는 20~30% 느려진다. 실시간 서비스에서 이 차이는 치명적이다. 더구나 모델 병렬화(여러 GPU 분산) 환경에서는 어댑터가 추가 동기화 연산을 발생시켜 지연이 더 심해진다.

LoRA의 핵심 약속: 학습 파라미터를 극적으로 줄이면서, 추론 시 지연이 전혀 없다. 어떻게?


제2장: LoRA의 수학 — 저랭크 분해의 마법

핵심 가설: 가중치 업데이트는 "저랭크"다

LoRA의 출발점은 대담한 가설이다:

"파인튜닝 과정에서 가중치 행렬의 변화량(Delta W)은 본질적으로 랭크가 낮다."

이것은 Aghajanyan et al.(2020)의 내재적 차원(intrinsic dimensionality) 연구에 기반한다. 그들은 사전학습된 모델이 수백만 차원의 파라미터 공간에 있지만, 파인튜닝에 실제로 필요한 차원은 놀라울 정도로 낮다는 것을 보였다. 175B 모델의 파라미터가 1,750억 차원 공간에 있지만, 과제 적응에 필요한 "방향"은 수백~수천 차원이면 충분하다는 것이다.

비유하면: 서울에서 부산까지 가는 길은 무한히 많지만, 실제로 의미 있는 경로는 몇 개 안 된다. 파인튜닝의 가중치 업데이트도 마찬가지다 — 수십억 차원의 공간에서 움직이지만, 실제로 중요한 방향은 극소수다.

수학적 공식: W = W₀ + BA

LoRA의 수학은 놀라울 정도로 단순하다.

사전학습된 가중치 행렬 W0Rd×kW_0 \in \mathbb{R}^{d \times k}에 대해, 풀 파인튜닝은 업데이트 ΔW\Delta W를 직접 학습한다. LoRA는 이 ΔW\Delta W두 개의 작은 행렬의 곱으로 분해한다:

ΔW=BA\Delta W = BA

여기서 BRd×rB \in \mathbb{R}^{d \times r}, ARr×kA \in \mathbb{R}^{r \times k}, 그리고 rmin(d,k)r \ll \min(d, k).

순전파(forward pass)는:

h=W0x+ΔWx=W0x+BAxh = W_0 x + \Delta W x = W_0 x + BAx

LoRA 핵심 공식 — 차원 분석

예: GPT-3의 어텐션 가중치 (d = k = 12,288)

  • 원래 ΔW\Delta W: 12,288 × 12,288 = 150,994,944 파라미터
  • LoRA (r=8): B(12,288 × 8) + A(8 × 12,288) = 196,608 파라미터
  • 축소 비율: 768배 (0.13%)

전체 GPT-3 175B에 적용하면:

  • 풀 파인튜닝: 175,255,800,000 파라미터

  • LoRA (r=4, WqW_q+WvW_v): 4,700,000 파라미터

  • 축소 비율: 약 37,000배 (0.0027%)

초기화와 스케일링: 사소하지만 중요한 디테일

초기화:** A는 랜덤 가우시안으로, B는 **영행렬(zero)로 초기화한다. 따라서 학습 시작 시 ΔW=BA=0\Delta W = BA = 0이다. 이것은 학습 초기에 모델이 사전학습된 상태에서 시작하도록 보장한다 — 안정적인 학습의 핵심이다.

스케일링: ΔWx\Delta W \cdot xα/r\alpha / r 스케일링 팩터를 곱한다. α\alpha는 상수로, rr을 바꿔도 하이퍼파라미터 재조정 없이 학습할 수 있게 한다.

배포 시 마법: 추론 지연 제로

LoRA의 가장 우아한 특성은 배포 시 원래 모델과 합칠 수 있다는 것이다:

W=W0+BAW = W_0 + BA

한 번 합치면 WW를 가지고 일반 모델처럼 추론한다. 추가 레이어도 없고, 추가 연산도 없다. Adapter와 달리 추론 지연이 완전히 제로다.

과제 전환은? BABA를 빼고 BAB'A'를 더하면 된다:

W=WBA+BAW' = W - BA + B'A'

사전학습 모델 W₀
과제 A: W₀ + B_A · A_A
과제 B: W₀ + B_B · A_B
과제 C: W₀ + B_C · A_C
35MB
35MB
35MB

하나의 기본 모델(350GB)에 과제별 어댑터(35MB)만 교체. 마치 하나의 스마트폰에 앱만 바꿔 설치하는 것과 같다.


제3장: 실험 — "정말로 성능이 떨어지지 않는가?"

RoBERTa & DeBERTa: GLUE 벤치마크

LoRA가 풀 파인튜닝과 정말 동등한 성능을 내는지, GLUE 벤치마크(자연어 이해 8개 과제)에서 검증했다:

GLUE 평균 정확도 — 풀 파인튜닝 vs LoRA
RoBERTa-base FT
86.4
RoBERTa-base LoRA
87.2 +0.8
RoBERTa-large FT
88.9
RoBERTa-large LoRA
89.0 +0.1
DeBERTa-XXL FT
91.1
DeBERTa-XXL LoRA
91.3 +0.2

모든 모델 크기에서 LoRA가 풀 파인튜닝과 동등하거나 오히려 더 좋다. DeBERTa-XXL(15억 파라미터)에서는 학습 파라미터가 1,500M → 4.7M (0.31%)으로 줄었는데도 성능이 오히려 올랐다.

GPT-3 175B: 진짜 대형 모델에서의 검증

LoRA 논문의 하이라이트는 GPT-3 175B에서의 실험이다:

방법학습 파라미터WikiSQLMNLI-mSAMSum
GPT-3 풀 FT175,255.8M73.889.552.0
GPT-3 LoRA4.7M73.491.753.8
GPT-3 AdapterH7.1M71.989.853.0
GPT-3 PreLayer20.2M70.189.550.8
GPT-3 BitFit14.2M71.391.051.3
핵심
4.7M vs 175,255.8M: LoRA는 풀 파인튜닝 대비 파라미터를 37,000배 줄이면서, MNLI에서는 89.5% → 91.7%로 오히려 2.2%p 더 높은 성능을 달성했다. SAMSum 요약에서도 마찬가지. 다른 효율적 방법(Adapter, PreLayer, BitFit)도 모두 능가한다.

효율성 수치 요약

35MB 체크포인트 크기 350GB → 35MB (10,000배 축소)
350GB GPU 메모리 1.2TB → 350GB (3.4배 절감)
25% 학습 속도 향상 43.1 vs 32.5 tokens/s (V100)
0ms 추가 추론 지연 배포 시 W₀ + BA 병합

제4장: "랭크 1이면 충분하다" — 저랭크의 비밀

어떤 가중치를 적응시킬 것인가?

Transformer의 셀프 어텐션에는 4개의 가중치 행렬이 있다: WqW_q(쿼리), WkW_k(키), WvW_v(값), WoW_o(출력). 어디에 LoRA를 적용해야 할까?

논문은 고정된 파라미터 예산(18M)으로 다양한 조합을 실험했다:

GPT-3 175B WikiSQL 정확도 — 가중치 조합별 (예산 고정)
W_q만 (r=8)
70.4
W_v만 (r=8)
73.0
W_q+W_v (r=4)
73.7 최고
전부 (r=2)
73.7 동일

결론: 하나의 가중치에 높은 랭크보다, 여러 가중치에 낮은 랭크로 분산하는 것이 낫다. 이것은 업데이트의 "내재적 랭크"가 매우 낮다는 가설을 뒷받침한다.

랭크 r은 얼마면 충분한가?

이것이 논문의 가장 놀라운 발견이다:

랭크 rWikiSQLMNLI
r = 173.491.3
r = 273.391.4
r = 473.791.3
r = 873.891.6
r = 6473.591.4

r = 1에서도 이미 경쟁력 있는 성능을 달성한다. r을 1에서 64로 64배 늘려도 성능 향상은 미미하다. 이것은 파인튜닝의 가중치 업데이트가 극도로 낮은 내재적 랭크를 가진다는 것을 의미한다.

Delta W는 W와 어떤 관계인가?

논문은 한 걸음 더 나아가 ΔW\Delta W가 원래 가중치 WW와 어떤 관계인지 분석한다. 핵심 발견:

  1. ΔW\Delta WWW의 주요 특이벡터 방향을 반복하지 않는다. 이미 WW에서 강조된 방향은 건드리지 않는다.
  2. 대신, WW에서 강조되지 않았던 방향을 증폭한다. 증폭 계수가 무려 21.5배.

비유하면: 사전학습된 모델이 이미 "일반 지식"으로 잘 다져진 도로가 있다. 파인튜닝은 새 도로를 까는 것이 아니라, 기존에 사용되지 않던 작은 샛길을 크게 확장하는 것이다. 그래서 소수의 방향(저랭크)만으로도 충분하다.


제5장: QLoRA — 4비트의 혁명

LoRA에서 QLoRA로: 더 작게, 더 강하게

왜 QLoRA가 필요했는가?

LoRA는 학습 파라미터를 1만 배 줄였지만, 기본 모델 자체는 여전히 GPU에 올려야 한다. LLaMA-65B를 16비트로 올리려면 130GB 이상의 GPU 메모리가 필요하다. LoRA를 써도 기본 모델의 메모리 부담은 그대로다.

2023년 5월, Tim Dettmers 등은 질문을 던졌다: "기본 모델을 4비트로 양자화해놓고, 그 위에 LoRA를 적용하면 어떨까?"

얼핏 무모해 보인다. 모델을 4비트로 압축하면 정보 손실이 발생하는데, 그 상태에서 파인튜닝이 제대로 될까?

QLoRA 논문의 답: 세 가지 기술 혁신으로 성능 손실 없이 가능하다.

혁신 1: 4-bit NormalFloat (NF4) — 정보 이론적 최적 양자화

기존 4비트 양자화 방식들(Int4, Float4)은 데이터 분포를 고려하지 않았다. QLoRA는 핵심적인 관찰에서 출발한다:

"사전학습된 신경망의 가중치는 평균 0의 정규분포를 따른다."

Shapiro-Wilk 검정으로 LLaMA-7B를 분석한 결과, 뉴런의 92.5%가 정규분포를 따랐다.

정규분포에 최적화된 양자화란? Quantile Quantization — 각 양자화 구간에 동일한 수의 값이 들어가도록 경계를 설정하는 것이다. 정보 이론적으로, 이것이 주어진 비트 수에서 최소 오차를 달성하는 최적 방법이다.

NF4의 16개 값 (4비트 = 242^4 = 16개 수준):

NF4 데이터 타입 — 16개 양자화 수준

[-1.0, -0.6962, -0.5251, -0.3949, -0.2844, -0.1848, -0.0911, 0.0, 0.0796, 0.1609, 0.2461, 0.3379, 0.4407, 0.5626, 0.7230, 1.0]

중앙(0 근처)에 값이 밀집 — 정규분포의 꼭대기에 해상도 집중 양 끝(±1)은 듬성듬성 — 꼬리 부분은 적은 값이 존재하므로

4비트 양자화 방식 비교 — Pile Common Crawl 퍼플렉시티 (낮을수록 좋음)
Int4
34.34
Float4 (E2M1)
31.07
Float4 (E3M0)
29.48
NF4 + DQ
27.41 최적

혁신 2: Double Quantization (이중 양자화)

블록 양자화에서 각 블록(64개 값)마다 하나의 양자화 상수(scaling factor)가 필요하다. 이 상수는 32비트 부동소수점이다. 175B 파라미터 모델이면 양자화 상수만 해도 상당한 메모리를 차지한다.

QLoRA의 아이디어: 양자화 상수를 또 양자화하자!

Double Quantization 과정
1차 양자화 가중치를 64개씩 블록으로 나누고, 각 블록을 4비트(NF4)로 양자화. 블록당 32비트 상수 1개.
오버헤드 32비트/64값 = 파라미터당 0.5비트 추가
2차 양자화 1차 상수들을 256개씩 모아서 8비트(FP8)로 양자화. 256개당 32비트 상수 1개.
최종 오버헤드 8/64 + 32/(64×256) = 파라미터당 0.127비트 (0.5비트 → 0.127비트)

파라미터당 0.373비트 절약. 65B 모델에서 이것은 약 3GB 메모리 절감이다. 48GB GPU에서 이 3GB가 학습 가능/불가능의 경계를 결정한다.

혁신 3: Paged Optimizers (페이지 옵티마이저)

그래디언트 체크포인팅 과정에서 메모리 사용량이 일시적으로 급증(spike)할 수 있다. 기존에는 이 스파이크 때문에 OOM(Out of Memory)이 발생하면 학습이 중단되었다.

QLoRA는 NVIDIA의 통합 메모리(Unified Memory)** 기능을 활용한다. GPU 메모리가 가득 차면 옵티마이저 상태를 **자동으로 CPU RAM으로 페이징(eviction)하고, 업데이트가 필요할 때 다시 GPU로 가져온다. 운영체제의 가상 메모리와 같은 원리다.

QLoRA 전체 공식

모든 것을 합치면:

YBF16=XBF16doubleDequant(c1FP32,c2k-bit,WNF4)+XBF16L1BF16L2BF16Y^{BF16} = X^{BF16} \cdot \text{doubleDequant}(c_1^{FP32}, c_2^{k\text{-bit}}, W^{NF4}) + X^{BF16} \cdot L_1^{BF16} \cdot L_2^{BF16}

저장은 NF4(4비트)로, 연산은 BF16(16비트)으로. 양자화된 기본 모델 위에 BF16 LoRA 어댑터를 올린다.


제6장: Guanaco — 단일 GPU로 ChatGPT에 도전하다

99.3%의 성능, 1/780의 비용

QLoRA의 실전 검증을 위해 연구팀은 Guanaco 모델 패밀리를 학습시켰다. LLaMA 65B를 QLoRA로 파인튜닝한 것이다.

학습 조건: OASST1 데이터셋 9,209개 예시, 단일 48GB GPU, 24시간. LLaMA 65B 풀 파인튜닝에 필요한 780GB 대비 1/16의 메모리다.

Vicuna 벤치마크 — ChatGPT 대비 성능 (%)
GPT-4
114.5%
Guanaco 65B
99.3% 41GB
Guanaco 33B
97.8% 21GB
Vicuna 13B
94.9%
ChatGPT
96.6%
Guanaco 7B
87.0% 5GB

Guanaco 65B는 ChatGPT를 앞서고, Guanaco 33B는 21GB 메모리 — 소비자용 RTX 4090 한 장으로 학습 가능 — 에서 ChatGPT 성능의 97.8%를 달성했다.

Guanaco 7B는 놀라운 수치다. 5GB 메모리 — 이론상 스마트폰에서도 돌릴 수 있는 크기 — 로 ChatGPT의 87%를 달성하면서, 같은 13B 크기의 Alpaca보다 20%p 이상 앞선다.

데이터 품질 > 데이터 양

QLoRA 논문의 또 다른 중요한 발견: 데이터의 품질이 양보다 압도적으로 중요하다.

OASST1 (9,209개)

인간이 직접 작성한 대화 데이터
챗봇 벤치마크 최고 성능
MMLU 성능은 보통

FLAN v2 (450,000개)

대규모 자동 생성 인스트럭션 데이터
MMLU 최고 성능
챗봇 성능은 낮음

9천 개의 고품질 데이터가 45만 개의 데이터를 챗봇 성능에서 압도한다. 반면 MMLU(지식 평가)에서는 FLAN v2가 더 좋다. 데이터셋 선택이 "무엇을 잘하는 모델을 만들 것인가"를 결정한다.

NF4가 16비트와 동등함을 증명

QLoRA의 가장 중요한 기여 중 하나는, NF4 양자화가 성능을 해치지 않는다는 것을 여러 스케일에서 검증한 것이다:

LLaMA 크기BFloat16NFloat4+DQ
7B38.439.0
13B47.247.5
33B57.757.3
65B61.861.8

NF4가 BF16과 동등하거나 오히려 더 좋은 경우도 있다. 양자화가 일종의 정규화(regularization) 효과를 내는 것으로 추측된다.


제7장: 2026년, LoRA가 있는 풍경

LoRA는 사실상 표준이 되었다

2026년 현재, LoRA는 오픈소스 LLM 커뮤니티의 사실상 표준 파인튜닝 방법이다.

Hugging Face: peft 라이브러리가 LoRA/QLoRA를 1급 시민으로 지원. transformers와 원클릭 통합.

커뮤니티 모델: CivitAI, Hugging Face에서 수만 개의 LoRA 어댑터가 공유되고 있다. 특히 Stable Diffusion 커뮤니티에서는 "LoRA"가 일상 용어가 되었다 — 특정 화풍, 캐릭터, 스타일을 학습한 어댑터를 "LoRA 파일"이라 부른다.

기업 활용: 모든 주요 LLM 서비스(OpenAI, Anthropic, Google, Together AI)가 LoRA 기반 파인튜닝 API를 제공한다.

LoRA의 후속 연구들

2021.06 LoRA 저랭크 적응의 시작. r=4로 GPT-3 파인튜닝.
2023.05 QLoRA 4비트 양자화 + LoRA. 65B를 단일 GPU에서.
2023.11 LoRA+ A와 B 행렬에 다른 학습률 적용. 성능 1~2% 향상.
2024.02 DoRA 가중치를 크기/방향으로 분해 후 LoRA 적용.
2024.04 LoRA-GA 그래디언트 근사로 수렴 속도 개선.
2024~2025 LoRA 기반 MoE 여러 LoRA를 Mixture-of-Experts로 결합.

왜 LoRA가 살아남았는가?

2021년 이후 수많은 파라미터 효율적 방법이 제안되었지만, LoRA가 사실상 유일한 표준으로 살아남은 이유:

  1. 구현의 단순함. 기존 모델 코드를 거의 건드리지 않는다. 선형 레이어 옆에 작은 행렬 두 개만 추가.
  2. 추론 지연 제로. 배포 시 원래 모델에 합쳐지므로 추가 비용 없음.
  3. 합성 가능성(composability). 여러 LoRA를 합치거나, 전환하거나, 가중 평균할 수 있음.
  4. 이론적 근거. 저랭크 가설이 실험적으로 강하게 뒷받침됨.
  5. 생태계. Hugging Face PEFT, bitsandbytes 등 성숙한 도구 체인.

AI 민주화의 핵심 기술

LoRA/QLoRA의 가장 중요한 사회적 기여는 AI 민주화다.

풀 파인튜닝 시대: GPT-3를 파인튜닝하려면 수십 장의 A100과 수만 달러의 클라우드 비용. 대기업과 연구소만 가능.

QLoRA 이후: 65B 모델을 단일 48GB GPU에서, 7B 모델을 게이밍 그래픽카드에서 학습 가능. 대학원생, 스타트업, 개인 개발자 모두 자신만의 AI를 만들 수 있다.

논문의 전망:

"QLoRA는 스마트폰에서의 파인튜닝 가능성을 열었다. iPhone 12 Plus에서 충전 중 밤새 300만 토큰을 학습할 수 있을 것으로 추정된다."


맺으며: 37,000배의 효율성이 가져온 혁명

LoRA 논문의 한 줄 요약: "파인튜닝에서 바뀌는 것은 생각보다 훨씬 적다."

이 단순한 통찰이 가져온 변화는 혁명적이다. 350GB 체크포인트가 35MB로 줄었고, 수십 장의 GPU가 한 장으로 줄었고, 수만 달러의 비용이 수십 달러로 줄었다. 그리고 이 모든 것이 성능 손실 없이 — 때로는 오히려 더 나은 성능으로 — 달성되었다.

QLoRA는 여기에 양자화의 마법을 더해, "AI를 만들 수 있는 사람"의 범위를 극적으로 확장했다. ChatGPT에 필적하는 모델을 대학원생이 노트북 한 대로 만들 수 있게 된 것이다.

2026년 현재, Hugging Face에서 매일 올라오는 수백 개의 새로운 모델 중 상당수가 LoRA로 학습되었다. Stable Diffusion 커뮤니티에서 공유되는 수만 개의 스타일 어댑터, 기업들의 도메인 특화 모델, 연구자들의 실험 — 모두 이 기술 위에 서 있다.

돌이켜보면, Edward Hu의 질문은 이렇게 단순했다: "정말로 전부 바꿔야 하나?" 답이 "아니오"였다는 것 — 그리고 그 "아니오"가 얼마나 극적이었는지(r=1r = 1이면 충분하다!) — 가 AI 역사의 한 페이지를 바꿨다.


참고 논문:

  • Edward Hu et al. "LoRA: Low-Rank Adaptation of Large Language Models." ICLR 2022. arXiv:2106.09685
  • Tim Dettmers et al. "QLoRA: Efficient Finetuning of Quantized LLMs." NeurIPS 2023. arXiv:2305.14314

코드: github.com/microsoft/LoRA | github.com/artidoro/qlora | github.com/TimDettmers/bitsandbytes