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 开发的开源软件工具包,旨在帮助您缩小并加速深度学习模型,使其能够在边缘设备(手机、笔记本电脑、DSPs)上高效运行。它支持 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 DSPs 上获得 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-bit 权重量化。
社区与许可 – 讨论在 GitHub 和专门的 Slack 频道进行。欢迎在 BSD-3-Clause 许可下进行贡献。
常用链接
- 文档与 API 参考:https://qualcomm.github.io/aimet-pages
- PyPI 包:
aimet-onnx,aimet-torch - 示例代码:
Examples/README.md - 许可:BSD 3-clause