用于深度神经网络的混合精度量化策略确定方法和系统技术方案

技术编号:28748678 阅读:31 留言:0更新日期:2021-06-06 19:10
本发明专利技术涉及深度神经网络的量化推理,具体提供一种用于深度神经网络的混合精度量化策略确定方法和系统,旨在解决现有方法不能针对特定神经网络模型准确地自动筛选出最佳混合精度量化策略的问题。为此目的,本发明专利技术的方法包括:设定深度神经网络的推理精度阈值和推理时间阈值;确定硬件能够支持的多个不同的量化精度;用每一种量化精度迭代所有层并记录每次迭代的实际推理精度和实际推理时间,针对每一层筛选出实际推理精度大于推理精度阈值且实际推理时间小于推理时间阈值的所有量化精度;将筛选出的量化精度的组合中的一个确定为最终的混合精度量化策略。使用本发明专利技术的方法可以简单快速地完成最佳量化策略的搜索,极大地减少人力和降低时间成本。少人力和降低时间成本。少人力和降低时间成本。

【技术实现步骤摘要】
用于深度神经网络的混合精度量化策略确定方法和系统


[0001]本专利技术涉及深度神经网络的量化推理,具体提供一种用于深度神经网络的混合精度量化策略确定方法和系统。

技术介绍

[0002]人工神经网络(Artificial Neural Network,ANN)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。深度神经网络(Deep Neural Network,DNN)是指内部包含多个层的神经网络,其是机器学习(ML,Machine Learning)领域中的一种重要技术。
[0003]与深度神经网络相关的操作包括训练、推理和量化。训练是指向深度神经网络中输入足够多的样本,通过一定算法来调整网络结构(主要是调节权值),使深度神经网络的输出与预期值相符。推理是指将一个预先训练好的深度神经网络模型部署到实际业务场景中,如图像分类、物体检测、在线翻译等。由于推理直接面向用户,因此,推理性能至关重要,尤其对于企业级产品而言更是如此。为此,通过压缩模型尺寸来提高运算速度就变成一种实际的需求,而量化就是一种典型的模型压缩方法,其是通过将浮点参数转化为定点参数来降低运算精度并因此压缩模型和提升运算速度。
[0004]在现有的深度神经网络的训练和推理过程中,普遍使用较高精度(如32bit双精度,16bit单精度)进行推理。但是,在实际场景应用中,往往对神经网络的推理速度有较高的要求。由于终端设备的算力限制,为了实现低功耗低延迟,常常使用更低的精度(8bit或更小)进行推理。然而,在神经网络的推理过程中使用较低精度进行推理会导致较高的精度损失,从而导致较大的结果误差,导致神经网络的精度下降。
[0005]为了解决上述问题,现有技术中已经出现了通过混合精度来量化神经网络的方法,即,筛选出神经网络中个别导致精度下降的层,单独提高这些层的推理精度,而对其他层依然使用低精度的算法进行推理。然而,在实际的神经网络中,由于同一层内或不同层之间的计算的相互影响和关联,很难通过经验确定最佳的混合精度最优策略,即,很难精准地筛选出精度下降的层和对精度下降的层选择合适的量化精度。
[0006]为此,中国专利申请CN112183742A公开了一种基于渐进式量化和Hessian信息的神经网络混合量化方法,该方法的步骤包括:给定图像标签对集合,划分样本集和校准集;定义神经网络每层可选的量化精度范围;随机选择量化层做降bit量化,重复采样n次,得到n个基础的混合精度模型;以校准集中的图像标签对作为输入,对所有候选的混合精度神经网络模型进行一次前向过程;利用Adam二阶Momentum信息计算Hessian近似值;再计算性能评价指标,将n个指标排序,选择最小值对应混合精度策略作为当前步次下性能最好的混合精度组合,计算模型的计算成本,再对当前的混合精度网络模型做训练;迭代至满足结束条件。上述方法虽然摆脱了对人工经验的依赖,但是,其在对每个网络层进行量化时采用了随机采样的方式,并且用随机采样的量化结果直接被用于构建混合精度模型,使得后续通过
性能评价指标选定的精度组合未必能准确对应于整个网络模型的最佳精度和运算速度。
[0007]因此,本领域仍然需要一种新的方法来解决混合精度量化策略的自动筛选和确定问题。

技术实现思路

