随着深度学习的发展,推理模型的大量参数和计算需要越来越多的硬件资源,这也为模型在移动终端上的部署带来了新的挑战。
您可以更改像Doraemon这样的隧道吗?无论大型型号如何,插入后都会变得更小,更轻。
答案是:当然!
一般来说,如果您想在深度学习领域建立模型以减少隧道并加速模型推理的部署,通常需要使用模型压缩技术,例如定量,修剪,低级别和知识蒸馏来减少模型参数和计算的量。
但是,模型压缩通常不是非破坏性压缩。它是为了获得计算性能提高的成本而牺牲一定的准确性。作为衡量AI推理应用程序有效性的双重标准,准确性和性能同样重要。自然,模型压缩算法的实施也需要考虑到准确性损失和绩效改善的均衡。
通过AMCT模型压缩工具(Ascend Model Compression Toolkit),升至连接AI框架和AI硬件的桥梁,作为连接AI框架和AI硬件的桥梁,以提高AI框架和AI硬件的关键平台,该模型降低了AMCT模型压缩工具(ASCEND Model Compression工具包),该模型的一个现实版本会降低Shengteng AI的升级,从而提高了AI框架和Ai硬件隧道。
AMCT是Python工具包,它有效地适应了主流深度学习框架,例如Caffe/Tensorflow/Laishi Mindspore/Pytorch/onnx,可提供各种模型压缩功能,可确保确保,张量分解和稀疏通道。模型的准确性,存储空间和模型的计算可以有效地降低,并且可以改善模型的模型推理性能。
与其他类似平台相比,AMCT支持模型压缩功能更完整。它通过多种压缩算法和硬件亲和力模型优化了最大化用户模型部署推理性能;AMCT支持的培训框架也更丰富,适用于不同领域的不同领域的不同领域的人群的开发和使用;此外,AMCT还致力于通过自动调整和自动补充来提高工具的易用性,以便用户可以尽可能低地支付以获得尽可能多的收益。
顾名思义,模型量化是一项技术,将浮动点计算转换为低点 - 特异性点计算(例如32位浮点模型的固定点模型到8位),可以有效地减少存储空间的位置并计算模型的复杂性,从而增加了模型推理性能的模型推理。
常见的定量算法是双值,定量和线性量化的。
两个值定量,
由于模型压缩太激进了,因此模型的性能很大,但是相应的准确性损失也很大,并且应用范围很小。
由于专用的硬件计算单元和性能改进有限,因此它没有获得大型应用程序;AMCT使用线性量化方法,
支持8位和4位位。从总体上讲,8位定量的准确性风险很小,可以在训练后量化来实现;4位定量准确性的风险更大。目前,AMCT仅支持通过定量感知培训实施培训。
训练后数量(PTQ)是指从浮点定量到低位整数中的重量重量量化,通用网络可以在训练后实现较低的定量准确性损失。
量化不足(QAT)是指借助用户的完整培训数据集,在重新训练过程中引入定量操作。标准误差损失,从而提高了在培训过程中适应定量效应的能力,并改善了定量效应最终量化模型的精度。对于4位和较低位的量化,通常有必要通过定量感知训练来降低定量准确性损失。
我们测试了Resnet-50和Yolov3网络在Shengteng AI处理器上的8位PTQ和4位QAT上的性能和准确性性能。
在准确性方面,您可以看到不同的网络对量化具有不同的敏感性。在经典的CV网络中,可以将8位定量精度损失保持在1%以内,并且可以在2%以内保持4位定量定量精度损失。
在性能方面,由于不同模型的结构和网络规范的差异,通过量化获得的性能改进也不同。其中,与FP16相比,RESNET-50 INT8的平均约40%与INT8相比约为40%。Yolov3约为30%。
在使用方面,开发人员呼叫AMCT提供的API轻松完成模型量化。设置默认值以量化所有定量busatters(主要是卷积和矩阵乘法),并且开发人员还可以指定哪些层和层的定量位层如果量化后的准确性损失大于预期,则可以通过跳过一些关键层的量化来恢复准确性。例如,我们通常认为网络的第一个和尾巴对业务准确性有更大的影响网络的内容,因此我们需要优先考虑量化。
许多实验证明了神经网络模型过度参数化,许多参数是冗余的。正确消除这些相对“不重要的”参数对模型的最终结果几乎没有影响。
稀疏模型是切割模型的参数,从而减少模型的存储和计算开销。该模型是薄而稀疏的粒度,从最小的元素到较大的通道方面。稀疏的粒径已提高了模型的准确性,从小到大,但是可以获得的相应性能优势就越大。
上面的稀疏粒径示意图从左到右粒径增加。但是,单个重量,重量矢量和单个卷积内核内核的稀疏性需要特殊适应硬件以获得相应的性能或存储收入。
由于切割输出数据通道,通道级的稀疏度等同于模型的规格。它可以在不需要特定硬件支持的情况下获得相应的性能收入。这是一个理想的选择。如前所述,稀疏通道的粒度很大,网络的准确性风险也很大。通常,需要微调。
AMCT目前支持基于重型通道的压缩特性。
通过通道的通道,通过在维护网络函数的前提下降低网络通道的数量来减少模型参数的数量。稀疏通道的实现通常包括两个步骤:第一个是通道选择,并且适当需要选择渠道组合以保留丰富的信息;然后,需要使用选定的通道重建到输出的下一层。
在Shengteng AI处理器上测试了Resnet-50网络,以执行30%的稀疏精度和30%稀疏精度和性能的性能。
在准确性方面,您可以看到不同网络对稀疏通道的敏感性不同。在RYPEN稀疏通道后,RYPEN 50%的通道比例可以保持在1%以内。
在性能方面,主要测试了Resnet-50的性能。在批处理大小= 32个方案中,频道稀疏提高了推理速度的40%。
在使用方面,开发人员还只需要调用AMCT提供的API即可配置您预期的全局稀疏速率或每一层的稀疏速率。该工具可以自动确定稀疏通道并轻松完成稀疏工作。
对于卷积神经网络,卷积层的计算量是网络运输总量的重要头部,卷积核越大,参数和计算量就越大。
张量的分解是使用数学方法通过低等级将大卷积核分解为多个小卷积核,而建设性计算量更为卷积。
以1 64*64*3*3到32*64*3*1和64*32*1*3的卷积为例,它可以减少1-(32*64*3*1+ 64*32*1*3) / 64*64*3*3 = 66.7%的计算数量,当计算结果是近似值时,这会带来更多成本效益的性能收入。
AMCT中的张力量完全考虑了上升AI处理器的硬件特性,并选择了可以为硬件计算能力提供全面发挥的卷积形式,并最大程度地减少处理费用对操作员性能的影响。
实验表明,张力的量对Shengteng AI处理器的推理速度和模型大小的优化具有非常显着的影响。
测试后,经典的CV网络分解数量后,推理时间平均减少了24.4%,模型大小降低了38.8%。Finetune后的精度几乎与分解前相当(最大损失不超过0.5%)。
就使用而言,通过AMCT提供的API,开发人员只需要调用1或2个接口(取决于框架)即可完成分解模型后原始模型和芬太加的分解。
作为释放升力硬件计算能力的关键平台,面对精确性和性能的令人尴尬的问题,Cann遵守“准确性和性能抓住双手,双手都必须很难”,始终站在视角上开发人员希望开发人员希望开发人员希望开发人员,希望开发人员,想要开发人员,想要开发人员。考虑以及开发人员。通过深层培养高级模型压缩技术,在AMCT模型压缩工具的凝聚下,在此之前确保模型的准确性,毫不费力地减少模型的存储空间和计算量。
轻轻地向前走!面对人工智能的蓬勃发展,我相信由Cann建造的隧道将减少到更广泛的应用程序场景,以使人参数量和大型AI模型和巨大的想象空间。呢
欢迎访问Shengteng社区网站以了解更多信息。