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が提供するオープンソースのソフトウェアツールキットであり、ディープラーニングモデルを縮小・高速化し、エッジデバイス(スマートフォン、ノートPC、DSP)上で効率的に動作させることを支援します。PyTorchおよびONNXモデルに対応しており、post‑training quantization (PTQ) と quantization‑aware training (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、または整数推論を実行できるあらゆるプラットフォームにデプロイ可能です。
始め方 – 事前ビルド済みのwheelが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