양자화 인식 훈련(QAT)이 Ultralytics 모델을 에지 배포에 최적화하는 방법을 알아보세요. INT8 정밀도로 높은 정확도를 유지하는 방법을 확인하세요.
양자화 인식 훈련(QAT)은 기계 학습 모델의 훈련 단계에서 사용되는 특수 기법으로, 낮은 정밀도 환경에 대비하기 위해 적용됩니다. 표준 딥러닝 워크플로우에서 모델은 일반적으로 고정밀도 32비트 부동 소수점 숫자(FP32)를 사용하여 작동합니다. 이 정밀도는 탁월한 정확도를 제공하지만, 특히 에지 디바이스에서 계산 비용이 높고 메모리 집약적일 수 있습니다. QAT는 모델이 아직 훈련 중인 동안 양자화 효과(예: 8비트 정수(INT8)와 같은 형식으로 정밀도 감소)를 시뮬레이션합니다. 학습 과정에 이러한 양자화 오류를 도입함으로써 모델은 가중치를 조정하는 법을 학습하고, 훈련 후 변환 과정에서 손실될 수 있는 정확도를 효과적으로 회복합니다.
컴퓨터 비전모델을 자원이 제한된 장치에 배포할 때는 속도와 성능 사이의 균형이 종종 필요합니다. 표준 양자화 방법인 사후 훈련 양자화(PTQ)는 모델이 완전히 훈련된 후에만 정밀도 감소를 적용합니다. PTQ는 빠르지만, 신경망 가중치가 조정할 기회 없이 크게 변경되기 때문에 민감한 모델의 정확도를 저하시킬 수 있습니다.
QAT는 모델이 양자화되는 것을 "연습"할 수 있도록 하여 이 문제를 해결합니다. 훈련의 전방 전파 과정에서 가중치와 활성화 값을 저정밀도로 시뮬레이션합니다. 이를 통해 경사 하강 과정이 양자화된 상태에 특화된 손실을 최소화하는 방식으로 모델 매개변수를 업데이트할 수 있게 됩니다. 그 결과 마이크로컨트롤러나 모바일프로세서 같은 하드웨어에 배포해도 높은 정확도를 유지하는 견고한 모델이 탄생합니다.
QAT를 모델 양자화, 특히 사후 훈련 양자화(PTQ)와 구분하는 것이 유용합니다:
QAT는 에지 하드웨어에서의 실시간 추론이 중요한 산업 분야에 필수적입니다.
Ultralytics YOLO 모델을 양자화 형식으로 내보내는 것을 지원합니다. QAT는 복잡한 훈련 절차이지만, 현대적인 프레임워크는 양자화 추론을 위한 모델 준비를 용이하게 합니다.
아래는 훈련된 YOLO26 모델을 INT8 양자화 TFLite 내보내는 예시입니다. 이 TFLite 양자화 원리를 활용하여 효율적인 에지 배포를 가능하게 합니다.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
양자화 기법을 통해 최적화된 모델은 전용 추론 엔진에서 실행되도록 설계됩니다. QAT로 훈련된 모델은 크로스 플랫폼 호환성을 위해 ONNX 사용하거나 OpenVINOIntel 통해 Intel 하드웨어에서 최적화됩니다. 이를 통해 대상 장치가 라즈베리 파이이든 전용 Edge TPU 관계없이 모델이 가능한 최고 수준의 효율성과 속도로 작동하도록 보장합니다.
QAT를 완전히 이해하려면 다음과 같은 관련 기계 학습 개념에 익숙해지는 것이 도움이 됩니다:
양자화 인식 훈련을 MLOps 파이프라인에 통합함으로써 개발자는 고정밀 연구 모델과 고효율의 생산 환경에 바로 적용 가능한 엣지 AI 애플리케이션 간의 격차를 해소할 수 있습니다.