용어집

지식 증류

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

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

자세히 알아보기

지식 증류는 머신러닝(ML) 의 한 기법으로, 작고 컴팩트한 모델('학생')이 더 크고 복잡한 모델('교사')의 동작을 모방하도록 훈련하는 것입니다. 주요 목표는 교사 모델이 학습한 '지식'을 학생 모델에 전달하여 학생이 비슷한 성능을 달성하면서도 훨씬 낮은 계산 요구 사항(예: 크기 축소 및 추론 지연 시간 단축)을 달성할 수 있도록 하는 것입니다. 따라서 복잡한 딥러닝(DL) 모델을 모바일 기기나 엣지 컴퓨팅 플랫폼과 같이 리소스가 제한된 환경에 배포하는 데 실용적입니다. 이 개념은 제프리 힌튼과 동료들이"신경망에서 지식의 증류"라는 논문에서 대중화했습니다.

지식 증류의 작동 방식

이 과정에는 일반적으로 사전 학습된 교사 모델이 포함되며, 이 모델은 강력한 단일 모델 또는 정확도가 높은 것으로 알려진 여러 모델의 앙상블이 될 수 있습니다. 그런 다음 일반적으로 더 적은 수의 매개변수 또는 더 얕은 아키텍처(예: 더 작은 컨볼루션 신경망(CNN))를 사용하는 학생 모델이 교사 모델의 출력을 지침으로 사용하여 학습됩니다. 학생은 학습 데이터의 하드 레이블(실측값)만 사용하는 대신 교사의 '소프트 타겟'(교사가 모든 수업에 대해 예측한 전체 확률 분포)을 통해 학습하는 경우가 많습니다. 이러한 소프트 타깃에는 교사 모델이 수업 간의 유사성을 일반화하고 나타내는 방법에 대한 더 풍부한 정보가 포함되어 있습니다. 증류 손실이라고도 하는 특수 손실 함수는 학생의 예측과 교사의 소프트 목표 간의 차이를 최소화하는 데 사용되며, 때로는 실제 레이블을 사용하여 계산된 표준 손실과 결합되기도 합니다.

혜택 및 중요성

지식 증류는 몇 가지 주요 이점을 제공합니다:

  • 모델 압축: 저장 공간이 적게 필요한 더 작은 모델을 생성합니다.
  • 더 빠른 추론: 모델 복잡성이 감소하면 예측 속도가 빨라지며, 이는 실시간 추론 애플리케이션에 매우 중요합니다.
  • 에너지 효율성: 소형 모델은 배터리로 구동되는 장치와 지속 가능한 AI 관행에 중요한 전력 소비량이 적습니다. Ultralytics 환경 보건 및 안전 가이드라인을 참조하세요.
  • 엣지 디바이스에 배포: 메모리와 처리 능력이 제한된 하드웨어(예: 라즈베리 파이 또는 NVIDIA 젯슨)에서도 강력한 AI 기능을 사용할 수 있습니다.
  • 잠재적인 성능 향상: 학생 모델은 교사가 제공하는 풍부한 감독 신호를 통해 학습하기 때문에 비슷한 크기의 하드 레이블을 직접 학습한 모델보다 더 잘 일반화할 수 있는 경우도 있습니다.

실제 애플리케이션

지식 증류는 다양한 영역에서 널리 사용되고 있습니다:

  1. 컴퓨터 비전: 대형 물체 감지 또는 이미지 분할 모델(예: 복잡한 버전의 Ultralytics YOLO 또는 비전 트랜스포머(ViT)와 같은 대규모 물체 인식 또는 이미지 분할 모델을 모바일 앱Ultralytics HUB 앱) 또는 자율 주행 차량이나 로봇의 임베디드 시스템에 적합한 경량 버전으로 증류할 수 있습니다. 예를 들어, Intuitivo는 지식 증류를 사용하여 대규모 기초 모델에서 수백만 개의 자율 구매 지점을 확장하기 위한 더 작고 비용 효율적인 모델로 지식을 이전하여 주석 처리 속도를 크게 높입니다 (출처: YOLO Vision 2023 Talk).
  2. 자연어 처리(NLP): BERT 또는 GPT와 같은 대규모 대규모 언어 모델(LLM) 은 종종 더 작은 버전으로 증류됩니다(예: DistilBERT by Hugging Face)로 압축되어 컴퓨팅 예산이 제한된 기기에서 감정 분석이나 질문 답변과 같은 작업을 수행하거나 챗봇과 같이 짧은 대기 시간이 필요한 애플리케이션에 사용됩니다.

관련 개념

지식 증류는 다른 모델 최적화 기법과 관련이 있지만 별개의 기법입니다:

  • 모델 가지치기: 이미 학습된 네트워크에서 덜 중요한 가중치나 연결을 제거하여 크기를 줄이는 작업입니다. 증류는 더 작은 새로운 네트워크를 훈련합니다.
  • 모델 양자화: 모델 가중치의 수치 정밀도를 낮추어(예: 32비트 부동 소수점에서 8비트 정수로) 크기를 줄이고 계산 속도를 높이며, 종종 증류와 함께 또는 증류 후에 사용됩니다. 다음과 같은 통합을 확인하세요. ONNX 또는 TensorRT.
  • 전이 학습: 사전 학습된 모델의 일부(일반적으로 백본)를 재사용하고 새로운 데이터 세트 또는 작업에서 미세 조정합니다. 증류는 교사의 예측 행동을 잠재적으로 다른 학생 아키텍처로 옮기는 데 중점을 둡니다.
  • 연합 학습: 개인 정보 보호에 중점을 두고 원시 데이터를 공유하지 않고 분산된 기기에서 모델을 학습합니다. 증류는 모델 압축에 중점을 둡니다.

지식 증류는 최첨단 AI 모델의 접근성과 효율성을 높여 대규모 연구 모델과 실제 모델 배포 사이의 간극을 메워주는 강력한 도구입니다. Ultralytics HUB와 같은 플랫폼은 다음과 같은 잠재적 증류 모델의 훈련 및 배포를 용이하게 합니다. YOLOv8 또는 YOLO11.

모두 보기