파인튜닝(fine-tuning)은 「사전학습된 모델을 특정 용도에 맞게 추가 학습시키는」 과정입니다.
그 방식에는 풀 파인튜닝, LoRA, QLoRA 세 가지가 자주 쓰이며, 각자 비용·성능의 트레이드오프가 다릅니다.
풀 파인튜닝(Full Fine-tuning)은 「모델의 모든 파라미터를 새 데이터로 다시 학습하는」 방식입니다.
가장 강력한 결과를 내지만, 70B 모델 한 번 학습에 수백 GB의 GPU 메모리가 필요해 비용이 크고 학습된 결과를 저장하는 데도 큰 공간이 듭니다.
LoRA(Low-Rank Adaptation)는 2021년 마이크로소프트가 제안한 「가벼운 파인튜닝」 방식입니다.
원본 모델은 그대로 두고, 「작은 추가 행렬(랭크 8~64)」만 학습합니다.
학습 파라미터가 풀 파인튜닝의 1% 미만이지만 거의 같은 성능을 내며, 학습된 결과물도 수십 MB 정도로 가볍습니다.
QLoRA(Quantized LoRA, 2023)는 LoRA를 한 번 더 가볍게 만든 변형입니다.
원본 모델을 4비트로 양자화해 메모리 사용을 4배 줄이고, 그 위에 LoRA를 적용합니다.
결과적으로 70B 모델을 단일 GPU(48GB VRAM)에서 파인튜닝할 수 있게 됐고, 개인 개발자도 거대 LLM의 파인튜닝에 접근할 수 있게 됐습니다.
비유하자면 풀 파인튜닝은 「큰 그림 전체를 다시 그리는 일」, LoRA는 「큰 그림은 그대로 두고 작은 보정 종이만 덧씌우는 일」, QLoRA는 「그 보정 작업을 더 작은 도구로 효율적으로 하는 일」과 같습니다.
대부분의 실무에서는 LoRA·QLoRA로 충분하며, 풀 파인튜닝은 정말 고성능이 필요할 때만 씁니다.
한 줄 요약
풀 파인튜닝은 가장 강력하지만 비싸고, LoRA는 작은 추가 행렬만 학습해 1% 비용으로 비슷한 성능을 내며, QLoRA는 4비트 양자화로 단일 GPU에서도 70B 모델 학습을 가능케 합니다.
더 알아볼 것
- LoRA의 랭크(rank) 선택
- Adapter·Prefix Tuning — LoRA 이전의 효율 기법
- Unsloth — 빠른 LoRA·QLoRA 라이브러리