aimet: 에지 디바이스에서 메모리 사용량을 줄이고 추론 속도를 높이기 위한 ML 모델 양자화 및 압축 툴킷
aimet: 에지 디바이스에서 메모리 사용량을 줄이고 추론 속도를 높이기 위한 ML 모델 양자화 및 압축 툴킷
해결하는 문제
AIMET은 학습된 머신러닝 모델의 연산 부하와 메모리 사용량을 줄여, 모바일 폰이나 노트북과 같은 에지 디바이스에서의 배포를 더 빠르고 효율적으로 만듭니다. 특히 고정밀도(32-bit floating-point) 모델을 저정밀도(8-bit 또는 4-bit integer) 형식으로 변환할 때 모델 정확도를 유지하는 문제를 해결합니다.
작동 방식
AIMET은 양자화 및 압축을 위한 도구 모음을 제공합니다. 다음 방법들을 사용하여 PyTorch 및 ONNX 모델을 지원합니다:
- Post-Training Quantization (PTQ): 전체 재학습 없이 가중치와 활성화 함수를 최적화하기 위해 Calibration, AdaRound (Adaptive Rounding), SeqMSE, SpinQuant와 같은 기술을 사용합니다.
- Quantization Aware Training (QAT): 정확도 손실을 최소화하기 위해 양자화 시뮬레이션을 학습 과정에 통합합니다.
- Model Compression: Spatial SVD (tensor decomposition) 및 Channel Pruning을 사용하여 중복된 파라미터를 제거하고 multiply-accumulate (MAC) 연산을 줄입니다.
- Data-Free Quantization (DFQ): 원본 학습 데이터 없이도 양자화가 가능합니다.
대상 사용자
에지 하드웨어에서 고성능 추론을 위해 딥러닝 모델을 최적화해야 하는 ML 엔지니어 및 개발자, 특히 PyTorch 또는 ONNX 프레임워크를 사용하는 사용자들을 대상으로 합니다.
주요 특징
- 상당한 속도 향상: Qualcomm Hexagon DSP와 같은 특정 하드웨어에서 CPU 대비 모델을 최대 15배 더 빠르게 실행할 수 있습니다.
- 4x 메모리 감소: 8-bit 정밀도 모델은 32-bit 모델보다 공간을 훨씬 적게 차지합니다.
- 자동화된 최적화: 최적화 프로세스를 자동화하는 API를 제공하여 수동 조정을 최소화합니다.
- 폭넓은 지원: CNNs (ResNet, MobileNet) 및 순환 모델 (RNN, LSTM, GRU)을 포함한 다양한 모델 유형을 지원합니다.
Sources
- undefinedqualcomm/aimet