当前位置: 首页 > 专利查询>英特尔公司专利>正文

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

技术编号:37848231 阅读:11 留言:0更新日期:2023-06-14 22:34
提供一种使用NEMO搜索来训练可以用于DNN的混合精度量化的GNN的装置。例如,该装置生成多个GNN。该装置还基于多个GNN生成多个新GNN。该装置还生成第一DNN的序列图形。第一DNN包括可量化操作的序列,各个可量化操作包括可量化参数并且由序列图形中的不同节点来表示。该装置将序列图形输入到该GNN和新GNN中,并且基于用于降低第一DNN的可量化参数的精度的冲突目标来评估该GNN和新GNN的输出。然后,该装置基于评估从该GNN和新GNN中选择GNN。GNN将用于降低第二DNN的可量化参数的精度。低第二DNN的可量化参数的精度。低第二DNN的可量化参数的精度。

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


[0001]本公开总体上涉及深度神经网络(DNN,deep neural network),更具体地,涉及将神经进化增强多目标优化(NEMO,Neuroevolutionary

Enhanced Multi

objective Optimization)用于DNN的混合精度量化。

技术介绍

[0002]DNN接收输入,向输入中的各个方面/对象分配重要性(可学习的权重和偏置),并且生成输出。DNN广泛用于从计算机视觉到语音识别和自然语言处理的各种各样的人工智能应用。然而,许多DNN太大而无法被装配在具有有限计算资源的系统中,例如具有有限的存储器或有限的处理能力的系统中。
附图说明
[0003]通过以下结合附图的详细描述,将容易理解各实施例。为了便于描述,相似的附图标记表示相似的结构元素。在附图的图中,实施例以示例而非限制的方式来示出。
[0004]图1示出了根据各种实施例的示例DNN的架构。
[0005]图2示出了根据各种实施例的深度学习(DL,deep learning)环境。
[0006]图3是根据各种实施例的DNN系统的框图。
[0007]图4是根据各种实施例的压缩模块的框图。
[0008]图5示出了根据各种实施例的DNN的序列图形。
[0009]图6示出了根据各种实施例的NEMO搜索过程中的后代生产。
[0010]图7示出了根据各种实施例的在NEMO搜索过程中形成的示例帕累托(Pareto)边界。
[0011]图8示出了根据各种实施例的NEMO搜索过程中的新一代的形成。
[0012]图9示出了根据各种实施例的使用图神经网络(GNN,graph neural network)进行混合精度量化的过程。
[0013]图10是示出根据各种实施例的优化混合精度量化的多个目标的方法的流程图。
[0014]图11是根据各种实施例的示例计算设备的框图。
具体实施例
[0015]概述
[0016]模型量化是一种广泛使用的技术,用于在各种各样的硬件平台上压缩和加速DNN。在许多实时机器学习应用(例如,机器人、自动驾驶和移动虚拟/增强现实)中,DNN受到延迟、能量和模型大小的限制。已经开发了各种技术来提高硬件效率,例如设计高效模型、修剪滤波器、将权重和激活(activation)量化为低精度等。许多量化方法对所有层应用相同的位宽精度,但是由于不同层具有不同的冗余并且在硬件上的行为不同(计算有界或存储器有界),因此有必要对不同的层使用混合精度。混合精度量化是一种强大的工具,用于通
过对分离的计算操作部署不同的位宽精度集来实现神经网络工作负载的存储器和计算节省。
[0017]神经网络的混合精度量化是一种用于为整个模型架构中的不同操作指定一组异构计算精度的技术。这种类型的量化能够在更重要的层上实现更高的精度并且在不太重要的层上实现更低的精度,以提高计算效率。由于每当在任何硬件系统上执行计算时,需要指定计算的精度,因此降低计算精度是一种强大的压缩工具。
[0018]具有这种能力对于在张量的集合上具有大量数值运算的大型DNN工作负载可能很重要。可以通过使用π执行计算来说明不同精度级别的影响,π是具有无限位数的无理数。以数学常数π为例,在“精度”(四舍五入)为1时:π=3;“精度”为2时:π=3.1;“精度”为4时:π=3.142;“精度”为8时:π=3.1415927,依此类推。因此,在假设使用相同的编码协议的情况下,对于更高的精度,需要更大的位宽(即,更大数量的位)。调整到较低的精度有利于实现更快的计算和更低的存储器需求,但是精度较低(例如,3*6=18比3.1415927*6=18.849556更容易计算,但是精度也更低)。我们可以应用类似但更复杂的过程来降低主要由矩阵运算组成的神经网络架构的精度。
[0019]在大多数情况下,神经网络将以32位浮点精度(称为fp32)进行训练。然后,在实际硬件上部署神经网络时,对较低精度的值进行量化,以实现更快的计算、更低的功率需求和更低的存储。然而,鉴于针对神经网络中各个操作,组合的搜索呈指数式增长,因此找到有效的混合精度量化配置具有挑战性。
[0020]例如,经典的多目标搜索依赖于无参数方法。在需要100个不同决策的搜索中,该算法直接输出100个不同的数字。然而,这种表示方法可能不是所有问题的最佳选择,特别是对于神经网络架构。因此,需要可以优化多个目标的混合精度量化的改进技术。
[0021]本专利技术的实施例涉及将DNN的逐层混合精度量化公式化为多目标搜索问题的系统。在一些实施例中,通过使用GNN来创建和分析DNN工作负载的基于图形的嵌入(例如,序列图形)。例如,DNN工作负载中的每个可量化操作(例如,卷积或激活)通过DNN的序列图形中的节点来表示。GNN是通过聚合图形输入数据中各个邻域间的信息来有效地处理基于图形的数据的神经网络。本专利技术包括用于训练GNN的NEMO搜索框架。训练的GNN可以用于DNN的混合精度量化。例如,通过使用NEMO搜索框架找到一组帕累托(Pareto)最优解,然后对子集精度映射进行微调。通过将GNN集成到NEMO搜索框架中,可以利用DNN工作负载的固有的基于图形的结构中的邻域依赖性。训练的GNN可以接收DNN的序列图形作为输入,并输出权重和激活的逐层位宽,其可以用于执行DNN的混合精度量化。
[0022]在本专利技术的示例中,生成NEMO搜索框架的群体(population)。群体包括多个种类(species)。每个种类包括许多成员。每个成员包含混合精度量化问题及其结果性能的配置。数字指示种类的大小。种类的大小可以通过NEMO搜索框架来算法分配。群体可以包括具有不同架构的GNN种类。在一个实施例中,群体包括两个GNN种类:图形卷积网络(GCN,graph convolutional network)种类、以及图形U

