지식 증류: 큰 모델의 지식을 작은 모델에 옮기는 법
교사-학생 모델 구조로 지식을 전달하는 지식 증류의 소프트 타겟·온도 조절 원리와 DistilBERT·TinyBERT 등 모바일·엣지 적용 사례를 정리한다.
2026-08-13 · 최초 발행 2025-05-23
지식 증류(Knowledge Distillation)는 대형 모델의 "지식"을 작은 모델로 전달하는 모델 압축 기법으로, 2015년 Geoffrey Hinton 등이 제안한 개념이다. 고성능의 크고 복잡한 모델(교사 모델, Teacher)이 가진 지식을 리소스 효율적인 작은 모델(학생 모델, Student)에 전달해 작은 모델의 성능을 끌어올리는 방법이다.
소프트 타겟이 하드 타겟보다 많은 정보를 담는 이유
일반적인 머신러닝에서는 원-핫 인코딩(One-hot encoding)된 하드 타겟(Hard Target)을 사용해 학습한다. 지식 증류에서는 교사 모델의 출력 확률 분포인 소프트 타겟(Soft Target)을 활용한다. 소프트 타겟은 클래스 간 유사도 정보를 포함하며(예: 자동차와 트럭의 유사성), 이 관계 정보가 학생 모델의 일반화 능력 향상에 중요한 역할을 한다.
소프트맥스 함수에 온도(T) 파라미터를 도입하면 출력 확률 분포의 부드러움을 조절할 수 있다. 수식은 softmax(z_i/T) = exp(z_i/T) / Σ_j exp(z_j/T)이며, T가 높을수록 확률 분포가 더 부드러워져 클래스 간 유사성 정보가 부각되고, T가 낮을수록 확률 분포가 더 날카로워지며 최대값에 집중된다.
증류 손실과 학생 손실을 함께 최적화하는 학습 과정
지식 증류에서는 두 가지 손실 함수를 결합해서 쓴다.
- 증류 손실(Distillation Loss): 학생 모델의 소프트 출력과 교사 모델의 소프트 출력 간 차이. 일반적으로 KL 발산(Kullback-Leibler Divergence)을 사용해 학생 모델이 교사 모델의 확률 분포를 모방하도록 유도한다
- 학생 손실(Student Loss): 학생 모델의 출력과 실제 레이블 간 차이. 일반적으로 크로스 엔트로피(Cross-Entropy) 손실을 쓴다
- 최종 손실 함수: L = α × L_distill + (1-α) × L_student. α는 두 손실 간 가중치를 조절하는 하이퍼파라미터다
응답·특성·관계, 무엇을 모방하는가로 갈리는 방식
**응답 기반 지식 증류(Response-Based Knowledge Distillation)**는 가장 기본적인 형태로, 교사 모델의 최종 출력(소프트맥스 후)을 학생 모델이 모방한다. Hinton의 원래 제안 방식에 해당한다.
**특성 기반 지식 증류(Feature-Based Knowledge Distillation)**는 교사 모델의 중간 레이어 출력(특성 맵)을 학생 모델이 모방한다. FitNets, Attention Transfer 등의 방법이 해당하며, 학생 모델의 중간 레이어가 교사 모델의 중간 레이어와 유사한 특성을 학습하도록 유도한다.
**관계 기반 지식 증류(Relation-Based Knowledge Distillation)**는 교사 모델 내부의 레이어 간 또는 샘플 간 관계를 학생 모델이 모방한다. FSP(Flow of Solution Procedure) 매트릭스, RKD(Relational Knowledge Distillation)가 예이며, 데이터 포인트 간의 거리나 각도 같은 기하학적 관계에 집중한다.
모바일부터 자율주행까지, 실제로 쓰이는 곳
모바일 환경에서의 경량화에서는 MobileNet, EfficientNet 같은 효율적인 아키텍처와 결합해 모바일 기기에 최적화된 모델을 개발한다. Google의 모바일 추천 시스템은 대형 서버 모델로부터 증류된 온디바이스 모델을 쓴다.
자율 주행 시스템에서는 복잡한 센서 융합 모델을 단일 카메라 기반 경량 모델로 증류한다. NVIDIA의 자율주행 관련 연구에서는 복잡한 perception 모델을 경량화해 실시간 처리가 가능하게 구현했다.
NLP 모델 경량화에서는 BERT, GPT 같은 대형 언어 모델을 경량화한다. DistilBERT는 BERT의 40% 크기로 97% 성능을 유지하고, TinyBERT는 더 작은 크기로 BERT의 기능을 보존한다.
엣지 컴퓨팅 최적화에서는 클라우드에서 학습된 대형 모델을 엣지 디바이스에서 실행 가능한 형태로 증류하며, 실시간 비전 처리·음성 인식 등에 활용한다.
교사 모델 없이, 데이터 없이 증류하는 시도들
**자기 증류(Self-Distillation)**는 별도의 교사 모델 없이 모델이 자기 자신을 증류하는 방식이다. 모델의 초기 학습 단계나 이전 체크포인트를 교사로 쓰며, 앙상블 효과를 단일 모델에서 얻을 수 있다는 장점이 있다.
**온라인 증류(Online Distillation)**는 교사와 학생 모델을 동시에 학습한다. Deep Mutual Learning은 여러 모델이 서로를 가르치며 동시에 학습하는 방식으로, 컴퓨팅 자원을 효율적으로 활용할 수 있다.
**데이터 없는 증류(Data-Free Distillation)**는 원본 학습 데이터 없이 지식 증류를 수행한다. 교사 모델을 사용해 합성 데이터를 생성한 뒤 학생 모델을 학습시키며, 데이터 프라이버시 이슈가 있는 환경에서 유용하다.
교사-학생 격차가 만드는 설계상의 어려움
교사-학생 모델 간 용량 차이가 클 경우 성능 격차가 발생하는 아키텍처 설계의 어려움이 있다. 학생 모델 설계 시 어떤 레이어를 유지·제거할지 결정해야 하고, 자동 아키텍처 탐색(Neural Architecture Search) 기법과 결합하는 시도도 이뤄진다.
적절한 온도(T) 파라미터 선택의 중요성, 증류 손실과 학생 손실 사이의 최적 균형점 찾기, 다양한 레이어에서의 증류 방법 조합 최적화가 증류 프로세스 최적화의 과제다.
컴퓨터 비전, NLP, 시계열 분석 등 각 분야에 특화된 증류 기법이 필요하고, 다중 모달리티 데이터에 대한 효과적인 지식 증류 방법도 연구 대상이다.
연합 학습과 멀티모달로 넓어지는 지식 전이
분산 환경에서 프라이버시를 보존하며 모델 지식을 전달하는 연합 학습과의 결합, 엣지 디바이스에서 학습된 모델의 지식을 중앙 서버로 효율적으로 집약하는 방향이 있다. 기존 배포된 모델을 새로운 지식으로 점진적으로 업데이트하거나 새로운 클래스·작업을 기존 모델에 추가할 때 증류를 활용하는 모델 업데이트 및 진화, 이미지·텍스트·오디오 같은 서로 다른 모달리티 간에 지식을 전달하는 멀티모달 지식 전이도 발전 방향으로 꼽힌다.
지식 증류는 대형 모델의 성능을 유지하면서 모델 크기를 줄일 수 있는 기술로, 모바일과 엣지 컴퓨팅 환경에서 딥러닝 모델을 배포하기 위한 핵심 기술이다. 실무 적용 시에는 교사-학생 모델 설계, 하이퍼파라미터 최적화, 증류 손실 설계 등 여러 기술적 측면을 함께 고려해야 한다.