高通发布深度模型量化/压缩库 AIMET | 翻译征文 | 雷锋字幕组

 本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件

        在高通科技公司,我们一直在积极研究1,2,3 和开发人工智能解决方案,目标是让人工智能在设备、机器、车辆和事物中无处不在。在过去的十年中,我们对能源效率的关注使得每瓦特AI性能有了显著的提高,这使得从设备上的虚拟助理和翻译到智能安全摄像头和安全驾驶的各种增强体验成为可能。

        这些每瓦性能提升背后的驱动力是我们在人工智能模型效率方面的领先研究。所谓模型效率,我们指的是缩小模型、减少计算、减少内存流量、降低延迟和有效使用硬件的技术。传统上,我们通过像神经信息处理系统大会(NeurIPS)这样的学术会议上的论文和研讨会,或者像高通神经处理软件包这样的产品商业化,将我们突破性的人工智能研究贡献给社区的其他成员。

        现在我们更进一步。高通创新中心(QuIC)很高兴能在GitHub上开源AI模型效率工具包(AIMET),与其他领先的AI研究人员合作,并为AI开发人员提供一个简单的库插件,用于最先进的模型效率性能。这个开源项目的目标是帮助生态系统向整数推理迁移,因为我们相信这是提高每瓦特性能的有效方法。

AIMET用于大规模的节能人工智能 

        AIMET是一个库,支持先进的量化和压缩技术的训练神经网络模型。量化技术试图在不牺牲模型精度的情况下,系统地减少用于权重参数和激活计算的比特数,例如从32位浮点值移动到8位不动点值。压缩技术试图系统地删除激活节点和节点之间的连接,而不牺牲模型的准确性。AIMET支持各种高级量化技术,如无数据量化和压缩技术,如空间奇异值分解(SVD)和通道修剪。

        压缩或量化降低了深度神经网络的模型大小。

        优化神经网络并不具有可伸缩性,因为它既耗时又耗费工程资源。在设计AIMET时,重点是开发能够通过简单的API调用显著提高模型效率的技术。AIMET自动提高了深度学习神经网络模型的运行时性能、延迟、功率效率和内存需求,同时避免了耗时且难以重复的手工调优。该库直接插入TensorFlow和PyTorch培训框架,以便于使用,允许开发人员直接从现有管道调用api。

        AIMET包括量化和压缩技术,允许在规模上简单部署AI模型。

按此处查看大图

        确保AIMET能够利用常用的硬件加速技术也很重要。AIMET的设计目的是让神经网络在定点人工智能硬件加速器(如高通Snapdragon平台上的加速器)上更有效地运行。

        那你为什么要对AIMET感兴趣呢?这就是结果。该工具包是基于高通人工智能研究论文发表的一些工作,包括无数据量化(DFQ)。通过一系列简单的API调用,AIMET可以将现有的32位浮点模型量化为8位定点模型,而不需要牺牲很多精度,也不需要对模型进行微调。作为准确性维护的一个例子,DFQ方法应用于几个流行的网络,如MobileNet-v2和ResNet-50,结果在没有任何训练数据的情况下,以自动化的方式从精度下降到8位量化,精度损失不到0.9%。此外,量化模型,我们已经运行在高通六边形DSP而不是高通Kryo CPU导致了5倍至15倍的加速。另外,8位模型的内存占用也比32位模型小4倍。

        无数据量化支持INT8推理,与FP32模型相比,其精度损失非常小。

同样,AIMET也可以显著压缩模型。对于流行的模型,如ResNet-50和ResNet-18,使用空间SVD和通道剪接进行压缩,可以减少50%的MAC(乘法累积),同时将精度保持在原始未压缩模型的1%以内。AIMET压缩技术(空间SVD和通道剪除)使MACs降低了50%,同时将精度保持在原始模型的1%左右。

一个简单的集成到通用AI开发工作流程 

        高通技术公司多年来一直在为开发人员创造工具,以更有效地利用硬件——从图形加速到计算相机应用。我们知道工具适应典型的开发工作流程、抽象的复杂性、提供引人注目的好处以及易于使用是多么重要。例如,Qualcomm Neural Processing SDK被设计用来帮助开发人员节省时间和精力来优化带有Snapdragon的设备上训练好的神经网络的性能。事实上,我们的量化技术从2019年夏天开始就和高通神经处理SDK一起发布了。

        对于QuIC AIMET项目,开发人员将能够获取最新和最好的库,它应该与他们现有的培训工作流程无缝集成。AIMET输入一个TensorFlow或PyTorch训练模型,然后可以对其进行压缩、量化和微调。量化模型可以在具有定点硬件加速的硬件上很好地运行。例如,优化后的模型以ONNX或TensorFlow的形式输出,然后通过Qualcomm Neural Processing SDK在Snapdragon上运行。

        我们也很高兴地报告,这些技术已经在真实的商业应用程序上得到了实际开发人员的测试,其改进符合我们的理论基准测试结果。例如,它们已被用于优化用于生物识别、语音识别和汽车的商业模型。

通过合作推进人工智能模型效率研究  

        人工智能模型效率是一个重要的研究领域,它对整个人工智能社区具有共同的重要性,可以使人工智能生态系统和加速大规模的设备人工智能开发。QuIC创建这个项目是为了与其他人工智能研究人员合作,提高我们最先进的模型效率研究,并为开源社区做出贡献。QuIC致力于定期为该项目贡献前沿研究。请加入我们共同努力,提高人工智能模型的效率。

        在高通人工智能研究公司(Qualcomm AI Research),我们相信研究并不意味着要呆在实验室里。我们迅速将我们的研究突破商业化并扩大规模,跨越设备和行业,缩短了实验室研究和提供丰富生活的先进技术之间的时间间隔。AIMET的开源进一步加速了这个创新周期。

        加入QuIC AIMET GitHub项目

        订阅我们的通讯,获取关于移动计算的最新信息

        引用:

        1.Markus Nagel, Mart van Baalen, Tijmen Blankevoort, Max Welling. 《通过权重均衡和偏差校正实现无数据量化》IEEE计算机视觉国际会议(ICCV),首尔,2019年10月(口头报告)

        2.Markus Nagel, Rana Ali Amjad, Mart van Baalen, Christos Louizos, Tijmen Blankevoort.《上升还是下降?用于训练后量化的自适应舍入》

        3.Andrey Kuzmin, Markus Nagel, Saurabh Pitre, Sandeep Pendyam, Tijmen Blankevoort, Max Welling《卷积神经网络结构压缩的分类与评价》

    

        Qualcomm Snapdragon、Qualcomm Hexagon、Qualcomm Kyro、AI Model Efficiency Toolkit、Qualcomm Neural Processing SDK都是Qualcomm Technologies公司及其子公司的产品。高通人工智能研究是高通技术公司的一项倡议。高通创新中心是高通技术公司的全资子公司。

英文原文链接

 本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件