모델 증류
모델 증류(Model Distillation)는 크고 성능이 뛰어난 모델('교사' 모델)을 사용하여 더 작고 간단한 모델('학생' 모델)을 훈련시키는 모델 압축 기술입니다. 학생 모델을 정답 레이블만으로 훈련하는 대신, 교사 모델이 생성한 출력 확률(‘소프트 타겟’)을 모방하도록 훈련시킵니다.
최신 AI 분야에서 최첨단 모델들은 종종 매우 거대하여 상당한 컴퓨팅 자원(높은 지연 시간, 큰 메모리 사용량)을 필요로 합니다. 이로 인해 모바일 폰, IoT 센서와 같은 자원 제약적인 장치나 실시간 엣지 컴퓨팅 환경에 배포하기가 어렵습니다. 증류는 조직이 교사의 복잡한 지식의 대부분을 유지하면서 학생 모델의 크기와 추론 시간을 획기적으로 줄일 수 있도록 해줍니다.
핵심 메커니즘은 '암묵적 지식(dark knowledge)'을 전달하는 것입니다. 교사 모델은 단순히 단일 예측(예: '고양이')을 생성하는 것이 아니라, 가능한 모든 클래스에 대한 확률 분포(예: 고양이 90%, 개 8%, 새 2%)를 생성합니다. 이 분포에는 모델의 불확실성과 클래스 간의 관계에 대한 미묘한 정보가 포함되어 있습니다. 그런 다음 학생 모델은 결합된 손실 함수를 사용하여 훈련됩니다. 이 손실 함수는 두 가지 구성 요소로 이루어져 있습니다. 하나는 학생 모델의 예측과 실제 레이블(하드 타겟) 간의 차이를 최소화하고, 다른 하나는 학생 모델의 예측과 교사의 소프트 타겟 간의 차이를 최소화합니다.