지식 증류가 더 빠른 추론, 향상된 정확도, 엣지 장치 배포 효율성을 위해 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)
지식 증류는 정확성만큼이나 효율성이 중요한 산업에서 핵심적인 역할을 합니다.
지식 증류는 모델 효율성을 개선하는 데 사용되는 다른 기법과 구별하는 것이 중요합니다. 다른 원칙에 따라 작동하기 때문입니다.
이러한 기술을 결합하여(예: 교사를 학생으로 추출한 다음 양자화를 적용하는 등) 개발자는 임베디드 시스템의 성능을 극대화할 수 있습니다. 임베디드 시스템에서 성능을 극대화할 수 있습니다.

