1. 지식 증류 개요
- 지식 증류(Knowledge Distillation)는 대규모 모델(teacher model)의 지식을 경량화된 모델(student model)로 전이시키는 기법으로, 2015년 Hinton 등에 의해 제안된 방식임
- 복잡하고 연산량이 많은 모델의 예측 성능을 가능한 한 유지하면서도, 경량화된 모델의 학습을 유도하기 위한 대표적인 모델 압축 기법 중 하나로 분류됨
- 증류(distillation)란 본래 액체를 증발 후 응축시켜 불순물을 제거하는 화학적 과정에서 유래된 용어로, AI 분야에서는 복잡한 모델의 "지식"을 "증류"하여 단순한 모델에 녹여 넣는다는 의미로 활용됨
2. 지식 증류의 필요성
- 최근 딥러닝 모델은 고성능을 달성하기 위해 수억 개 이상의 파라미터를 포함하는 경우가 일반적이며, 이는 실시간 추론, 모바일 디바이스, 엣지 컴퓨팅 환경에서 사용하기에 부적합함
- Teacher 모델은 높은 정확도를 제공하지만, 연산량이 크고 메모리 소모가 많아 실제 서비스 환경에 적용하는 데 한계가 있음
- 이에 따라, 상대적으로 가벼운 Student 모델을 설계한 후, Teacher 모델로부터 "소프트 타깃" 정보를 학습하여 성능을 향상시키는 방식이 필요함
3. 지식 증류의 기본 절차
Teacher 모델 학습
- 먼저, 복잡하고 고성능의 Teacher 모델을 원래 데이터셋에 대해 학습시킴
Soft label 추출
- 학습된 Teacher 모델은 입력에 대해 확률 분포 형태의 예측값(soft label)을 생성하며, 이 확률값은 단순한 정답(one-hot)보다 더 많은 정보(클래스 간 유사성 등)를 포함함
Student 모델 학습
- Student 모델은 원래의 정답(label)과 Teacher 모델이 생성한 soft label을 함께 이용하여 학습을 수행함
- 이중 손실 함수(Loss Function)를 적용하여 hard label에 대한 손실과 soft label에 대한 손실을 동시에 최소화함
4. 지식 증류의 주요 구성 요소
Softmax Temperature (T)
- soft label을 생성할 때 softmax 함수에 온도 파라미터 T를 적용함
- T가 클수록 출력 확률 분포가 평탄해져 클래스 간의 상대적 유사도 정보를 더 풍부하게 반영함
Loss Function
- 총 손실은 일반적으로 다음과 같은 형태로 구성됨
- Cross Entropy Loss (hard label)
- Kullback-Leibler Divergence (soft label, T 적용)
- 총합:
L = α * CE(y, s(x)) + β * KL(p_T(x) || s_T(x))
형태로 구성되며, α와 β는 가중치 파라미터임
- 총 손실은 일반적으로 다음과 같은 형태로 구성됨
Teacher Model
- 복잡하고 성능이 뛰어난 네트워크로, 학습이 완료된 상태에서 Student의 학습 지도에만 사용됨
Student Model
- 목적에 맞게 경량화된 구조로 설계되며, Teacher의 soft label 정보를 적극적으로 반영하여 학습됨
5. 수학적 표현
- Softmax with Temperature:
$$ p_i = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)} $$
- $( z_i $): i번째 클래스의 로짓 값
- $( T $): 온도 매개변수 (T > 1일수록 더 부드러운 분포 생성)
- Distillation Loss (KL Divergence):
$$ L_{KD} = T^2 \cdot KL(p_T || q_T) = T^2 \cdot \sum_i p_i^{(T)} \log\left(\frac{p_i^{(T)}}{q_i^{(T)}}\right) $$- $( p_T $): Teacher 출력 분포
- $( q_T $): Student 출력 분포
6. 지식 증류의 활용 사례
모바일/엣지 디바이스 추론 최적화
- ResNet, BERT, GPT 등 대형 모델을 모바일에 적용하기 위한 경량 모델 개발에 광범위하게 적용됨
- 예: TinyBERT, DistilBERT, MobileNet 등
지능형 CCTV, 자율주행 등 실시간성 요구 환경
- 모델의 정확도를 유지하면서도 추론 속도를 높이기 위한 용도로 사용됨
멀티태스크 러닝, 온라인 러닝과 결합
- 다양한 응용 분야에서 knowledge transfer와 continual learning을 지원하는 방식으로 발전 중임
CLIP, DINO와 같은 대규모 비지도 사전학습 모델의 증류
- 멀티모달 또는 자기지도학습 모델의 성능을 유지하면서 연산량을 줄이기 위해 활용됨
7. 지식 증류의 장점
- 기존 모델 대비 파라미터 수를 대폭 줄이면서도 성능 저하를 최소화할 수 있음
- 학습 과정에서 Teacher의 일반화 능력을 Student에게 전달함으로써, 더 나은 일반화 성능을 유도함
- 다양한 구조(Student)를 유연하게 적용할 수 있어 설계 자유도가 높음
8. 지식 증류의 한계 및 고려사항
- Teacher 모델의 품질이 낮을 경우, 오히려 잘못된 지식을 Student에게 전파할 수 있음
- Student가 너무 단순할 경우, Teacher의 복잡한 지식을 효과적으로 흡수하지 못함
- 증류 과정에서 Temperature나 가중치 파라미터(α, β)를 적절히 조정해야 함
- Teacher와 Student의 구조가 이질적일 경우, feature-level 증류나 intermediate representation 증류 등 확장 기법이 필요함
결론
지식 증류는 고성능 모델의 예측 정보를 활용하여 경량 모델을 효율적으로 학습시키는 지능형 모델 압축 기법임.
실제 서비스 환경에서 높은 정확도와 빠른 추론 속도를 동시에 달성하기 위한 핵심 기술로 자리잡고 있으며,
최근에는 Vision, NLP, Multimodal 등 다양한 AI 분야에서 핵심 기술로 활용되는 중임.
딥러닝 모델의 실용화를 위한 핵심 전략 중 하나로, 앞으로도 다양한 구조 및 학습 방법과 결합되어 지속적으로 발전할 것으로 기대됨.
'IT Study > 인공지능 관련' 카테고리의 다른 글
🤖 비전 트랜스포머(Vision Transformer) (0) | 2025.03.30 |
---|---|
🤖 셀프 어텐션(Self Attention) (0) | 2025.03.30 |
🤖 전이 학습(Transfer Learning) (1) | 2025.03.30 |
🤖 AI 에이전트(AI Agent) (5) | 2025.03.30 |
🤖 휴머노이드(Humanoid) (5) | 2025.03.30 |