모델 양자화
모델 양자화로 AI 성능을 최적화하세요. 크기를 줄이고, 속도를 높이고, 실제 배포를 위한 에너지 효율성을 개선하세요.
모델 양자화는 모델 최적화 기술로서, 신경망(NN)의 메모리 사용량과 계산 비용을 줄여줍니다. 이는 가중치와 활성화 함수를 높은 정밀도의 부동 소수점 숫자(예: 32비트 float 또는 FP32)에서 8비트 정수(INT8)와 같은 낮은 정밀도의 데이터 유형으로 변환함으로써 가능합니다. 이 과정을 통해 모델의 크기가 크게 줄어들고 속도가 빨라져 모바일 폰이나 임베디드 시스템과 같이 리소스가 제한된 하드웨어에 배포할 수 있습니다. 주된 목표는 모델의 예측 정확도에 미치는 영향을 최소화하면서 특히 추론 지연 시간과 같은 성능을 향상시키는 것입니다.
모델 양자화는 어떻게 작동하나요?
양자화 과정은 훈련된 모델에서 부동 소수점 값의 연속 범위를 더 작고 이산적인 정수 값 집합에 매핑하는 것을 포함합니다. 이 변환은 각 파라미터를 저장하는 데 필요한 비트 수를 줄여 전체 모델 크기를 줄입니다. 또한 낮은 정밀도 정수를 사용한 계산은 많은 최신 CPU와 GPU 및 TPU와 같은 특수 AI 가속기에서 훨씬 빠르며, 여기에는 정수 연산을 위한 전용 명령어가 있습니다.
양자화 적용에는 두 가지 주요 방법이 있습니다.
- 사후 훈련 양자화(PTQ): 이는 가장 간단한 접근 방식으로, 이미 훈련된 모델을 더 낮은 정밀도 형식으로 변환합니다. 가중치 및 활성화 분포를 작은 보정 데이터 세트에서 분석하여 부동 소수점에서 정수로의 최적 매핑을 결정하는 빠른 프로세스입니다.
- Quantization-Aware Training (QAT) (양자화 인식 훈련): 이 방법에서는 양자화 효과를 시뮬레이션하면서 모델을 훈련하거나 미세 조정합니다. 훈련 과정의 순방향 패스는 양자화된 추론을 모방하여 모델이 감소된 정밀도에 적응할 수 있도록 합니다. QAT는 모델이 훈련 단계에서 잠재적인 정보 손실을 보상하도록 학습하므로 PTQ보다 더 높은 정확도를 제공하는 경우가 많습니다. PyTorch 및 TensorFlow와 같은 프레임워크는 QAT 구현을 위한 강력한 도구를 제공합니다.
실제 애플리케이션
양자화는 특히 Edge AI 장치에서 실제 시나리오에서 정교한 컴퓨터 비전 모델을 실행하는 데 매우 중요합니다.
- 온디바이스 이미지 분석: 많은 스마트폰 애플리케이션에서 실시간 기능을 위해 양자화된 모델을 사용합니다. 예를 들어 카메라를 통해 실시간 객체 탐지를 제공하는 앱(예: 제품 또는 랜드마크 식별)은 Ultralytics YOLO11과 같은 양자화된 모델을 사용하여 배터리 소모나 클라우드 연결 없이 휴대폰 하드웨어에서 효율적으로 실행됩니다.
- 자동차 및 로봇 공학: 자율 주행 차량에서 보행자 감지 및 차선 유지 모델은 매우 낮은 대기 시간으로 작동해야 합니다. 이러한 모델을 양자화하면 NVIDIA Jetson 또는 Google Coral Edge TPU와 같은 특수 하드웨어에서 실행할 수 있으므로 안전에 중요한 몇 분의 1초 만에 결정을 내릴 수 있습니다.
양자화 vs. 기타 최적화 기술
모델 양자화는 종종 다른 최적화 방법과 함께 사용되지만 접근 방식에서 차이가 있습니다.
- 모델 가지치기(Pruning): 이 기술은 신경망 내에서 불필요하거나 중요하지 않은 연결(가중치)을 제거하여 크기와 복잡성을 줄입니다. 가지치기가 네트워크의 일부를 제거하여 크기를 줄이는 반면, 양자화는 수치 정밀도를 낮춰 나머지 부분을 더 효율적으로 만듭니다. 이 두 가지는 종종 최대 최적화를 위해 결합됩니다.
- 지식 증류(Knowledge Distillation): 여기에는 더 작은 "학생" 모델을 훈련하여 더 큰 사전 훈련된 "교사" 모델을 모방하는 것이 포함됩니다. 목표는 교사의 지식을 보다 컴팩트한 아키텍처로 이전하는 것입니다. 이는 새로운 모델을 훈련하는 대신 기존 모델의 숫자 표현을 수정하는 양자화와는 다릅니다.
- 혼합 정밀도: 이 기술은 모델 학습 중에 서로 다른 수치 정밀도(예: FP16 및 FP32)의 조합을 사용하여 프로세스 속도를 높이고 메모리 사용량을 줄입니다. 관련이 있지만 주로 학습 최적화이며 양자화는 일반적으로 추론을 위해 모델을 최적화하는 데 중점을 둡니다.
고려 사항 및 지원
양자화는 매우 유용하지만 모델 정확도에 잠재적으로 영향을 미칠 수 있습니다. 허용 가능한 성능 절충을 보장하려면 양자화 후 관련 성능 메트릭을 사용하여 철저한 평가를 수행하는 것이 필수적입니다.
Ultralytics는 양자화 친화적인 형식으로 내보내기를 지원하여 양자화된 모델 배포를 용이하게 합니다. 여기에는 광범위한 호환성을 위한 ONNX, Intel 하드웨어에서 최적화를 위한 OpenVINO, NVIDIA GPU에서 고성능을 위한 TensorRT가 포함됩니다. Ultralytics HUB와 같은 플랫폼은 훈련에서 최적화된 모델 배포에 이르기까지 전체 라이프사이클을 관리하는 데 도움이 될 수 있습니다. Neural Magic과 같은 도구와의 통합은 또한 CPU에서 GPU 수준의 성능을 달성하기 위해 양자화 및 가지치기를 활용합니다.