용어집

지식 증류

지식 증류가 어떻게 AI 모델을 압축하여 더 빠른 추론, 향상된 정확도 및 에지 디바이스 배포 효율성을 제공하는지 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

지식 증류는 머신 러닝에서 크고 복잡한 모델('교사')에서 더 작고 단순한 모델('학생')로 지식을 이전하는 데 사용되는 모델 압축 기법입니다. 목표는 학생 모델이 더 적은 매개 변수를 가지고 있고 계산 비용이 적게 들지만 교사 모델과 비슷한 성능을 달성하도록 학생 모델을 훈련하는 것입니다. 이는 리소스가 제한된 디바이스나 빠른 추론 시간이 필요한 애플리케이션에 모델을 배포할 때 특히 유용합니다.

지식 증류의 작동 방식

지식 증류의 핵심 아이디어는 교사 모델의 소프트 출력(확률)을 학생 모델의 학습 대상으로 하드 레이블(지상 진실)에 추가하거나 대신 사용하는 것입니다. 방대한 데이터 세트에 대해 사전 학습된 교사 모델은 데이터의 복잡한 관계를 포착하고 일반화를 잘 수행할 수 있습니다. 이러한 소프트 타깃을 통해 학습함으로써 학생 모델은 단순히 하드 레이블만으로 학습할 때보다 더 풍부한 정보를 학습할 수 있습니다. 이 과정에는 종종 교사가 추론하는 동안 소프트맥스 함수의 '온도'를 높여 확률 분포를 부드럽게 하여 학생에게 더 미묘한 정보를 제공하는 것이 포함됩니다.

혜택 및 활용

지식 증류는 여러 가지 장점을 제공하므로 다양한 AI 애플리케이션에서 유용한 기법이 될 수 있습니다:

  • 모델 압축: 휴대폰이나 임베디드 시스템과 같이 컴퓨팅 리소스가 제한된 에지 디바이스에 배포하기에 적합한 더 작고 효율적인 모델을 생성할 수 있습니다. 이는 라즈베리 파이나 NVIDIA Jetson과 같은 디바이스에서 실시간 물체 감지와 같은 애플리케이션에 매우 중요합니다.
  • 일반화 성능 향상: 지식 증류로 훈련된 학생 모델은 하드 레이블로만 훈련된 모델보다 일반화 성능이 더 뛰어난 경우가 많습니다. 학생 모델은 교사의 학습된 표현을 통해 학습할 수 있으므로 정확도와 견고성이 향상됩니다.
  • 더 빠른 추론: 모델이 작을수록 추론 시간이 자연스레 빨라지며, 이는 자율 주행, 로봇 프로세스 자동화(RPA), 보안 시스템과 같은 실시간 애플리케이션에 필수적인 요소입니다.

지식 증류의 실제 적용 사례는 널리 퍼져 있습니다:

  • 자연어 처리(NLP): NLP에서 지식 증류는 모바일 또는 엣지 배포를 위해 GPT-3 또는 BERT와 같은 대규모 언어 모델을 더 작고 효율적인 모델로 압축하는 데 사용할 수 있습니다. 예를 들어, 증류 모델은 클라우드 연결 없이도 모바일 장치에서 감정 분석을 강화할 수 있습니다.
  • 컴퓨터 비전: Ultralytics YOLOv8 또는 이와 유사한 물체 감지 모델을 추출하여 엣지 디바이스의 실시간 애플리케이션에 배포할 수 있습니다. 예를 들어, 스마트 시티에서는 교통 교차로의 엣지 컴퓨팅 디바이스에서 직접 실행하여 효율적인 교통 모니터링 및 관리를 위해 증류 모델을 사용할 수 있습니다. 또 다른 응용 분야는 의료 이미지 분석으로, 의료 현장에서 더 빠른 예비 진단을 제공할 수 있습니다.

지식 증류 대 모델 가지치기 및 정량화

지식 증류는 모델 압축 기법이지만, 모델 가지치기모델 정량화와 같은 다른 방법과는 다릅니다. 모델 가지치기는 덜 중요한 연결(가중치)을 제거하여 모델의 크기를 줄이는 반면, 모델 양자화는 메모리와 계산을 덜 사용하기 위해 모델 가중치의 정밀도를 낮춥니다. 반면에 지식 증류는 더 큰 모델의 지식을 사용하여 처음부터 더 작은 새로운 모델을 학습시킵니다. 이러한 기법을 결합할 수도 있습니다. 예를 들어, 증류 모델을 더 잘라내거나 정량화하여 압축과 효율성을 더욱 높일 수 있습니다. 소니의 모델 압축 툴킷(MCT)OpenVINO 와 같은 툴을 사용하여 엣지 배포를 위한 증류 후 모델을 더욱 최적화할 수 있습니다.

모두 보기