用于减少神经网络计算的运行时预测器制造技术

技术编号:37973175 阅读:8 留言:0更新日期:2023-06-30 09:48
本文公开了与减少执行人工神经网络(ANN)所需的计算次数相关的方法和系统。该方法包括在ANN执行期间进行的计算机实现的方法。该方法包括生成一组执行数据,生成ANN的一组神经网络数据的概要,生成ANN执行的一组执行数据的概要,使用该组神经网络数据的概要和该组执行数据的概要生成预测,以及执行复合计算。ANN的执行需要复合计算。该方法还包括抑制复合计算的一组分量计算。受抑制的一组分量计算至少部分由预测确定。部分由预测确定。部分由预测确定。

【技术实现步骤摘要】
用于减少神经网络计算的运行时预测器

技术介绍

[0001]机器智能系统代表了现代计算最复杂和能量密集的计算应用之一。由于人工神经网络(ANN)代表了当今使用的大部分当前机器智能系统,因此大量的研究和开发都投入到了降低ANN执行能耗的方法上。ANN接收输入张量,使用输入张量和一组网络张量进行计算,并产生输出张量。输出张量代表了网络响应输入而生成的推断。例如,如果ANN是图像分类器,则输入可以是猫图像的编码,输出向量可以是指示图像的主题是猫的推断。这些系统如此耗费资源的原因是,它们所操作的数据结构通常非常庞大,并且必须对每个数据结构执行的离散原始计算的数量也同样巨大。
[0002]机器智能系统代表了一个具有挑战性的环境,既包括所需的计算次数,也包括为执行这些计算而必须在系统的存储器和计算区域之间移动的大型数据结构。标准ANN的网络数据通常包括数十亿个离散数据条目。基于所涉及的ANN类型,网络数据可以包括权重向量、过滤向量和各种其他类型的数据。网络数据定义了ANN,并确定对于给定的输入将提供什么输出。网络数据通常被组织成层,每层的输出作为下一层的输入。在传统的ANN中,各层是完全连接的,这要求输入向量的每个元素都参与权重向量的每个元素的计算。结果涉及的计算数量非常大。此外,ANN的输入数据、ANN的网络数据以及通过执行ANN的一层而生成的用作ANN的下一层的输入的执行数据都需要保存在存储器中,直到它们用于下一层的计算。
[0003]机器智能领域中的一个发展中的研究领域涉及一些方法,在这些方法中,可以减少从ANN生成推断所需的计算量,同时仍然保持对ANN的完全执行的保真度。该领域中的方法包括基于各种因素在执行ANN时跳过ANN执行中的特定计算。例如,特定的方法涉及“辅助层”,它可以基于ANN的输入数据减少ANN执行期间的计算量。另外的方法涉及在执行之前通过删除网络执行所不需要的网络数据来修改ANN,从而产生一个不同的、修改过的ANN,该ANN可以用较少的计算来执行。这些方法通常被称为诸如“退出”和“删除”之类的术语,并且是在ANN的初始训练阶段完成的,因为正在学习给定网络的适当网络数据。

技术实现思路

