AI VIDEO BRIEFING
LoRA 어댑터 원리 정리: 저랭크 근사로 파인튜닝 파라미터를 2억에서 12만으로 줄이는 법
파인튜닝은 결국 사전학습 가중치에 그래디언트 갱신분을 더하는 일이다. 이 갱신분만 훨씬 작은 두 행렬의 곱으로 근사하는 LoRA의 원리와, 파라미터가 2억 개에서 12만 개로 줄어드는 계산 과정을 정리했다.

핵심 메시지
쉽게 이해하기
영상은 LoRA를 최근 몇 년간 나온 머신러닝 전략 중 가장 영리한 축에 든다고 평가하며 시작한다. 대형 언어모델을 다루려면 파인튜닝 능력이 가장 중요한 기술 중 하나인데, LoRA는 그 과정을 빠르게 하고 메모리 요구량을 줄이기 위해 나온 방법이라는 것이다. 설명은 개념 소개가 아니라 수식적 토대에서 출발한다.
출발점은 경사하강법이다. 학습된 모델의 파라미터는 초기값에서 시작해 매 반복마다 손실 함수의 그래디언트를 빼 나간 결과이므로, 결국 초기값에 갱신분들을 모두 더한 합으로 볼 수 있다. 사전학습된 모델을 받아 추가 데이터로 더 학습한다는 것은 이 합에 갱신분을 더 쌓는 일이다. 따라서 파인튜닝된 파라미터는 사전학습이 끝난 시점의 값과 파인튜닝 구간에서 누적된 변화량, 이렇게 두 덩어리로 깔끔하게 나뉜다.
이 분해를 트랜스포머 구조에 그대로 옮기면 어떻게 될까. 어텐션 층과 피드포워드 층 옆에 각각 행렬을 하나씩 더 붙이고 두 출력을 더하면, 앞의 항은 사전학습에, 뒤의 항은 파인튜닝에 대응시킬 수 있다. 원본 층에 그래디언트를 누적하는 대신 새로 만든 행렬에 누적하는 셈이다. 다만 이 상태로는 이득이 없다. 더한 행렬의 크기가 원본과 같아야 하므로 메모리 부담만 늘고 연산 횟수도 그대로다.
그래서 갱신분 행렬을 두 개의 작은 행렬 곱으로 쪼갠다. 랭크를 충분히 작게 잡으면 두 행렬은 원본보다 훨씬 작아지고, 이 분해는 정확하지 않은 근사가 된다. 영상은 이를 저랭크 근사라 부르며, 근사라는 점이 실무에서 큰 문제가 되지 않는다고 설명한다. 오히려 정규화처럼 작동하는데, 파인튜닝에 쓰는 데이터가 사전학습보다 훨씬 적어 갱신분의 모든 값을 제대로 추정할 만큼 충분하지 않은 경우가 드물지 않기 때문이다.
실행 방식은 이렇다. 순전파에서는 입력을 원본 층과 새 두 행렬 양쪽으로 통과시킨 뒤 결과를 더한다. 원본 층은 얼려 두므로 역전파에서는 새 행렬 두 개만 갱신되고, 그래디언트를 원본 행렬로 흘려보낼 필요가 없어 역방향 계산이 사전학습 때보다 훨씬 빨라진다. 학습해야 할 파라미터도 새로 붙인 두 행렬뿐이다.
주요 인사이트
- 숫자로 보면 차이가 분명해진다. 입력 차원 1만, 출력 차원 2만인 행렬을 그대로 쓰면 원소가 2억 개이고 행렬-벡터 곱에 2억 번의 연산이 든다. 랭크를 4로 잡아 두 행렬로 쪼개면 첫 행렬은 1만 곱하기 4로 4만, 둘째 행렬은 4 곱하기 2만으로 8만이 되어 합쳐 12만 수준으로 내려간다.
- LoRA가 자연스러운 전략인 이유는 덧셈 구조 덕분이다. 사전학습과 파인튜닝이 합으로 분해되기 때문에, 별도의 행렬에 학습 결과를 쌓아 두었다가 나중에 더하기만 하면 된다. 원본 가중치를 전혀 건드리지 않아도 된다는 성질이 여기서 나온다.
- 근사의 부정확함을 결함이 아니라 정규화 효과로 해석하는 지점이 흥미롭다. 데이터가 적을 때는 자유도가 큰 모델이 오히려 불리하므로, 학습할 값의 개수를 줄이는 것이 처음 보는 데이터에 대한 일반화를 돕는다는 논리다.
- 속도 이득의 출처가 순전파가 아니라 역전파라는 점도 짚어둘 만하다. 순전파에서는 원본 층과 추가 행렬을 모두 통과해야 하므로 오히려 계산이 늘지만, 역전파에서 원본 행렬로 그래디언트를 보내지 않아도 되기 때문에 전체적으로는 크게 빨라진다.
- 설명 전반에서 어텐션 층을 단일 행렬로 단순화해 다루고 있다는 점은 감안해서 읽어야 한다. 영상 자체도 설명을 위한 단순화임을 명시하고 있으며, 핵심은 개별 층의 구조가 아니라 갱신분을 저랭크로 제한한다는 아이디어에 있다.
자주 묻는 질문
LoRA는 정확히 무엇을 학습하나요?
파인튜닝 과정에서 누적되는 가중치 변화량만 학습합니다. 다만 그 변화량 행렬을 그대로 두지 않고 훨씬 작은 두 행렬의 곱으로 근사해, 실제로 갱신되는 것은 이 두 작은 행렬뿐입니다. 원본 층의 가중치는 얼어 있어 바뀌지 않습니다.
근사를 쓰면 성능이 떨어지지 않나요?
영상은 실무에서 큰 문제가 되지 않는다고 봅니다. 파인튜닝에 쓰는 데이터는 사전학습에 쓴 데이터보다 훨씬 적어서 변화량의 모든 값을 통계적으로 수렴시킬 만큼 충분하지 않은 경우가 많기 때문입니다. 오히려 학습할 파라미터가 적은 편이 처음 보는 데이터에 대한 일반화에 도움이 된다고 설명합니다.
얼마나 가벼워지나요?
영상이 든 예시에서는 입력 1만, 출력 2만 차원 행렬에 랭크 4를 적용합니다. 원본은 원소가 2억 개이고 연산도 2억 번이 필요하지만, 두 작은 행렬은 각각 4만 개와 8만 개로 합쳐 12만 개 수준이고 통과 연산도 같은 규모로 줄어듭니다.
학습이 빨라지는 이유는 무엇인가요?
역전파 때문입니다. 원본 층이 얼려져 있으므로 그래디언트를 원본 행렬로 통과시킬 필요가 없고, 갱신 대상도 새로 붙인 두 행렬뿐입니다. 순전파에서는 원본과 추가 경로를 모두 지나야 하지만, 역방향 계산이 크게 줄어 전체 파인튜닝 속도가 올라갑니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