양자화 인식 훈련(QAT)을 통해 엣지 장치용 AI 모델을 최적화하여 리소스가 제한된 환경에서 높은 정확도와 효율성을 보장합니다.
양자화 인식 훈련(QAT)은 정교한 모델 최적화 기법 신경망을 제한된 컴퓨팅 리소스가 있는 하드웨어에 신경망을 준비하도록 설계된 정교한 모델 최적화 기법입니다. 표준 딥 러닝 모델은 일반적으로 고정밀 32비트 부동 소수점 숫자(FP32)를 사용하여 데이터를 처리하는 반면, 많은 에지 AI 디바이스에는 8비트와 같은 낮은 정밀도의 정수(INT8)와 같은 낮은 정밀도를 필요로 합니다. QAT는 이러한 변환으로 인해 종종 발생하는 정확도 저하 문제를 다음과 같이 해결합니다. 양자화 효과를 시뮬레이션하여 훈련 단계 자체에서 시뮬레이션합니다. 이 사전 예방적 접근 방식을 통해 모델에 가중치를 조정하여 정밀도 손실 정확도 손실을 수용하여 예측 성능을 유지하는 매우 효율적인 모델을 만들 수 있습니다.
양자화 인식 훈련의 핵심 메커니즘은 훈련 중에 모델 아키텍처에 '가짜' 양자화 노드를 삽입하는 것입니다. 모델 아키텍처에 삽입하는 것입니다. 이러한 노드는 FP32 값을 INT8로 변환할 때 발생하는 반올림 및 클램핑 오류를 모델링합니다. FP32 값을 INT8로 변환할 때 발생하는 반올림 및 클램핑 오류를 모델링합니다. 포워드 패스 동안 모델은 양자화된 것처럼 작동하지만, 백워드 패스에서는 역전파를사용하여 가중치를 업데이트하여 높은 정밀도로 가중치를 업데이트하여 시뮬레이션된 오류를 보정합니다.
이 프로세스는 기본적으로 정밀도 저하로 인해 발생하는 노이즈에 대해 견고하도록 모델을 미세 조정합니다. 주요 주요 프레임워크 PyTorch 와 TensorFlow 같은 프레임워크는 전문화된 API를 제공합니다. 이러한 제약 조건을 조기에 통합하면 내보낸 최종 모델이 대상 하드웨어 기능에 맞게 임베디드 시스템과 같은 대상 하드웨어 기능에 훨씬 더 잘 맞출 수 있습니다. 임베디드 시스템.
QAT를 다음과 구별하는 것이 중요합니다. 교육 후 정량화(PTQ)와 구별하는 것이 중요합니다. 비슷한 목표를 가지고 있지만 실행 방식이 다릅니다:
QAT는 다음과 같은 산업에 필수적입니다. 추론 지연 시간 및 전력 소비가 필수적인 요소입니다.
전체 QAT 파이프라인에는 종종 특정 교육 구성이 포함되는 경우가 많지만 ultralytics 라이브러리
를 사용하면 내보내기 프로세스를 간소화하여 배포할 준비가 된 정량화된 모델을 생성할 수 있습니다. 다음 예제는
YOLO11 모델을 다음 주소로 내보내는 방법 TFLite 형식을 INT8 양자화하여
효율적인 엣지 실행을 위해 준비합니다.
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
효율성을 극대화하기 위해 QAT는 종종 다른 모델 배포 기법과 결합됩니다. 모델 가지치기는 정량화 전에 중복 연결을 제거하여 중복 연결을 제거하여 크기를 더욱 줄입니다. 또한 지식 증류를 사용하여 간결한 학생 모델을 훈련한 다음 QAT를 사용하여 다듬을 수 있습니다. 최종 정량화된 모델은 다음과 호환됩니다. 고성능 런타임(예: ONNX 런타임 및 OpenVINO와 같은 고성능 런타임과 호환되므로 다양한 하드웨어 플랫폼에서 Intel 에서 Google 코랄.

