본문 바로가기
AI Deep Learning

딥러닝의 새로운 지평: 초심자를 위한 Low-Rank Adaptation (LoRA) 완벽 가이드 3편

by AI디코더 2025. 6. 16.

제3장: LoRA 완전 정복 - 원리부터 장점까지

 

LoRA는 어떻게 그토록 적은 파라미터로 거대 모델을 효율적으로 미세조정하면서도, 추론 속도 저하 없이 뛰어난 성능을 유지할 수 있을까요? 그 비밀은 선형대수학의 '순위(rank)'라는 개념과, 모델 변화의 본질에 대한 깊은 통찰에 있습니다.

 

3.1. 핵심 직관: 저차원 고유 순위 가설 (The Low-Rank Intrinsic Rank Hypothesis)

 

LoRA의 출발점은 "거대 언어 모델을 새로운 작업에 적응시킬 때, 가중치의 변화량(ΔW)은 그 행렬의 거대한 차원에도 불구하고, 본질적으로는 매우 낮은 '고유 순위(intrinsic rank)'를 가질 것이다"라는 가설입니다.17

이것이 무슨 의미일까요? 쉽게 비유해 보겠습니다. 수천 페이지에 달하는 방대한 백과사전(사전 훈련된 모델)이 있다고 상상해 봅시다. 이 백과사전에 '최신 스마트폰 기술'이라는 새로운 주제를 추가하기 위해 백과사전 전체를 처음부터 다시 쓸 필요는 없습니다. 대신, 몇 페이지 분량의 부록(appendix)을 만들어 기존 내용과 연결하면 충분합니다. 여기서 백과사전 전체는 고차원(high-dimension)의 원본 지식(W₀)을, 부록은 저차원(low-dimension)의 핵심적인 변화량(ΔW)을 상징합니다. LoRA는 이 '부록'이 매우 얇고 간결할 것이라고 가정하고, 이 부록을 만드는 가장 효율적인 방법을 찾아낸 것입니다.

 

3.2. 수학적 원리 (초심자 눈높이 설명)

 

LoRA의 수학적 원리는 '행렬(matrix)'과 '순위(rank)'라는 두 가지 개념을 통해 이해할 수 있습니다.

 

(1단계) 행렬과 순위 (Matrix and Rank) 개념 이해

 

딥러닝 모델의 각 레이어에 있는 가중치(weights)는 본질적으로 거대한 숫자의 표, 즉 **행렬(matrix)**입니다. 이 행렬은 입력을 받아 변환하고 다음 레이어로 전달하는 역할을 합니다.

**순위(rank)**는 이 행렬이 얼마나 '독립적인' 정보를 담고 있는지를 나타내는 척도입니다.20 비유를 통해 직관적으로 이해해 봅시다. 3차원 공간에 화살표(벡터)들이 있다고 상상해 보세요.22

  • 만약 두 개의 벡터가 정확히 같은 방향이나 정반대 방향을 가리킨다면(선형 종속), 이 두 벡터를 아무리 조합해도 하나의 '선(line)'을 벗어날 수 없습니다. 이 경우, 두 벡터가 만드는 공간의 본질적인 차원은 1이므로, 이 벡터들로 구성된 행렬의 순위(rank)는 1입니다.
  • 만약 두 벡터가 서로 다른 방향을 가리킨다면(선형 독립), 이 두 벡터를 조합하여 하나의 '평면(plane)'을 만들 수 있습니다. 이 공간의 본질적인 차원은 2이므로, 행렬의 순위는 2가 됩니다.

즉, 저순위(low-rank) 행렬이란 그 안에 담긴 정보가 중복되거나 압축되어 있어, 겉보기 차원보다 더 낮은 본질적인 차원을 갖는 행렬을 의미합니다.6

 

(2단계) LoRA의 마법: 가중치 업데이트 분해 (The Magic of LoRA: Decomposing the Weight Update)

 

전체 미세조정의 목표는 기존 가중치 행렬 W0​를 새로운 가중치 $W'$로 업데이트하는 것입니다. 이 관계는 수식으로 W′=W0​+ΔW로 표현할 수 있으며, 여기서 ΔW는 훈련을 통해 학습된 '변화량 행렬'입니다.17

LoRA의 핵심 아이디어는 이 거대하고 파라미터가 많은 ΔW를 직접 학습하는 대신, 두 개의 훨씬 작고 얇은 저순위 행렬 B와 A의 곱으로 근사(approximate)하는 것입니다.7

ΔW≈B×A

