전체 파인튜닝의 비용부터 보자
70B 모델 전체를 파인튜닝하려면 700억 개 매개변수의 기울기를 계산하고, Adam의 모멘트처럼 매개변수 수의 2배가 더 드는 옵티마이저 상태를 들고, 순전파 동안 활성값도 저장해야 해. 추론 때보다 약 4–6배의 메모리가 필요하니 수백 GB의 GPU 메모리가 들어.
LoRA는 이 문제를 비켜가. 원래 가중치는 모두 얼리고 선택한 층에 작은 학습 가능 어댑터 행렬만 붙여. 학습할 매개변수가 99% 이상 줄면서 메모리도 함께 줄어 16 GB MacBook에서 7B, 사무실 Mac에서 70B 모델까지 파인튜닝할 수 있어.
핵심 수학은 행렬 둘이야
모양이 (d × d)인 가중치 W의 변화 ΔW를 ΔW ≈ A · B로 근사해. A는 (d × r), B는 (r × d)이고 LoRA 순위 r은 보통 8이나 16처럼 작아. d²개를 학습하는 대신 2 · d · r개만 학습하니 원래의 일부면 돼.
추론에서는 (W + A · B) · x를 계산해. 원래 W는 그대로고 어댑터 A · B가 학습한 보정을 더해. 두 행렬과 작은 순위, 구조 변경은 그게 전부야.
작은 어댑터가 충분한 이유
파인튜닝이 사전 학습 모델에 만들고 싶은 변화는 경험적으로 낮은 차원의 부분 공간에 모여 있어. 가능한 d² 공간 전체를 쓰는 건 대부분의 후속 작업에 지나쳐. 순위 16의 공간만으로도 필요한 변화를 거의 담아, 많은 벤치마크에서 LoRA는 매개변수 비용 1%로 전체 파인튜닝 품질의 90% 이상을 내.
이 수치가 전체 가중치 학습을 밀어낸 이유야. 보통의 지시 따르기와 도메인 적응에는 수학상 전체 파인튜닝을 고집할 이유가 거의 없어.
여섯 레슨의 길
데이터 준비, 학습 설정, 필요할 때 QLoRA와 DoRA로 올리는 법, 어댑터 결합, 자기 자료로 파인튜닝·결합·서빙하는 전체 흐름을 차례로 갈 거야. 32 GB Mac에서 7B 기반 모델로 전 과정을 편하게 돌릴 수 있어.