모델 양자화로 AI 성능을 최적화하세요. 크기를 줄이고, 속도를 높이고, 실제 배포를 위한 에너지 효율성을 개선하세요.
모델 양자화는 딥러닝 모델 실행 시 발생하는 계산 및 메모리 비용을 줄이기 위해 사용되는 정교한 모델 최적화 기법입니다. 표준 훈련 워크플로우에서 신경망은 일반적으로 32비트 부동소수점 숫자(FP32)를 사용하여 매개변수(weights and biases) 및 활성화 맵을 저장합니다. 이러한 높은 정밀도는 훈련 중 정확한 계산을 보장하지만, 추론에는 종종 불필요합니다. 양자화는 이러한 값들을 16비트 부동소수점(FP16)이나 8비트 정수(INT8)와 같은 저정밀 형식으로 변환하여 정확도를 크게 저하시키지 않으면서 모델 크기를 효과적으로 축소하고 실행 속도를 가속화합니다.
양자화의 주요 동인은 자원 제약 하드웨어에 강력한 AI를 배포해야 하는 필요성이다. YOLO26과 같은 컴퓨터 비전 모델이 점점 더 복잡해짐에 따라, 그들의 계산 요구도 증가한다. 양자화는 세 가지 핵심 병목 현상을 해결한다:
양자화는 다른 최적화 기법과 구별하는 것이 중요합니다. 이는 모델을 서로 다른 방식으로 수정하기 때문입니다:
양자화는 효율성이 최우선인 다양한 산업 분야에서 컴퓨터 비전과 인공지능을 가능하게 합니다.
Ultralytics 수출 프로세스를 간소화하여 개발자가 최첨단 YOLO26과 같은 모델을 양자화 형식으로 변환할 수 있게 합니다. Ultralytics 또한 이러한 배포를 원활하게 관리할 수 있는 도구를 제공합니다.
다음 예제는 모델을 TFLite로 내보내는 방법을 보여줍니다. TFLite 로 내보내는 방법을 보여줍니다. 이 과정에는 모델이 샘플 데이터를 관찰하여 양자화된 값에 대한 최적의 동적 범위를 결정하는 보정 단계가 포함됩니다.
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")
최적화된 모델은 종종 ONNX와 같은 상호운용 가능한 표준을 사용하여 배포됩니다. ONNX 또는 고성능 추론 엔진인 OpenVINO과 같은 고성능 추론 엔진을 통해 배포되어 다양한 하드웨어 생태계 전반에 걸쳐 광범위한 호환성을 보장합니다.