Net种类。每个GNN种类中的成员具有不同的内部参数。群体还可以包括其他种类,例如直接对位宽进行搜索的搜索种类。在其他实施例中,群体可以包括更少、更多或不同的种类。对群体执行NEMO搜索过程。
[0023]NEMO搜索过程是训练GNN的过程,即确定GNN的内部参数,其可以用于优化混合精度量化的多个目标。多个目标包括例如最大化任务性能、最小化模型大小、最小化计算复杂
度、混合精度量化的其他类型的目标、或者它们的一些组合。在一些实施例中,NEMO搜索过程包括一个或多个代。代始于各个种类,各个种类产生后代,这增加了各个种类的成员数量。接下来,计算效用指标,以针对目标评估成员的性能。从效用指标识别帕累托最优集(“帕累托边界”)。然后选择每个种类中性能最好的成员作为下一代的成员。未被选择的成员将不会用在下一代中。在下一代中,成员将产生新的后代,将生成新的帕累托最优集,并且将选择性能最好的成员生成另一代,以此类推本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于优化混合精度量化的多个目标的方法,所述方法包括:生成多个图形神经网络(GNN);基于所述多个GNN生成多个新GNN;生成第一DNN的序列图形,所述第一DNN包括可量化操作的序列,各个可量化操作包括可量化参数并且由所述序列图形中的不同节点来表示;将所述序列图形输入到所述多个GNN和所述多个新GNN中;基于用于降低所述第一DNN的可量化参数的精度的冲突目标,评估所述多个GNN和所述多个新GNN的输出;以及基于所述评估,从所述多个GNN和所述多个新GNN中选择GNN,所述GNN将用于降低第二DNN的可量化参数的精度。2.根据权利要求1所述的方法,其中,所述多个GNN包括第一种类的GNN和第二种类的GNN,所述第一种类中的GNN具有第一神经元架构,所述第二种类中的GNN具有与第一神经元架构不同的第二神经元架构。3.根据权利要求2所述的方法,其中,所述第一种类中的GNN具有不同的内部参数。4.根据权利要求1