[0004]本文公开了与人工神经网络(ANN)领域相关的方法和系统。所公开的方法和系统包括用于减少执行给定ANN所需的计算次数的方法。ANN的执行可能需要执行至少一个复合计算。所公开的方法和系统包括神经网络加速器或用于执行ANN的其他计算设备,其装载有经过训练的ANN,并且在保持ANN完全执行的保真度的同时,降低了执行该经过训练的ANN的计算复杂度。通过抑制必须作为ANN执行的一部分来执行的一个或多个复合计算的分量计算,可以降低ANN执行的计算复杂度。
[0005]在本专利技术的特定实施例中,提供了用于减少ANN执行中的计算的方法,这些方法的所有步骤都在运行时进行—在ANN执行期间。这些方法涉及使用ANN的神经网络数据和当前执行ANN的执行数据生成预测器。预测器指示执行数据或神经网络数据的特定部分的显著性,并且可以用于抑制涉及不太显著的神经网络数据或执行数据的计算。由此,基于对ANN
的特定输入和ANN的特性来确定所产生的计算量的减少,以产生严格适应ANN的给定执行的计算量的减少。
[0006]在本专利技术的具体实施例中,预测器是在运行时通过算法生成的。因此,不需要存储额外的“辅助层”或其他数据结构来帮助减少计算。此外,在具体实施例中,在运行时仅使用ANN的网络数据和当前执行ANN的执行数据生成预测器,不需要训练额外的网络数据来减少计算。在这些实施例中,由于计算的减少已经与训练过程完全不挂钩,所以训练网络的复杂性和时间相对于相关方法减少了。
[0007]在本专利技术的具体实施例中,ANN将由计算节点的网络执行,其中计算节点之间的网络和执行数据的移动是由网络的带宽和延迟设置的设计约束。计算节点的网络可以是一组网络化处理核心。在这些实施例中,用于抑制计算的预测器和相关装置是从已经存在于给定计算节点上的网络和执行数据中导出的,这一事实带来了显著的好处,因为不需要通过计算节点网络移动额外的数据,以提供应抑制哪些计算的指导。这与使用“辅助层”或其他数据结构来帮助确定哪些计算可以被抑制的方法形成对比,因为除了ANN本身的网络数据之外,这些辅助层和数据结构还需要通过网络路由。
[0008]在本专利技术的具体实施例中,提供了一种在ANN执行期间进行的计算机实现的方法。该方法包括生成一组执行数据,生成神经网络的一组神经网络数据的概要,生成神经网络执行的一组执行数据的概要,使用一组神经网络数据的概要和一组执行数据的概要生成预测,执行复合计算,以及抑制复合计算的一组分量计算。执行神经网络需要复合计算。受抑制的一组分量计算至少部分由预测确定。
[0009]在本专利技术的具体实施例中,提供了一种系统。该系统包括一组处理核心、通信连接处理核心的网络、跨该组处理核心存储在一组存储器上的神经网络、一组处理核心上的一组处理流水线、以及跨该组处理核心存储在该组存储器上的一组指令。当由该组处理流水线执行时,该组指令使系统执行人工网络并在人工神经网络的执行期间进行一种方法,该方法包括生成一组执行数据,生成神经网络的一组神经网络数据的概要,生成神经网络执行的一组执行数据的概要,使用该组神经网络数据的概要和该组执行数据的概要生成预测,执行复合计算,以及抑制该复合计算的一组分量计算。执行神经网络需要复合计算。该组分量计算至少部分由预测确定。
[0010]在本专利技术的具体实施例中,提供了一种在有向图的执行期间进行的计算机实现的方法。该方法包括生成一组执行数据,生成有向图的一组有向图数据的概要,生成有向图执行的一组执行数据的概要,使用一组有向图数据的概要和一组执行数据的概要生成预测,执行复合计算,以及选择性地执行复合计算的一组分量计算。基于该预测选择该组分量计算。有向图的执行需要复合计算。
附图说明
[0011]图1示出了根据本文公开的本专利技术的具体实施例的一组方法的流程图。
[0012]图2示出了根据本文公开的本专利技术的具体实施例的系统的框图。
[0013]图3示出了根据本文公开的本专利技术的具体实施例由编译器执行的一组方法的流程图。
[0014]图4示出了根据本文公开的本专利技术的具体实施例,使用预测器来确定在复合计算
中抑制哪些计算,从而减少ANN执行中的计算的概念数据流程图。
[0015]图5示出了根据本文公开的本专利技术的具体实施例,使用预测器来确定复合计算的操作数数据中的一组显著网络数据,从而减少ANN执行中的计算的概念数据流程图。
[0016]图6示出了根据本文公开的本专利技术的具体实施例,使用预测器来更准确地确定复合计算的操作数数据中的一组显著网络数据,从而减少ANN执行中的计算的概念数据流程图。
具体实施方式
[0017]本文详细公开了根据以上概述的与人工神经网络(ANN)领域相关的方法和系统。本节中公开的方法和系统是本专利技术的非限制性实施例,仅用于解释目的,并且不应该用于限制本专利技术的全部范围本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在神经网络执行期间进行的计算机实现的方法,包括:生成一组执行数据;生成所述神经网络的一组神经网络数据的概要;生成所述神经网络执行的一组执行数据的概要;使用所述一组神经网络数据的概要和所述一组执行数据的概要生成预测;执行复合计算,其中所述复合计算是所述神经网络的执行所需要的;以及抑制所述复合计算的一组分量计算,其中所述一组分量计算至少部分由所述预测确定。2.根据权利要求1所述的计算机实现的方法,其中:所述神经网络的执行需要执行一层所述神经网络;所述复合计算为执行一层所述神经网络所需要的;所述复合计算是矩阵乘法运算;所述一组分量计算是乘法运算;所述一组神经网络数据是该层神经网络的一组权重;以及所述一组执行数据是来自先前一层所述神经网络的一组输出数据。3.根据权利要求1所述的计算机实现的方法,进一步包括,迭代地:在执行所述复合计算之后,生成以下至少一个:(i)所述神经网络的附加神经网络数据集的附加概要;以及(ii)所述神经网络的附加执行数据集的附加概要;在生成所述附加概要之后,使用所述附加概要生成附加预测;执行附加复合计算;以及抑制所述附加复合计算的附加分量计算集,其中所述附加分量计算集至少部分由所述附加预测确定。4.根据权利要求1所述的计算机实现的方法,其中:使用第一采样操作生成所述一组神经网络数据的概要;以及使用第二采样操作生成所述一组执行数据的概要。5.根据权利要求4所述的计算机实现的方法,其中:所述第一采样操作和所述第二采样操作是平均池操作。6.根据权利要求1所述的计算机实现的方法,其中:使用预测器计算来生成所述预测,其中将所述一组神经网络数据的概要和所述一组执行数据的概要作为操作数;以及所述复合计算和所述预测器计算是同一类型的计算。7.根据权利要求6所述的计算机实现的方法,进一步包括:评估所述预测以确定所述复合计算的一组显著输出;其中所述一组显著输出由所述复合计算的一组显著分量计算生成;以及其中所述一组分量计算和所述一组显著分量计算是互斥的。8.根据权利要求7所述的计算机实现的方法,其中:所述评估使用top

K运算来选择所述一组显著输出。9.根据权利要求6所述的计算机实现的方法,进一步包括:评估所述预测以确定所述复合计算的一组显著输出;
使用所述一组显著输出从所述一组神经网络数据中确定一组显著神经网络数据;以及其中所述抑制抑制所述复合计算中不使用所述一组显著神经网络数据的分量计算。10.根据权利要求9所述的计算机实现的方法,其中:所述评估使用top

K运算来选择所述一组显著输出;所述一组显著神经网络数据的确定使用所述一组执行数据的概要的转置。11.根据权利要求6所述的计算机实现的方法,进一步包括:评估所述预测以确定所述复合计算的一组显著输出;使用所述一组显著输出从所述一组执行数据中确定一组显著执行数据;以及其中所述抑制抑制所述复合计算中不使用所述一组显著执行数据的分量计算。12.根据权利要求11...

【专利技术属性】
技术研发人员:L
申请(专利权)人:滕斯托伦特股份有限公司
类型:发明
国别省市:

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

1