qualcomm/aimet
AIMET is a library that provides advanced quantization and compression techniques for trained neural network models.
AI Model Efficiency Toolkit (AIMET)
정의 – AIMET는 Qualcomm에서 제공하는 오픈 소스 소프트웨어 툴킷으로, 딥러닝 모델을 축소하고 속도를 높여 엣지 디바이스(휴대폰, 노트북, DSP)에서 효율적으로 실행될 수 있도록 돕습니다. PyTorch 및 ONNX 모델과 호환되며, 사후 양자화(PTQ) 및 양자화 인식 학습(QAT) 파이프라인과 몇 가지 모델 압축 유틸리티를 제공합니다.
중요성 – 정수(INT8/INT4) 연산을 사용하여 추론을 실행하는 것은 부동 소수점(FP32)보다 훨씬 빠르고 메모리를 훨씬 적게 사용합니다. AIMET는 정확도 손실을 최소화하면서 학습된 모델을 저정밀도로 변환하는 까다로운 과정을 자동화합니다. 이 툴킷에는 Data-Free Quantization, AdaRound, Cross-Layer Equalization, spatial SVD pruning과 같은 고급 기술이 포함되어 있어, Qualcomm Hexagon DSP에서 5-15배의 속도 향상을 얻을 수 있으며 모델 크기를 최대 4배까지 줄일 수 있습니다.
주요 기능
- PTQ 기술 – Calibration, AdaRound, SeqMSE, BatchNorm folding/re-estimation, Cross-Layer Equalization, AdaScale, OmniQuant, SpinQuant 등 (표시된 경우 ONNX 및 PyTorch 모두 지원).
- QAT 지원 –
aimet-torch와 통합되어 양자화 효과를 시뮬레이션하면서 모델 학습을 계속할 수 있습니다. - 모델 압축 – Spatial SVD decomposition, channel pruning, 그리고 레이어별 자동 압축률 선택.
- 시각화 도구 – 최적화를 가이드하기 위해 가중치 범위와 레이어별 압축 민감도를 검사합니다.
- 엣지용 출력 – 양자화된 모델은 Qualcomm Hexagon DSP, Kryo CPU 또는 정수 추론을 실행하는 모든 플랫폼에 배포할 수 있습니다.
시작하는 방법 – 사전 빌드된 휠(wheels)이 PyPI(aimet-onnx, aimet-torch)에 게시되어 있습니다. README는 최신 소스를 원하는 사용자를 위한 빠른 시작 가이드와 Docker 기반 빌드 지침을 안내합니다.
결과 요약 – 이 툴킷은 MobileNet-v2, ResNet-50, DeepLab-v3, ADAS object-detect, 그리고 DeepSpeech2와 같은 순환 모델까지 정확도 손실을 1% 미만으로 양자화할 수 있습니다 (예: MobileNet-v2 FP32 top-1 71.72% → INT8 71.08%). AdaRound는 양자화하기 어려운 모델의 정확도를 복구하거나 적은 손실로 4비트 가중치 양자화를 가능하게 합니다.
커뮤니티 및 라이선스 – 토론은 GitHub와 전용 Slack 채널에서 이루어집니다. 기여는 BSD-3-Clause 라이선스 하에 환영받습니다.
유용한 링크
- 문서 및 API 참조: https://qualcomm.github.io/aimet-pages
- PyPI 패키지:
aimet-onnx,aimet-torch - 예제 코드:
Examples/README.md - 라이선스: BSD 3-clause