콘텐츠로 이동

전이 학습 (Transfer Learning)

핵심 요약: 전이 학습(Transfer Learning)은 다른 과제에서 배운 지식을 새 과제에 재활용하는 기법이다. 대규모 데이터로 사전 학습(Pre-training)된 모델을 가져와, 적은 데이터로도 높은 성능을 달성할 수 있다. 현대 딥러닝에서 “처음부터 학습”하는 경우는 거의 없으며, 사전 학습 모델 활용이 표준이다.

전이 학습(Transfer Learning)은 한 과제(소스 도메인)에서 학습한 지식을 관련된 다른 과제(타겟 도메인)에 활용하는 기법이다. “영어를 아는 사람이 스페인어를 더 빨리 배우는 것”과 같은 원리이다. 대규모 데이터로 사전 학습(pre-training)된 모델을 소규모 타겟 데이터에 미세 조정(fine-tuning)하는 패러다임은 현대 딥러닝의 표준이 되었으며, 특히 LLM의 핵심 전략이다.


전이 학습의 아이디어는 오래전부터 존재했지만, 딥러닝에서 실질적으로 주목받기 시작한 것은 2012년 AlexNet의 ImageNet 우승부터다. 연구자들은 ImageNet으로 학습된 CNN의 초기 층이 엣지, 텍스처 같은 범용적 시각 특징을 학습한다는 것을 발견했고, 이 가중치를 다른 비전 과제의 초기값으로 사용하면 소량의 데이터로도 높은 성능을 달성할 수 있음을 확인했다.

NLP에서의 전이 학습 혁명은 조금 더 늦게 찾아왔다. 2018년, Jeremy HowardSebastian Ruder가 발표한 ULMFiT는 언어 모델 사전학습 + 점진적 미세 조정(Gradual Unfreezing) 전략으로 텍스트 분류에서 큰 성능 향상을 이끌었다. 같은 해, BERT와 GPT가 연이어 등장하면서 NLP의 패러다임이 완전히 바뀌었다: 대규모 코퍼스로 사전학습(Pre-training) → 타겟 과제에 미세 조정(Fine-tuning)이라는 2단계 패러다임이 사실상 표준이 되었다. 이후 GPT-3(2020)의 In-context Learning, 그리고 LoRA(2021) 같은 파라미터 효율적 미세 조정 기법의 등장으로, 전이 학습은 현대 AI의 가장 핵심적인 전략으로 자리 잡았다.

비유: 전이 학습은 영어를 아는 사람이 스페인어를 빨리 배우는 것과 같다. 문법 구조, 알파벳 체계, 언어의 일반적 패턴을 이미 알고 있으므로 처음부터 배우는 것보다 훨씬 빠르다. 마찬가지로, ImageNet에서 학습한 “엣지를 인식하는 법”, “텍스처를 구분하는 법” 같은 시각 패턴은 의료 X-ray 이미지 분석이나 위성 사진 해석에도 그대로 통한다. 완전히 새로운 언어(예: 중국어)를 배울 때는 전이 효과가 적듯, 소스와 타겟 도메인이 너무 다르면 Negative Transfer가 발생할 수 있다.


전제 조건: 소스 도메인(Source Domain) — 사전 학습에 사용된 데이터/과제 — 과 타겟 도메인(Target Domain) — 실제로 풀고 싶은 과제 — 간에 어느 정도 유사성이 존재해야 한다.

ImageNet으로 사전 학습된 모델을 꽃 분류(5종, 학습 이미지 100장)에 적용한 결과를 비교해 보자.

전략학습 데이터정확도학습 시간
처음부터 학습 (From Scratch)100장~60%2시간
Feature Extraction (사전 학습 모델 고정)100장~85%10분
Fine-tuning (전체 모델 미세 조정)100장~92%30분
  • 처음부터 학습하면 100장으로는 턱없이 부족하여 과적합(Overfitting)이 심하다
  • ImageNet에서 이미 “엣지, 텍스처, 형태”를 학습했으므로, 꽃의 꽃잎 모양, 색감 같은 고수준 특징만 추가로 학습하면 된다
  • Fine-tuning이 가장 높은 성능을 보이지만, 데이터가 극소량이면 Feature Extraction이 더 안전하다

1. 핵심 아이디어 다이어그램

대규모 비라벨/라벨 데이터로 일반적인 표현(representation)을 학습한다.

도메인사전 학습 방식대표 모델
NLPMasked Language ModelingBERT
NLPNext Token PredictionGPT
VisionImageNet 분류ResNet, ViT
VisionMasked AutoencoderMAE
멀티모달이미지-텍스트 대조 학습CLIP

핵심 원리: 대규모 데이터 + 대규모 모델 → 강력한 일반 표현

사전 학습된 모델을 타겟 과제에 적응시킨다.

모든 가중치를 업데이트한다. 학습률을 사전 학습 때보다 작게 설정 (보통 10510410^{-5} \sim 10^{-4}).

뒤쪽 층(과제에 특화된 층)은 높은 학습률, 앞쪽 층(일반적 특징)은 낮은 학습률을 사용한다.

ηl=ηbaseαLl\eta_l = \eta_{base} \cdot \alpha^{L-l}

여기서 α<1\alpha < 1이고, LL은 총 층 수, ll은 현재 층.

  1. 마지막 층만 학습
  2. 한 층씩 해동(unfreeze)하며 학습
  3. 전체 모델 학습

사전 학습 모델을 고정(frozen)하고, 출력 특징만 추출하여 새로운 분류기의 입력으로 사용한다.

사용 시점:

  • 타겟 데이터가 매우 적을 때
  • 소스-타겟 도메인이 매우 유사할 때
  • 계산 자원이 제한적일 때

