모델 정량화를 통해 AI 성능을 최적화하세요. 실제 배포를 위해 크기를 줄이고, 속도를 높이고, 에너지 효율성을 개선하세요.
모델 양자화는 모델의 계산 및 메모리 비용을 줄이기 위해 딥러닝(DL) 에서 사용되는 중요한 모델 최적화 기법입니다. 이는 모델 매개변수(가중치 및 활성화)의 수치 정밀도를 일반적으로 32비트 부동 소수점 숫자(FP32)와 같은 고정밀 표현에서 16비트 부동 소수점(FP16), 8비트 정수(INT8) 또는 더 낮은 비트 표현과 같은 저정밀 형식으로 변환함으로써 달성할 수 있습니다. 이 프로세스는 머신러닝 모델을 더 작고, 더 빠르고, 더 에너지 효율적으로 만들 수 있으며, 이는 특히 모바일 장치나 엣지 AI 시스템과 같이 리소스가 제한된 환경에 복잡한 모델을 배포하는 데 필수적인 요소입니다.
모델 양자화의 핵심은 고정밀 텐서(FP32의 가중치 및 활성화 등)에서 발견되는 값의 범위를 고정밀도가 낮은 데이터 유형(INT8 등)으로 표현 가능한 더 작은 범위로 매핑하는 것입니다. 이러한 변환은 모델을 저장하는 데 필요한 메모리와 추론에 필요한 계산 리소스를 크게 줄여주는데, 저정밀도 숫자(특히 정수)에 대한 연산은 GPU, CPU, TPU나 NPU 같은 특수 가속기 같은 최신 하드웨어에서 더 빠르고 에너지 효율이 높은 경우가 많기 때문입니다. 목표는 모델의 예측 성능에 미치는 영향을 최소화하면서 이러한 효율성 향상을 달성하는 것입니다.
딥러닝 모델에 양자화를 적용하면 몇 가지 주요 이점이 있습니다:
모델 정량화에는 크게 두 가지 접근 방식이 있습니다:
모델 정량화는 다양한 영역에서 널리 사용됩니다:
정량화는 매우 유익하지만 잠재적으로 모델 정확도에 영향을 미칠 수 있습니다. 정량화 후에는 관련 성능 메트릭을 사용하여 신중하게 평가하는 것이 필수적입니다. 양자화 친화적인 모델 아키텍처를 사용하는 것과 같은 기술(예: YOLO 볼 수 있는 특정 활성화 기능 대체)은 양자화된 YOLOv8 모델 배포에서 설명한 대로 정확도 저하를 완화하는 데 도움이 될 수 있습니다.
모델 정량화는 여러 모델 최적화 기법 중 하나입니다. 다른 기법에는 다음이 포함됩니다:
Ultralytics 다음을 포함하여 정량화 및 배포를 용이하게 하는 다양한 형식으로 모델을 내보낼 수 있도록 지원합니다. ONNX, OpenVINO ( Intel 하드웨어에 최적화됨), TensorRT ( NVIDIA GPU용), CoreML ( Apple 디바이스용), TFLite를 지원하여 다양한 하드웨어 플랫폼에 효율적으로 모델을 배포할 수 있습니다. 정량화된 버전을 포함하여 모델을 관리하고 배포할 수 있는 도구는 Ultralytics HUB입니다. 다음과 같은 통합 Neural Magic 과 같은 통합 기능도 CPU 최적화를 위해 양자화를 활용합니다.