모델 가지치기로 머신 러닝 모델을 최적화하세요. 리소스가 제한된 배포에서 더 빠른 추론, 메모리 사용량 감소 및 에너지 효율성을 달성하세요.
모델 가지치기는 학습된 모델의 크기와 복잡성을 줄여 최적화하는 데 사용되는 머신 러닝(ML) 기법입니다. 여기에는 모델의 전체 성능에 최소한으로 기여하는 모델 가중치나 신경망(NN) 내의 연결과 같이 덜 중요한 매개변수를 식별하고 제거하는 작업이 포함됩니다. 주요 목표는 정확도를 크게 떨어뜨리지 않으면서도 더 적은 연산 능력과 메모리를 필요로 하는 더 작고 빠른 모델을 만드는 것입니다. 이 프로세스는 ML 모델에 직접 적용되는 광범위한 가지 치기 개념을 구체적으로 적용한 것으로, 배포 효율을 높여줍니다.
모델 가지치기의 주요 동인은 효율성입니다. 특히 컴퓨터 비전(CV)과 같은 분야의 최신 딥러닝(DL) 모델은 매우 크고 계산 집약적일 수 있습니다. 이는 특히 스마트폰, 임베디드 시스템 또는 엣지 컴퓨팅 시나리오와 같이 리소스가 제한된 디바이스에서 모델 배포에 어려움을 야기합니다. 모델 가지치기는 이러한 문제를 해결하는 데 도움이 됩니다:
모델 가지치기 기술은 다양하지만 일반적으로 제거되는 항목의 세분성에 따라 범주로 나뉩니다:
가지치기는 모델이 완전히 학습된 후에 수행하거나 학습 프로세스에 통합할 수 있습니다. 가지치기 후 모델은 일반적으로 미세 조정 (더 작은 아키텍처에 대한 추가 학습)을 거쳐 매개변수 제거 중에 손실된 성능을 복구합니다. 다음과 같은 프레임워크 PyTorch 와 같은 프레임워크는 PyTorch 가지치기 튜토리얼에 나와 있는 것처럼 다양한 가지치기 방법을 구현하는 유틸리티를 제공합니다.
모델 가지치기는 많은 AI 영역에서 유용합니다:
모델 가지치기는 모델 최적화에 사용되는 여러 기법 중 하나입니다. 모델 가지 치기와는 별개이지만 종종 상호 보완적인 역할을 합니다:
이러한 기술을 결합할 수 있으며, 예를 들어 모델을 먼저 정리한 다음 효율성을 극대화하기 위해 정량화할 수 있습니다. 최적화된 모델은 종종 다음과 같은 표준 포맷으로 내보내집니다. ONNXUltralytics 내보내기 옵션)와 같은 표준 형식으로 내보내어 폭넓은 배포 호환성을 제공합니다. Ultralytics HUB와 같은 플랫폼은 모델, 데이터 세트(예: COCO)를 관리하고 최적화된 배포를 위한 경로를 간소화할 수 있는 환경을 제공합니다.