LoRA

본체는 두고 작은 덧붙임만 학습하는 방법

핵심 정리
  • LoRA (Low-Rank Adaptation, 저랭크 적응)는 본체를 그대로 잠가 두고 작은 덧붙임만 새로 배우는 방법이에요.
  • 배우는 값이 전체의 아주 일부라 학습이 가볍고, 결과물도 본체의 수백분의 일 크기 파일 한 개로 끝나요.
  • 덧붙임은 필요할 때 얹고 필요 없으면 떼요. 한 본체에 여러 덧붙임을 갈아 끼우거나 겹칠 수 있어요.
  • 그림 생성에서 특정 화풍이나 인물을 담는 파일이 대개 이 방식이에요. 언어 모델을 회사 말씨에 맞출 때도 많이 써요.
  • 본체가 아예 모르는 것을 채워 넣지는 못해요. 이미 가진 것을 어느 쪽으로 기울이느냐에 가까워요.
목차

1비유로 이해하기

안경점에서 눈이 잘 안 보인다고 눈 자체를 고치지는 않아요. 눈은 그대로 두고 앞에 얇은 렌즈 한 장을 덧대요. 검안대에 앉아 렌즈를 이것저것 갈아 끼우다가 글씨가 또렷해지는 조합을 찾으면 그 도수로 안경을 맞춰요. 눈이 하는 일은 하나도 바뀌지 않았는데 보이는 결과는 완전히 달라져요. 게다가 렌즈는 작고 가벼워요. 운전할 때 쓰는 것, 책 볼 때 쓰는 것을 따로 갖고 다니다가 상황에 맞춰 바꿔 껴도 눈은 언제나 그대로예요. 필요 없으면 벗으면 그만이고요. LoRA는 큰 본체를 건드리지 않고 그 앞에 얇은 렌즈 한 장을 덧대는 방법이에요.

2자세히 알아보기

본체는 잠가 둬요

모델 전체를 다듬는 방식은 안쪽 값을 전부 조금씩 움직여요. LoRA는 그 값들을 통째로 잠가요. 학습이 도는 동안 본체의 값은 단 하나도 바뀌지 않아요.

대신 층마다 작은 덧붙임을 하나씩 붙여 두고 그 덧붙임만 배워요. 계산할 때는 본체가 낸 값에 덧붙임이 낸 값을 더해서 다음으로 넘겨요. 렌즈를 통과한 빛이 눈에 닿는 것과 같은 순서예요. 눈이 달라진 게 아니라 눈에 닿기 전에 한 겹을 거친 거예요.

덧붙임이 그렇게 작아도 되는 이유

여기서 궁금해지는 건 이거예요. 본체 값이 수십억 개인데 덧붙임 몇백만 개로 무슨 일이 되겠느냐는 거죠.

핵심은 바꿔야 할 것이 값 자체가 아니라 값의 변화량이라는 데 있어요. 어떤 말씨나 화풍에 맞추려고 옮겨야 할 변화량은 대개 결이 단순해요. 방향이 몇 가지로 정리되고 나머지는 거의 0에 가깝거든요. 결이 단순한 것은 얇은 판 두 장을 겹치는 것만으로 충분히 담을 수 있어요. 그래서 덧붙임의 크기를 원래 자리의 수백분의 일로 줄여도 필요한 변화가 거의 다 들어가요.

이 얇은 정도를 사람이 정해요. 얇게 잡으면 파일이 작고 빠른 대신 담을 수 있는 변화가 적고, 두껍게 잡으면 그 반대예요.

갈아 끼우고 겹칠 수 있어요

전체를 다듬는 방식은 마칠 때마다 본체만 한 새 모델이 하나씩 생겨요. 용도가 열 가지면 큰 파일이 열 개 쌓여요. LoRA는 본체 하나에 작은 덧붙임 파일 열 개예요. 저장 공간도 옮기는 수고도 자릿수가 달라요.

쓰는 방식도 유연해요. 지금은 이 화풍, 다음은 저 화풍으로 갈아 끼울 수 있고, 두 덧붙임을 함께 얹어 섞을 수도 있어요. 각각을 얼마나 세게 반영할지 세기를 조절하기도 해요. 그림 생성 도구에서 화풍 파일을 내려받아 얹는 일이 바로 이거예요.

가볍다는 말의 실제 뜻

학습할 때 손이 덜 가는 곳이 여러 군데예요. 고칠 값이 적으니 학습 중에 붙들고 있어야 할 중간 값도 줄어요. 그래서 전체를 다듬을 때는 엄두를 못 내던 크기의 모델도 개인 장비에서 다듬어 볼 만해져요.

결과물도 가벼워요. 본체가 수십 기가바이트라면 덧붙임은 수십 메가바이트 정도로 떨어지는 일이 흔해요. 배포와 공유가 쉬워진 덕에 화풍 파일을 주고받는 문화가 자리 잡았어요.

못 하는 일도 있어요

렌즈는 눈이 받아들이는 빛을 다듬을 뿐이에요. 애초에 눈에 들어오지 않는 것을 보이게 만들지는 못해요. LoRA도 같아요. 본체가 아예 모르는 분야를 새로 채워 넣는 일에는 잘 안 맞아요.

바꾸려는 폭이 아주 클 때도 한계가 와요. 담을 수 있는 변화의 결이 정해져 있으니, 본체와 전혀 다른 성격으로 끌고 가려면 결국 전체를 다듬는 쪽이 나아요. 자료가 아주 많고 마지막 한 뼘까지 필요한 자리에서는 여전히 전체 다듬기를 택해요.

3조금 더 정확하게

LoRA는 층의 가중치를 직접 갱신하는 대신, 가중치에 더해질 변화량을 두 개의 작은 행렬 곱으로 나타내고 그 두 행렬만 학습하는 방법이에요. 변화량이 낮은 랭크로도 충분히 표현된다는 관찰에서 나온 이름이에요. 얼마나 얇게 잡을지를 정하는 값을 랭크라고 하고, 반영 세기를 정하는 값이 따로 있어요.

비유가 어긋나는 자리도 있어요. 안경 렌즈는 눈앞에 한 장 놓이지만, LoRA는 층마다 여러 자리에 나뉘어 붙어요. 어느 자리에 붙일지도 고르는 항목이에요. 또 안경은 벗으면 원래대로지만, 학습을 마친 덧붙임은 본체에 아예 합쳐 넣을 수도 있어요. 이렇게 합치면 계산이 조금 빨라지는 대신 갈아 끼우는 장점을 잃어요. 그리고 덧붙임은 본체와 짝이 맞아야 해요. 다른 본체에 얹으면 엉뚱하게 어긋나거나 아예 안 붙어요.

4직접 해보기

5흔한 오해

  • LoRA가 파인튜닝과 다른 별개의 것이라고 생각하기 쉽지만, 실제로는 모델을 목적에 맞추는 여러 방법 가운데 본체를 건드리지 않는 갈래예요.

  • 덧붙임 파일 하나로 어디서나 쓸 수 있다고 여기기 쉽지만, 실제로는 만들 때 쓴 본체와 짝이 맞아야 제대로 붙어요.

  • 가벼우니 성능도 그만큼 떨어진다고 생각하기 쉽지만, 실제로는 말씨나 화풍을 맞추는 일에서는 전체를 다듬은 것과 비슷한 결과가 나오는 경우가 많아요.

7한 줄 요약

그러니까LoRA는 큰 본체를 그대로 잠근 채 앞에 얇은 덧붙임 한 겹만 배워, 필요할 때 갈아 끼우고 벗을 수 있게 만드는 방법이에요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02