aimet

aimet

深度学习模型优化的量化与压缩工具

AI Model Efficiency Toolkit (AIMET) 提供先进的模型量化和压缩技术,专注于优化已训练的神经网络模型。其主要功能包括跨层均衡、偏差校正、自适应舍入和量化感知训练,显著提升模型运行性能,降低计算和内存要求,并保持任务精度。AIMET 兼容 PyTorch、TensorFlow 和 ONNX 模型,通过 AIMET Model Zoo 提供优化的8位推理神经网络模型。同时,AIMET 支持空间SVD和通道剪枝等压缩技术,并提供可视化工具检查模型量化和压缩效果。

AIMET模型量化模型压缩深度学习PyTorchGithub开源项目

Qualcomm创新中心

AIMET在GitHub Pages上的页面 文档 安装说明 讨论论坛 最新动态

AI模型效率工具包 (AIMET)

<a href="https://quic.github.io/aimet-pages/index.html">AIMET</a> 是一个库,为经过训练的神经网络模型提供高级量化和压缩技术。 它提供的功能已被证明能够在深度学习神经网络模型的运行时性能、计算和内存需求更低的情况下,几乎不影响任务准确性。

AIMET工作原理

AIMET设计旨在与PyTorchTensorFlowONNX模型配合使用。

我们还托管了AIMET模型动物园 - 一些优化用于8位推理的流行神经网络模型的集合。 我们还提供了使用AIMET量化浮点模型的配方。

目录

快速安装

AIMET PyTorch GPU PyPI软件包可用于符合以下要求的环境:

  • 64位英特尔x86兼容处理器
  • Linux Ubuntu 22.04 LTS [Python 3.10] 或 Linux Ubuntu 20.04 LTS [Python 3.8]
  • Torch 1.13+cu117

安装

apt-get install liblapacke
python3 -m pip install aimet-torch

要安装其他AIMET变体和版本,请按照以下任一链接进行安装说明:

为什么选择AIMET?

AIMET的好处

  • 支持高级量化技术:使用整型时的推理远比使用浮点数时快。例如,在Qualcomm Hexagon DSP上,模型运行速度比在Qualcomm Kyro CPU上快5至15倍。此外,8位精度模型的占用空间比32位精度模型小4倍。然而,在量化机器学习模型时保持模型准确性往往具有挑战性。AIMET通过使用无数据量化等新技术解决了这个问题,提供了在多个流行模型上实现最先进的INT8结果。
  • 支持高级模型压缩技术 使模型在推理时运行更快,并需要更少的内存
  • AIMET设计旨在自动优化神经网络,避免了耗时而乏味的手动调整。AIMET还提供了用户友好的API,允许用户直接从其TensorFlowPyTorch管道中进行调用。

请访问GitHub上的AIMET页面了解更多详情。

支持的功能

量化

  • 跨层均衡:均衡权重张量以减少通道间的振幅变化
  • 偏差校正:纠正由于量化引入的层输出的偏移
  • 自适应舍入:在无标签数据下找到最优舍入
  • 量化仿真:模拟量化推理精度
  • 量化感知训练:使用量化仿真进一步训练模型以提高精度

模型压缩

  • 空间SVD:张量分解技术将大层分割成两个较小的层
  • 通道剪枝:从层中删除冗余的输入通道并重建层权重
  • 按层选择压缩比:自动选择模型中每层压缩的程度

可视化

  • 权重范围:可视化查看模型是否适用于应用跨层均衡技术。以及应用技术后的效果
  • 按层压缩敏感度:可视化反馈模型中任何特定层对压缩的敏感度

最新动态

一些最近添加的功能包括

  • 自适应舍入(AdaRound):在无标签数据下找到最优舍入
  • 支持循环模型(包括RNN、LSTM和GRU)的量化感知训练(QAT)

结果

AIMET可以将现有的32位浮点模型量化到8位定点模型,而不会牺牲太多精度,也无需对模型进行微调。