전체 파라미터를 업데이트하지 않고, 소수의 파라미터만 학습하는 기법이다.

가중치 행렬의 업데이트를 저랭크(Low-Rank) 분해로 근사한다. 저랭크란 큰 행렬을 두 개의 작은 행렬의 곱으로 표현하는 것이다:

W=W+ΔW=W+BAW' = W + \Delta W = W + BA

  • BRd×rB \in \mathbb{R}^{d \times r}, ARr×dA \in \mathbb{R}^{r \times d}, rdr \ll d
  • 원래 가중치 WW는 고정, BBAA만 학습
  • r=464r = 4 \sim 64 정도로 전체 파라미터의 0.1%~1%만 학습

LoRA + 4-bit 양자화. 대규모 모델도 단일 GPU에서 fine-tuning 가능.

기존 층 사이에 작은 학습 가능한 층(bottleneck 구조)을 삽입한다.

입력에 학습 가능한 토큰/벡터를 추가하여, 모델의 행동을 조절한다.

PEFT 비교:

방법학습 파라미터 비율성능특징
Full Fine-tuning100%최고메모리/계산 비용 높음
LoRA0.1~1%거의 동등추론 시 병합 가능
QLoRA0.1~1%약간 낮을 수 있음메모리 최소화
Adapter1~5%좋음추론 지연 추가
Prompt Tuning< 0.1%과제에 따라 다름가장 파라미터 효율적

학습 데이터(소스)와 실제 데이터(타겟)의 분포 차이(domain shift)를 해결하는 기법이다.

  • Adversarial Domain Adaptation: 도메인을 구별하지 못하는 표현 학습
  • Domain-specific BatchNorm: 배치 정규화 통계를 도메인별로 분리

전이 학습 전략 선택 가이드 다이어그램

Negative Transfer(부정적 전이)는 소스 도메인이 타겟 도메인과 너무 다를 때, 전이 학습이 오히려 성능을 저하시키는 현상이다.

예시: 자연 이미지로 학습한 모델을 의료 X-ray에 적용 — 저수준 특징(엣지, 텍스처)은 전이되지만, 고수준 특징은 도움이 안 될 수 있다.

해결: 도메인에 가까운 데이터로 추가 사전 학습(continued pre-training)을 수행한다.


전이 학습은 현대 딥러닝에서 거의 항상 사용된다.

상황전략
라벨 데이터 충분 + 계산 자원 충분전체 Fine-tuning
라벨 데이터 적음 + 유사 도메인Feature Extraction 또는 LoRA
대규모 LLM 적용PEFT (LoRA, QLoRA)
도메인이 매우 다름도메인 내 사전 학습 후 Fine-tuning
추론 효율 중요LoRA (추론 시 가중치 병합)

LoRA로 7B 모델을 16GB GPU에서 Fine-tuning하기

섹션 제목: “LoRA로 7B 모델을 16GB GPU에서 Fine-tuning하기”

2023년, LoRA (Low-Rank Adaptation)의 등장은 전이 학습의 접근성을 획기적으로 높였다. 기존에 LLaMA-7B 같은 70억 파라미터 모델을 전체 Fine-tuning하려면 최소 80GB 이상의 GPU 메모리가 필요했다 (A100 80GB 1장 또는 그 이상). 이는 대부분의 연구자와 실무자에게 현실적으로 불가능한 조건이었다.

LoRA는 가중치 업데이트를 저랭크 행렬의 곱(B×AB \times A, rank r=816r = 8 \sim 16)으로 근사하여, 전체 파라미터의 0.1~1%만 학습한다. 이를 통해 LLaMA-7B를 단일 RTX 4090 (24GB) 또는 심지어 RTX 3090 (24GB)에서도 Fine-tuning할 수 있게 되었다. QLoRA는 여기에 4-bit 양자화를 더해, 16GB GPU(RTX 4060 Ti 등)에서도 7B 모델 학습이 가능해졌다.

실제로 Stanford의 Alpaca 프로젝트(2023)는 LLaMA-7B를 52K 개의 instruction 데이터로 LoRA Fine-tuning하여, GPT-3.5에 근접하는 성능을 수백 달러 이하의 비용으로 재현해냈다. 이는 “대규모 모델 = 대규모 자원”이라는 공식을 깨뜨린 사례로, 오픈소스 LLM 생태계의 폭발적 성장을 이끌었다. 현재 Hugging Face에는 LoRA/QLoRA로 Fine-tuning된 수만 개의 어댑터가 공유되고 있으며, 하나의 기반 모델 위에 다양한 과제별 어댑터를 올려놓고 교체하는 “어댑터 생태계”가 형성되어 있다.


  1. “사전 학습 모델은 항상 도움이 된다”: Negative transfer의 가능성을 항상 고려해야 한다. 특히 타겟 도메인이 소스와 매우 다른 경우.

  2. Fine-tuning 시 학습률이 너무 큼: 사전 학습된 가중치를 급격히 변경하면 학습된 표현이 파괴된다 (catastrophic forgetting). 작은 학습률로 시작하라.

  3. 모든 층을 동일하게 학습: 앞쪽 층은 일반적 특징(엣지, 텍스처)을, 뒤쪽 층은 과제 특화 특징을 학습한다. 층별로 다른 학습률이 효과적이다.

  4. LoRA의 rank를 너무 높게 설정: rank가 너무 높으면 PEFT의 이점(효율성)이 줄어든다. 보통 r=832r = 8 \sim 32가 적절하다.

  5. 사전 학습 모델의 전처리를 무시: 사전 학습에 사용된 정확한 전처리(정규화 값, 토큰화 방법 등)를 동일하게 적용해야 한다.