용어집

모델 정량화

모델 정량화를 통해 AI 성능을 최적화하세요. 실제 배포를 위해 크기를 줄이고, 속도를 높이고, 에너지 효율성을 개선하세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

모델 양자화는 모델의 계산 및 메모리 비용을 줄이기 위해 딥러닝(DL) 에서 사용되는 중요한 모델 최적화 기법입니다. 이는 모델 매개변수(가중치 및 활성화)의 수치 정밀도를 일반적으로 32비트 부동 소수점 숫자(FP32)와 같은 고정밀 표현에서 16비트 부동 소수점(FP16), 8비트 정수(INT8) 또는 더 낮은 비트 표현과 같은 저정밀 형식으로 변환함으로써 달성할 수 있습니다. 이 프로세스는 머신러닝 모델을 더 작고, 더 빠르고, 더 에너지 효율적으로 만들 수 있으며, 이는 특히 모바일 장치나 엣지 AI 시스템과 같이 리소스가 제한된 환경에 복잡한 모델을 배포하는 데 필수적인 요소입니다.

모델 정량화 작동 방식

모델 양자화의 핵심은 고정밀 텐서(FP32의 가중치 및 활성화 등)에서 발견되는 값의 범위를 고정밀도가 낮은 데이터 유형(INT8 등)으로 표현 가능한 더 작은 범위로 매핑하는 것입니다. 이러한 변환은 모델을 저장하는 데 필요한 메모리와 추론에 필요한 계산 리소스를 크게 줄여주는데, 저정밀도 숫자(특히 정수)에 대한 연산은 GPU, CPU, TPU나 NPU 같은 특수 가속기 같은 최신 하드웨어에서 더 빠르고 에너지 효율이 높은 경우가 많기 때문입니다. 목표는 모델의 예측 성능에 미치는 영향을 최소화하면서 이러한 효율성 향상을 달성하는 것입니다.

모델 정량화의 이점

딥러닝 모델에 양자화를 적용하면 몇 가지 주요 이점이 있습니다:

  • 모델 크기 감소: 정확도가 낮은 데이터 유형은 저장 공간이 적게 필요하므로 특히 온디바이스 배포 시 모델을 더 쉽게 저장하고 배포할 수 있습니다.
  • 더 빨라진 추론 속도: 정밀도가 낮은 숫자(특히 정수)를 사용하는 계산은 호환되는 하드웨어에서 더 빠르게 실행되어 추론 대기 시간을 줄여줍니다. 이는 실시간 애플리케이션에 매우 중요합니다.
  • 에너지 효율성 향상: 더 빠른 계산과 메모리 액세스 감소로 전력 소비가 줄어들어 모바일 및 엣지 디바이스의 배터리 수명이 연장됩니다.
  • 향상된 하드웨어 호환성: 많은 특수 하드웨어 가속기(Edge TPU, ARM 프로세서의 NPU)가 저정밀도 정수 연산에 최적화되어 있어 정량화된 모델의 성능을 크게 향상시킬 수 있습니다.

정량화 기술

모델 정량화에는 크게 두 가지 접근 방식이 있습니다:

  • 학습 후 정량화(PTQ): 이 방법은 표준 부동소수점 정밀도를 사용하여 이미 학습된 모델을 정량화하는 것입니다. 재학습이나 원래 학습 데이터에 대한 액세스가 필요하지 않으므로 구현하기가 더 간단합니다. 하지만 때때로 모델 정확도가 눈에 띄게 떨어질 수 있습니다. TensorFlow 모델 최적화 툴킷과 같은 도구는 PTQ 기능을 제공합니다.
  • 양자화 인식 훈련(QAT): 이 기법은 모델 훈련 과정에서 양자화의 효과를 시뮬레이션합니다. 모델이 다가오는 정밀도 감소를 "인식"하게 함으로써, QAT는 특히 양자화에 민감한 모델의 경우 PTQ에 비해 더 나은 정확도를 달성하는 경우가 많지만, 훈련 워크플로우를 수정하고 훈련 데이터에 액세스해야 합니다. PyTorch QAT를 지원합니다.

실제 애플리케이션

모델 정량화는 다양한 영역에서 널리 사용됩니다:

  • 모바일 비전 애플리케이션: 증강 현실, 사진 편집 또는 시각적 검색과 같은 애플리케이션을 위해 스마트폰에서 직접 실시간 물체 감지 (예: 정량화된 Ultralytics YOLO 모델 사용) 또는 이미지 분할과 같은 정교한 컴퓨터 비전 작업을 수행할 수 있습니다. 정량화는 이러한 까다로운 모델을 모바일 하드웨어에서 실현할 수 있게 해줍니다.
  • 자율주행 차량 및 로보틱스: 안전과 작동 내구성을 위해 짧은 지연 시간과 전력 효율성이 가장 중요한 자동차나 드론에 인식 모델(보행자, 차량, 장애물 감지용)을 배포합니다. 정량화된 모델은 이러한 엄격한 실시간 처리 요구 사항을 충족하는 데 도움이 됩니다.
  • 엣지 AI 디바이스: 저전력 마이크로컨트롤러 또는 특수 엣지 프로세서에서 산업 결함 감지, 스마트 홈 자동화 또는 웨어러블 상태 모니터링과 같은 작업을 위한 AI 모델을 실행합니다.

고려 사항 및 관련 개념

정량화는 매우 유익하지만 잠재적으로 모델 정확도에 영향을 미칠 수 있습니다. 정량화 후에는 관련 성능 메트릭을 사용하여 신중하게 평가하는 것이 필수적입니다. 양자화 친화적인 모델 아키텍처를 사용하는 것과 같은 기술(예: YOLO 볼 수 있는 특정 활성화 기능 대체)은 양자화된 YOLOv8 모델 배포에서 설명한 대로 정확도 저하를 완화하는 데 도움이 될 수 있습니다.

모델 정량화는 여러 모델 최적화 기법 중 하나입니다. 다른 기법에는 다음이 포함됩니다:

  • 모델 가지치기: 신경망에서 중복되거나 중요하지 않은 연결(가중치)을 제거하는 작업입니다.
  • 혼합 정밀도: 학습 또는 추론 중에 서로 다른 수치 정밀도(예: FP16 및 FP32)를 조합하여 사용합니다.
  • 지식 증류: 작은 '학생' 모델을 훈련시켜 미리 훈련된 큰 '교사' 모델의 행동을 모방하도록 합니다.

Ultralytics 다음을 포함하여 정량화 및 배포를 용이하게 하는 다양한 형식으로 모델을 내보낼 수 있도록 지원합니다. ONNX, OpenVINO ( Intel 하드웨어에 최적화됨), TensorRT ( NVIDIA GPU용), CoreML ( Apple 디바이스용), TFLite를 지원하여 다양한 하드웨어 플랫폼에 효율적으로 모델을 배포할 수 있습니다. 정량화된 버전을 포함하여 모델을 관리하고 배포할 수 있는 도구는 Ultralytics HUB입니다. 다음과 같은 통합 Neural Magic 과 같은 통합 기능도 CPU 최적화를 위해 양자화를 활용합니다.

모두 보기