지식 증류가 어떻게 AI 모델을 압축하여 더 빠른 추론, 향상된 정확도 및 에지 디바이스 배포 효율성을 제공하는지 알아보세요.
지식 증류는 머신 러닝에서 크고 복잡한 모델('교사')에서 더 작고 단순한 모델('학생')로 지식을 이전하는 데 사용되는 모델 압축 기법입니다. 목표는 학생 모델이 더 적은 매개 변수를 가지고 있고 계산 비용이 적게 들지만 교사 모델과 비슷한 성능을 달성하도록 학생 모델을 훈련하는 것입니다. 이는 리소스가 제한된 디바이스나 빠른 추론 시간이 필요한 애플리케이션에 모델을 배포할 때 특히 유용합니다.
지식 증류의 핵심 아이디어는 교사 모델의 소프트 출력(확률)을 학생 모델의 학습 대상으로 하드 레이블(지상 진실)에 추가하거나 대신 사용하는 것입니다. 방대한 데이터 세트에 대해 사전 학습된 교사 모델은 데이터의 복잡한 관계를 포착하고 일반화를 잘 수행할 수 있습니다. 이러한 소프트 타깃을 통해 학습함으로써 학생 모델은 단순히 하드 레이블만으로 학습할 때보다 더 풍부한 정보를 학습할 수 있습니다. 이 과정에는 종종 교사가 추론하는 동안 소프트맥스 함수의 '온도'를 높여 확률 분포를 부드럽게 하여 학생에게 더 미묘한 정보를 제공하는 것이 포함됩니다.
지식 증류는 여러 가지 장점을 제공하므로 다양한 AI 애플리케이션에서 유용한 기법이 될 수 있습니다:
지식 증류의 실제 적용 사례는 널리 퍼져 있습니다:
지식 증류는 모델 압축 기법이지만, 모델 가지치기 및 모델 정량화와 같은 다른 방법과는 다릅니다. 모델 가지치기는 덜 중요한 연결(가중치)을 제거하여 모델의 크기를 줄이는 반면, 모델 양자화는 메모리와 계산을 덜 사용하기 위해 모델 가중치의 정밀도를 낮춥니다. 반면에 지식 증류는 더 큰 모델의 지식을 사용하여 처음부터 더 작은 새로운 모델을 학습시킵니다. 이러한 기법을 결합할 수도 있습니다. 예를 들어, 증류 모델을 더 잘라내거나 정량화하여 압축과 효율성을 더욱 높일 수 있습니다. 소니의 모델 압축 툴킷(MCT) 및 OpenVINO 와 같은 툴을 사용하여 엣지 배포를 위한 증류 후 모델을 더욱 최적화할 수 있습니다.