Yolo 비전 선전
선전
지금 참여하기
용어집

양자화 인식 훈련(QAT)

양자화 인식 훈련(QAT)이 Ultralytics 모델을 에지 배포에 최적화하는 방법을 알아보세요. INT8 정밀도로 높은 정확도를 유지하는 방법을 확인하세요.

양자화 인식 훈련(QAT)은 기계 학습 모델의 훈련 단계에서 사용되는 특수 기법으로, 낮은 정밀도 환경에 대비하기 위해 적용됩니다. 표준 딥러닝 워크플로우에서 모델은 일반적으로 고정밀도 32비트 부동 소수점 숫자(FP32)를 사용하여 작동합니다. 이 정밀도는 탁월한 정확도를 제공하지만, 특히 에지 디바이스에서 계산 비용이 높고 메모리 집약적일 수 있습니다. QAT는 모델이 아직 훈련 중인 동안 양자화 효과(예: 8비트 정수(INT8)와 같은 형식으로 정밀도 감소)를 시뮬레이션합니다. 학습 과정에 이러한 양자화 오류를 도입함으로써 모델은 가중치를 조정하는 법을 학습하고, 훈련 후 변환 과정에서 손실될 수 있는 정확도를 효과적으로 회복합니다.

엣지 배포에서 QAT가 중요한 이유

컴퓨터 비전모델을 자원이 제한된 장치에 배포할 때는 속도와 성능 사이의 균형이 종종 필요합니다. 표준 양자화 방법인 사후 훈련 양자화(PTQ)는 모델이 완전히 훈련된 후에만 정밀도 감소를 적용합니다. PTQ는 빠르지만, 신경망 가중치가 조정할 기회 없이 크게 변경되기 때문에 민감한 모델의 정확도를 저하시킬 수 있습니다.

QAT는 모델이 양자화되는 것을 "연습"할 수 있도록 하여 이 문제를 해결합니다. 훈련의 전방 전파 과정에서 가중치와 활성화 값을 저정밀도로 시뮬레이션합니다. 이를 통해 경사 하강 과정이 양자화된 상태에 특화된 손실을 최소화하는 방식으로 모델 매개변수를 업데이트할 수 있게 됩니다. 그 결과 마이크로컨트롤러나 모바일프로세서 같은 하드웨어에 배포해도 높은 정확도를 유지하는 견고한 모델이 탄생합니다.

QAT와 사후 훈련 양자화(PTQ)의 차이점

QAT를 모델 양자화, 특히 사후 훈련 양자화(PTQ)와 구분하는 것이 유용합니다:

  • 훈련 후 양자화(PTQ): 모델은 FP32로 정상적으로 훈련됩니다. 훈련 완료 후 가중치가 INT8로 변환됩니다. 이는 더 빠르며 재훈련이 필요하지 않지만, 복잡한 아키텍처의 경우 더 큰 정확도 손실을 초래할 수 있습니다.
  • 양자화 인식 훈련(QAT): 미세 조정 단계에서 양자화 과정을 모사합니다. 모델은 낮은 정밀도로 인해 발생하는 노이즈를 수용하기 위해 내부 매개변수를 조정하며, 일반적으로 PTQ보다 더 나은 정확도를 제공합니다.

실제 애플리케이션

QAT는 에지 하드웨어에서의 실시간 추론이 중요한 산업 분야에 필수적입니다.

  • 자율 드론: AI 드론 운영에서 배터리 수명과 탑재 처리 능력은 극도로 제한됩니다. QAT를 통해 최적화된 모델을 사용하는 드론은 INT8 가속기를 활용하면서도 장애물을 detect track 데 높은 정밀도를 유지하며, FP32 모델 대비 비행 시간을 현저히 연장합니다.
  • 스마트 리테일 카메라: 슈퍼마켓은 컴퓨터 비전을 활용해 선반 재고를 모니터링하거나 계산대 라인을 관리합니다. 이러한 시스템은 일반적으로 저전력 엣지 게이트웨이에서 실행됩니다. QAT는 이러한 장치에서 실행되는 물체 탐지 모델이 유사한 제품을 구분하는 데 필요한 정확도를 유지하도록 보장하며, 고가의 클라우드 연결 없이도 이를 가능하게 합니다.

Ultralytics 활용한 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 관련 핵심 개념

QAT를 완전히 이해하려면 다음과 같은 관련 기계 학습 개념에 익숙해지는 것이 도움이 됩니다:

  • 정밀도: 숫자를 표현하는 데 사용되는 세부 수준을 의미합니다. 반정밀도 (FP16)와 INT8은 양자화의 일반적인 대상입니다.
  • 보정: 부동소수점 숫자를 정수로 효과적으로 매핑하기 위한 동적 활성화 값의 범위(최소/최대)를 결정하는 과정입니다. 이는 양자화된 YOLO 배포하는 데 있어 핵심 단계입니다.
  • 추론 지연 시간: QAT의 주요 이점 중 하나는 추론 지연 시간을 줄여 실시간 시스템에서 더 빠른 의사 결정을 가능하게 한다는 점입니다.
  • 미세 조정: QAT는 종종 처음부터 훈련하는 대신 사전 훈련된 모델에 대한 미세 조정 단계로 수행되어 계산 자원을 절약합니다.

양자화 인식 훈련을 MLOps 파이프라인에 통합함으로써 개발자는 고정밀 연구 모델과 고효율의 생산 환경에 바로 적용 가능한 엣지 AI 애플리케이션 간의 격차를 해소할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기