<h4>数据无关量化(DFQ)</h4>

将DFQ应用于诸如MobileNet-v2和ResNet-50等多个流行网络,使用自动化方法无需任何训练数据,将精度降低到8位量化的损失小于0.9%。

<table style="width:50%"> <tr> <th style="width:80px">模型</th> <th>FP32</th> <th>INT8仿真 </th> </tr> <tr> <td>MobileNet v2 (top1)</td> <td align="center">71.72%</td> <td align="center">71.08%</td> </tr> <tr> <td>ResNet 50 (top1)</td> <td align="center">76.05%</td> <td align="center">75.45%</td> </tr> <tr> <td>DeepLab v3 (mIOU)</td> <td align="center">72.65%</td> <td align="center">71.91%</td> </tr> </table> <br> <h4>AdaRound(自适应舍入)</h4> <h5>ADAS对象检测</h5> <p>对于这个具有挑战性的量化到8位精度的ADAS对象检测模型,AdaRound可以将精度恢复到距FP32精度1%以内。</p> <table style="width:50%"> <tr> <th style="width:80px" colspan="15">配置</th> <th>mAP - 平均精度</th> </tr> <tr> <td colspan="15">FP32</td> <td align="center">82.20%</td> </tr> <tr> <td colspan="15">最近舍入(INT8权重,INT8激活)</td> <td align="center">49.85%</td> </tr> <tr> <td colspan="15">AdaRound(INT8权重,INT8激活)</td> <td align="center" bgcolor="#add8e6">81.21%</td> </tr> </table> <h5>DeepLabv3语义分割</h5> <p>对于某些模型,如DeepLabv3语义分割模型,AdaRound甚至可以将模型权重量化到4位精度而不显著降低精度。</p> <table style="width:50%"> <tr> <th style="width:80px" colspan="15">配置</th> <th>mIOU - 平均交并比</th> </tr> <tr> <td colspan="15">FP32</td> <td align="center">72.94%</td> </tr> <tr> <td colspan="15">最近舍入(INT4权重,INT8激活)</td> <td align="center">6.09%</td> </tr> <tr> <td colspan="15">AdaRound(INT4权重,INT8激活)</td> <td align="center" bgcolor="#add8e6">70.86%</td> </tr> </table> <br> <h4>循环模型的量化</h4> <p>AIMET支持循环模型(RNN、LSTM、GRU)的量化仿真和量化感知训练(QAT)。 使用AIMET中的QAT功能,可以将一款使用双向LSTM的DeepSpeech2模型量化到8位精度,而精度几乎没有下降。</p> <table style="width:50%"> <tr> <th>DeepSpeech2 <br>(使用双向LSTM)</th> <th>词错误率</th> </tr> <tr> <td>FP32</td> <td align="center">9.92%</td> </tr> <tr> <td>INT8</td> <td align="center">10.22%</td> </tr> </table> <br> <h4>模型压缩</h4> <p>AIMET还可以显著压缩模型。对于流行模型,如Resnet-50和Resnet-18,使用空间SVD加通道剪枝压缩50%的MAC(乘加运算)减少量,同时保留原始未压缩模型约1%的准确度。</p> <table style="width:50%"> <tr> <th>模型</th> <th>未压缩模型</th> <th>50%压缩模型</th> </tr> <tr> <td>ResNet18 (top1)</td> <td align="center">69.76%</td> <td align="center">68.56%</td> </tr> <tr> <td>ResNet 50 (top1)</td> <td align="center">76.05%</td> <td align="center">75.75%</td> </tr> </table> <br>

资源

贡献

感谢您对AIMET感兴趣!请阅读我们的贡献页面以了解更多关于贡献功能或修复bug的信息。我们期待您的参与!

团队

AIMET旨在成为由Qualcomm创新中心维护的社区驱动项目。

许可

AIMET根据BSD 3条款“新”或“修订”许可证授权。有关详细信息,请查看LICENSE

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多