AI VIDEO BRIEFING
LoRA 파인튜닝 쉽게 이해하기: 어댑터 원리와 0.78% 파라미터의 비밀
거대 언어모델을 저비용으로 미세조정하는 LoRA의 원리를 어댑터(A·B) 구조, 행렬 계산, 실제 파라미터 절감률, 하이퍼파라미터 설정 팁까지 쉽게 풀어 설명합니다.

핵심 메시지
쉽게 이해하기
LoRA는 PEFT(Parameter-Efficient Fine-Tuning, 파라미터 효율적 파인튜닝) 기법 가운데 하나로, 학습을 저비용·고속으로 하려는 목적에서 나왔다. PEFT에는 여러 방법이 있지만 LoRA는 파인튜닝 성능이 좋아 가장 널리 쓰인다. 거대 사전학습 모델을 특정 작업이나 도메인에 맞게 효율적으로 미세조정할 때 활용된다.
배경 문제는 모델의 거대한 파라미터 수다. 예컨대 라마 3는 약 700억 개의 파라미터를 가지며 크기가 40GB를 넘고, 그보다 큰 모델도 많다. 이런 모델의 모든 파라미터를 학습하는 '풀 파인튜닝'은 많은 하드웨어와 긴 학습 시간을 요구하고, 사전학습으로 끌어올린 기본 성능을 자칫 떨어뜨릴 위험도 있다.
LoRA의 원리는 단순하다. 거대한 사전학습 가중치 W는 그대로 동결하고, 그 옆에 작은 어댑터 행렬 A와 B를 추가해 이 부분만 학습한다. A는 정규분포(가우시안)로, B는 0으로 초기화한다. W를 건드리지 않으므로 기본 성능이 보존되고, 학습 대상 파라미터는 W 대비 보통 1% 미만으로 줄어든다.
계산은 두 갈래로 이뤄진다. 입력 x가 사전학습 가중치를 지나는 경로(xW)와 어댑터를 지나는 경로(xAB)를 각각 구한 뒤 더해 최종 출력 h를 만든다. 어댑터를 더한다는 것은 벡터 공간에 위치한 임베딩들의 자리를 재조정한다는 의미이고, 이 재정렬이 곧 파인튜닝 효과를 낸다.
절감 효과를 숫자로 보면, 차원 d=4096, rank r=16일 때 사전학습 가중치는 약 1,670만 개인 반면 어댑터(A·B) 파라미터는 약 13만 1천 개로 약 0.78%에 불과하다. 끝으로 하이퍼파라미터 팁이 이어진다. rank는 작게 시작해 키우고, epoch을 과하게 두면 오버피팅되며, 학습 손실이 아닌 검증 손실을 기준으로 멈춰야 하고, 배치 사이즈가 너무 작으면 손실 누적(gradient accumulation)으로 보완한다.
주요 인사이트
- B를 0으로 초기화하기 때문에 학습 초기에는 어댑터의 기여가 0이 되어 사전학습 성능에서 부드럽게 출발한다. W는 건드리지 않으므로 기본 성능이 보존된다.
- LoRA의 본질은 어댑터로 임베딩 벡터의 위치를 '재정렬'하는 것이다. 적은 파라미터만 바꿔도 모델의 출력을 바꿀 수 있다는 점이 핵심이다.
- 실무 팁: rank(R)는 16처럼 작게 시작해 필요할 때 키운다. epoch을 과하게 두면 오버피팅되므로, 학습 손실이 최저인 지점이 아니라 검증 손실(validation loss) 기준으로 멈추는 것이 안전하다.
- 배치 사이즈가 너무 작으면 학습이 불안정하다. 데이터가 크거나 메모리가 부족하면 손실을 여러 번 누적해 큰 배치와 비슷한 효과를 내는 그래디언트 누적을 활용할 수 있다.
자주 묻는 질문
LoRA가 풀 파인튜닝보다 좋은 점은 무엇인가요?
사전학습 가중치를 동결한 채 작은 어댑터만 학습하므로 필요한 GPU와 학습 시간이 크게 줄고, 사전학습으로 얻은 기본 성능이 저하될 위험도 낮습니다.
학습 파라미터가 얼마나 줄어드나요?
영상의 예시(차원 4096, rank 16)에서는 사전학습 가중치 약 1,670만 개 대비 어댑터 파라미터가 약 13만 1천 개로, 전체의 약 0.78%만 학습합니다.
rank(R) 값은 어떻게 정하나요?
작게(예: 16) 시작해 성능을 보며 키우는 것을 권장합니다. LoRA의 핵심이 학습 파라미터 수를 줄이는 것이므로, 굳이 큰 값으로 시작할 필요가 없습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