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数据分析助手

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

imini AI

imini AI

像人一样思考的AI智能体

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

Keevx

Keevx

AI数字人视频创作平台

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

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

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

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

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
下拉加载更多