[0008]为了解决现有技术中的上述问题,即,为了解决现有方法不能针对特定神经网络模型准确地自动筛选出最佳混合精度量化策略的问题,本专利技术提供了一种用于深度神经网络的混合精度量化策略确定方法,其特征在于,所述方法包括下列步骤:设定所述深度神经网络的推理精度阈值和推理时间阈值;确定运行所述深度神经网络的硬件能够支持的多个不同的量化精度;在将测试数据输入所述深度神经网络进行推理的过程中,用每一种量化精度迭代所述深度神经网络的所有层并记录每次迭代时所述深度神经网络的实际推理精度和实际推理时间,针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;将针对所有层筛选出的量化精度的多个不同组合中的一个确定为所述混合精度量化策略。
[0009]在上述用于深度神经网络的混合精度量化策略确定方法的优选实施方式中,“用每一种量化精度迭代所述深度神经网络的所有层”的步骤具体包括:在用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的每一层分别进行推理。
[0010]在上述用于深度神经网络的混合精度量化策略确定方法的优选实施方式中,“用每一种量化精度迭代所述深度神经网络的所有层并记录每次迭代时所述深度神经网络的实际推理精度和实际推理时间,针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度”的步骤具体包括:在用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的第一层分别进行推理,并记录每次推理的实际推理精度和实际推理时间;针对第一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;在将第一层的量化精度固定为筛选出的最低量化精度并用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的第二层进行推理,并记录每次推理的实际推理精度和实际推理时间;针对第二层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;以此类推,迭代所述深度神经网络的所有层,最终针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度。
[0011]在上述用于深度神经网络的混合精度量化策略确定方法的优选实施方式中,“将针对所有层筛选出的量化精度的多个不同组合中的一个确定为所述混合精度量化策略”的步骤具体包括:用针对所有层筛选出的量化精度的多个不同组合中的每一个分别对所述深度神经网络进行推理,并记录每次推理的实际推理精度和实际推理时间;筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的一个或多个组合,作为所述混合精度量化策略。
[0012]在上述用于深度神经网络的混合精度量化策略确定方法的优选实施方式中,当筛选出的组合为一个时,将筛选出的一个组合直接作为所述混合精度量化策略;并且/或者当
筛选出的组合为多个时,将筛选出的多个组合中选定一个作为所述混合精度量化策略。
[0013]在另一个方面,本专利技术还提供了一种用于深度神经网络的混合精度量化策略确定系统,其特征在于,所述系统包括:阈值设定模块,其用于设定所述深度神经网络的推理精度阈值和推理时间阈值;量化精度确定模块,其用于确定运行所述深度神经网络的硬件能够支持的多个不同的量化精度;混合精度策略确定模块,其在将测试数据输入所述深度神经网络进行推理的过程中,用每一种量化精度迭代所述深度神经网络的所有层并记录每次迭代时所述深度神经网络的实际推理精度和实际推理时间,针对每一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于深度神经网络的混合精度量化策略确定方法,其特征在于,所述方法包括下列步骤:设定所述深度神经网络的推理精度阈值和推理时间阈值;确定运行所述深度神经网络的硬件能够支持的多个不同的量化精度;在将测试数据输入所述深度神经网络进行推理的过程中,用每一种量化精度迭代所述深度神经网络的所有层并记录迭代时所述深度神经网络的实际推理精度和实际推理时间,针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;将针对所有层筛选出的量化精度的多个不同组合中的一个确定为所述混合精度量化策略。2.根据权利要求1所述的混合精度量化策略确定方法,其特征在于,“用每一种量化精度迭代所述深度神经网络的所有层”的步骤具体包括:在用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的每一层分别进行推理。3.根据权利要求1所述的混合精度量化策略确定方法,其特征在于,“用每一种量化精度迭代所述深度神经网络的所有层并记录每次迭代时所述深度神经网络的实际推理精度和实际推理时间,针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度”的步骤具体包括:在用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的第一层分别进行推理,并记录每次推理的实际推理精度和实际推理时间;针对第一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;在将第一层的量化精度固定为筛选出的最低量化精度并用最高量化精度对其他层进行推理的前提下,用每一种量化精度对所述深度神经网络的第二层进行推理,并记录每次推理的实际推理精度和实际推理时间;针对第二层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度;以此类推,迭代所述深度神经网络的所有层,最终针对每一层筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的所有量化精度。4.根据权利要求1所述的混合精度量化策略确定方法,其特征在于,“将针对所有层筛选出的量化精度的多个不同组合中的一个确定为所述混合精度量化策略”的步骤具体包括:用针对所有层筛选出的量化精度的多个不同组合中的每一个分别对所述深度神经网络进行推理,并记录每次推理的实际推理精度和实际推理时间;筛选出实际推理精度大于所述推理精度阈值且实际推理时间小于所述推理时间阈值的一个或多个组合,作为所述混合精度量化策略。5.根据权利要求4所述的混合精度量化策略确定方法,其特征在于,当筛选出的组合为一个时,将筛选出的一个组合直接作为所述混合精度量化策略;并且/或者当筛选出的组合为多个时,将筛选出的多个组合中选定的一个作为所述混合精度量化策略。
6.一种用于深度神经网络的混合精度量化策略确定系统,其特征在于,所述系统包括:阈值设定模块,其用于设定所述深度神经网络的推理精度阈值和推理时间阈值;量化精度确定模块,其用于确定运行所述深度神经网络的硬件能够支持的多个不同的量化精度;混合精...

【专利技术属性】
技术研发人员:王浩然梁俊文
申请(专利权)人:云从科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1