Yolo 비전 선전
선전
지금 참여하기
용어집

지식 증류

지식 증류가 더 빠른 추론, 향상된 정확도, 엣지 장치 배포 효율성을 위해 AI 모델을 어떻게 압축하는지 알아보세요.

지식 증류는 정교한 모델 최적화 전략으로 머신러닝의 정교한 모델 최적화 전략으로 "학생" 모델이 더 크고 복잡한 "교사" 모델의 성능과 동작을 재현하도록 훈련된 "교사" 모델. 주요 목표는 일반화 기능과 "지식"을 무거운 교사 네트워크에서 무거운 교사 네트워크에서 가벼운 학생 네트워크로 이전하는 것입니다. 이 프로세스를 통해 리소스가 제한된 하드웨어에 매우 정확한 모델을 리소스가 제한된 하드웨어에 배포할 수 있습니다. 에지 컴퓨팅 장치와 같은 리소스가 제한된 하드웨어에 정확도가 크게 떨어지지 않습니다. 정보를 압축함으로써 개발자는 추론 지연 시간을 단축하고 메모리 사용량을 줄이면서 강력한 예측 성능을 유지할 수 있습니다.

지식 증류 작동 방식

이 프로세스는 "소프트 레이블"이라는 개념에 의존합니다. 표준 지도 학습에서 모델은 다음을 기반으로 학습됩니다. 학습 데이터의 "하드 레이블"(예, 이미지가 100% '고양이'이고 0% '개'인 경우). 하지만 사전 학습된 교사 모델은 다음과 같은 소프트 레이블이라고 하는 확률 분포를 생성합니다. 예를 들어, 교사는 다음과 같은 이미지를 예측할 수 있습니다. 가 고양이 90%, 개 9%, 자동차 1%라고 예측할 수 있습니다. 이러한 소프트 레이블에는 클래스 간의 관계에 대한 풍부한 정보가 포함되어 있습니다. 클래스 간의 관계에 대한 풍부한 정보를 포함합니다. 즉, 특정 고양이가 개와 다소 비슷하게 생겼음을 나타냅니다.

증류하는 동안 학생 모델은 예측과 교사의 예측 간의 차이를 최소화하도록 훈련됩니다. 소프트 레이블, 종종 특정 손실 함수를 사용하여 학습합니다. 이 학생은 교사가 이미 발견한 데이터의 '암묵지' 또는 미묘한 구조를 학습할 수 있습니다. 이미 발견했습니다. 기초적인 이해를 위해 연구자들은 종종 다음을 참조합니다. 이 주제에 관한 제프리 힌튼의 중요한 논문을 참고합니다.

라이브러리는 일반적으로 복잡한 손실 계산을 내부적으로 처리하지만, 교육을 위해 학생 모델을 초기화하는 것은 을 초기화하는 것이 실용적인 첫 번째 단계입니다. 다음과 같이 가벼운 학생 모델을 로드하는 방법은 다음과 같습니다. YOLO11 를 사용하여 ultralytics 패키지입니다:

from ultralytics import YOLO

# Load a lightweight student model (YOLO11n)
# 'n' stands for nano, the smallest and fastest version
student_model = YOLO("yolo11n.pt")

# Train the student model on a dataset
# In a distillation workflow, this training would be guided by a teacher model's outputs
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

실제 애플리케이션

지식 증류는 정확성만큼이나 효율성이 중요한 산업에서 핵심적인 역할을 합니다.

  • 모바일 컴퓨터 비전: 다음과 같은 실시간 추론이 필요한 시나리오에서 실시간 추론이 필요한 시나리오에서는 드론이나 스마트폰의 증강 현실 앱과 같이 실시간 추론이 필요한 시나리오에서는 대규모 모델을 배포하는 것이 불가능합니다. 엔지니어는 대규모 객체 감지 모델을 효율적인 버전으로 로 압축합니다. 이렇게 하면 애플리케이션이 다음과 같은 모바일 프로세서에서 원활하게 실행됩니다. 퀄컴 스냅드래곤과 같은 모바일 프로세서에서 원활하게 실행되면서도 사물을 정확하게 식별합니다.
  • 자연어 처리(NLP): 대규모 언어 모델(LLM)은 직접 배포하기에는 너무 번거로운 경우가 많습니다. 배포하기에는 너무 번거롭습니다. 증류는 DistilBERT와 같이 더 작고 빠른 버전을 만드는 데 사용되며, 이 버전은 대규모 언어 모델링 기능의 대부분을 유지합니다. 언어 모델링 기능의 대부분을 대부분의 언어 모델링 기능을 유지합니다. 이를 통해 음성 어시스턴트와 챗봇이 더 짧은 지연 시간으로 작동하여 더 나은 사용자 경험을 제공할 수 있습니다. 더 나은 사용자 경험을 제공합니다.

관련 최적화 용어 구분하기

지식 증류는 모델 효율성을 개선하는 데 사용되는 다른 기법과 구별하는 것이 중요합니다. 다른 원칙에 따라 작동하기 때문입니다.

  • 모델 가지치기: 이 기술 은 기존의 학습된 네트워크에서 중복 뉴런이나 연결(가중치)을 물리적으로 제거하여 크기를 줄이는 것입니다. 새로운 학생 아키텍처를 처음부터 훈련하는 증류와 달리, 가지치기는 원래 모델의 구조를 수정합니다. 구조를 수정합니다.
  • 모델 양자화: 양자화: 양자화는 32비트 부동 소수점 숫자를 8비트 정수로 변환하는 등의 작업을 수행합니다. 이렇게 하면 모델 크기가 줄어들고 다음과 같은 하드웨어에서 계산 속도가 빨라집니다. 하지만 반드시 네트워크 아키텍처를 네트워크 아키텍처를 변경하지는 않습니다.
  • 이전 학습: 이 접근 방식은 사전 학습된 모델을 가져와서 다른 작업을 위해 새로운 데이터 세트에서 미세 조정하는 것입니다. 둘 다 지식 전달을 포함하지만, 전이 학습은 도메인 적응(예: ImageNet 의료 엑스레이), 증류는 동일한 작업 지식을 큰 모델에서 작은 모델로 압축하는 데 중점을 둡니다.

이러한 기술을 결합하여(예: 교사를 학생으로 추출한 다음 양자화를 적용하는 등) 개발자는 임베디드 시스템의 성능을 극대화할 수 있습니다. 임베디드 시스템에서 성능을 극대화할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기