여기서 훈련 과정은 다음과 같이 진행됩니다.

  1. 원본 가중치 고정 (Freeze Pre-trained Weights): 원본 모델의 거대한 가중치 행렬 W0​는 훈련 내내 전혀 업데이트되지 않고 그대로 '얼려둡니다(frozen)'.5
  2. 저순위 행렬만 학습 (Train Only Low-Rank Matrices): 오직 새롭게 추가된 두 개의 작은 행렬 A와 B만이 학습 대상이 됩니다.7
  3. 수정된 순방향 전파 (Modified Forward Pass): 입력 x가 들어왔을 때, 최종 출력 h는 다음과 같이 계산됩니다.h=W0​x+(ΔW)x=W0​x+(BA)x
    이는 기존의 계산 경로(W0​x)에 새로운 '우회로(bypass)'(BAx)를 추가하여 그 결과를 더하는 것과 같습니다. 이 구조는 기존 모델의 아키텍처를 전혀 건드리지 않는 '비침습적(non-invasive)' 방식이라는 점에서 기술적으로 매우 우아합니다.

이 방식이 어떻게 파라미터 수를 극적으로 줄이는지 구체적인 숫자로 살펴봅시다. 만약 W0​가 d×k 차원의 행렬(예: 4096×4096)이라면, ΔW를 직접 학습하려면 d×k (약 1,677만)개의 파라미터가 필요합니다. 하지만 LoRA에서는 중간 차원인 순위(rank) r을 매우 작은 값(예: r=8)으로 설정합니다. 그러면 행렬 B는 d×r (4096×8) 차원이 되고, 행렬 A는 r×k (8×4096) 차원이 됩니다. 이 두 행렬의 파라미터 수를 합하면 $(d \times r) + (r \times k)$로, 4096×8+8×4096=65,536개가 됩니다. 이는 원래 필요했던 파라미터 수의 약 0.4%에 불과합니다. 이처럼 r≪min(d,k) 조건을 만족함으로써 학습 파라미터 수가 획기적으로 감소하는 것입니다.17 GPT-3의 경우, 이 방식으로 학습 파라미터 수를 무려 10,000배나 줄일 수 있었습니다.7

 

3.3. LoRA의 명백한 실용적 장점들

 

이러한 수학적 원리는 다음과 같은 강력하고 실용적인 장점들로 이어집니다.

  • 학습 파라미터의 극적인 감소: 앞서 설명했듯이, GPT-3 175B 모델의 경우 1750억 개의 파라미터를 약 1800만~3500만 개 수준으로 줄여, 일반적인 환경에서도 미세조정이 가능해집니다.5
  • GPU 메모리 요구량 감소: 학습 대상 파라미터가 줄어들면서 그래디언트와 옵티마이저 상태에 필요한 메모리도 함께 감소합니다. 그 결과, GPT-3 훈련 시 GPU VRAM 사용량을 1.2TB에서 350GB로 약 3배(2/3) 줄이는 효과를 가져왔습니다.5
  • 작고 가벼운 체크포인트 (Checkpoint): 미세조정 후에는 학습된 작은 행렬 A와 B만 저장하면 됩니다. 이 덕분에 모델 체크포인트의 크기가 수백 GB에서 수십 MB 단위로 극적으로 줄어듭니다.7 이는 모델의 공유, 버전 관리, 배포를 매우 용이하게 만듭니다.
  • 추론 지연 없음 (No Inference Latency): LoRA의 가장 큰 장점 중 하나입니다. 훈련이 끝나고 모델을 실제 서비스에 배포할 때는, W′=W0​+B×A 계산을 통해 두 행렬을 하나의 새로운 가중치 행렬로 완전히 **병합(merge)**할 수 있습니다.6 이렇게 병합된 모델은 추가적인 계산이나 별도의 모듈 없이 기존 모델과 동일한 구조를 가지므로, 추론 시 어떠한 속도 저하도 발생시키지 않습니다. 이는 레이어를 추가하여 추론 지연을 유발하는 어댑터 방식과의 결정적인 차이점입니다.13

결론적으로 LoRA는 '변화'라는 정보 자체를 저차원으로 압축하는 지능적인 압축 기술로 볼 수 있습니다. 이는 단순한 파라미터 가지치기를 넘어, 학습에 필요한 핵심 지식의 변화를 저차원 벡터 공간으로 투영하고 학습하는, 정보 압축 및 표현 학습의 한 형태로 해석될 수 있습니다. 이 우아하고 강력한 원리 덕분에 LoRA는 AI 개발의 패러다임을 바꾸는 핵심 기술로 자리 잡게 되었습니다.

 

반응형

댓글