3中任一项所述的方法,其中,基于所述多个GNN生成多个新GNN包括:基于所述多个GNN的内部参数,生成新内部参数;以及基于所述新内部参数和所述多个GNN的神经元架构,形成所述多个新GNN。5.根据权利要求1

3中任一项所述的方法,其中,评估所述多个GNN和所述多个新GNN的输出包括:基于所述多个GNN和所述多个新GNN在实现所述冲突目标方面的性能,从所述多个GNN和所述多个新GNN生成帕累托最优集,其中,所述帕累托最优集包括所述多个GNN和所述多个新GNN中的一个或多个GNN。6.根据权利要求1

3中任一项所述的方法,其中,所述GNN被配置为接收所述第二DNN的序列图形作为输入,并且输出针对所述第二DNN中的每个对应层的位宽概率分布,所述位宽概率分布包括多个概率,所述多个概率中的各个概率对应不同位宽。7.根据权利要求6所述的方法,其中,基于所述多个概率从所述位宽概率分布选择位宽,所述位宽将用于降低所述第二DNN中的对应层的可量化参数的精度。8.根据权利要求1

3中任一项所述的方法,其中,所述序列中的可量化操作包括卷积,所述可量化操作的可量化参数包括权重。9.根据权利要求1

3中任一项所述的方法,其中,所述序列中的可量化操作包括激活函数,所述可量化操作的可量化参数包括激活。10.根据权利要求1

3中任一项所述的方法,其中,所述多个目标是从由最大化DNN的任务性能、最小化DNN的模型大小、以及最小化DNN的计算复杂度组成的组中选择的。11.一个或多个非暂时性计算机可读介质,存储有指令,所述指令能够执行以执行用于优化混合精度量化的多个目标的操作,所述操作包括:生成多个图形神经网络(GNN);基于所述多个GNN生成多个新GNN;生成第一DNN的序列图形,所述第一DNN包括可量化操作的序列,各个可量化操作包括
可量化参数并且由所述序列图形中的不同节点来表示;将所述序列图形输入到所述多个GNN和所述多个新GNN中;基于用于降低所述第一DNN的可量化参数的精度的冲突目标,评估所述多个GNN和所述多个新GNN的输出;以及基于所述评估,从所述多个GNN和所述多个新GNN中选择GNN,所述GNN将用于降低第二DNN的可量化参数的精度。12.根据权利要求11所述的一个或多个非暂时性计算机可读介质,其中,所述多个GNN包括第一种类的GNN和第二种类的GNN,所述第一种类中的GNN具有第一神经元架构,所述第二种类中的GNN具有与第一神经元架构不同的第二神经元架构。13.根据权利要求12所述的一个或多个非暂时性计算机可读介质,其中,所述第一种类中的GNN具有不同的内部参数。14.根据权利要求11

13中任一...

【专利技术属性】
技术研发人员:圣地亚哥
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1