使用访问请求响应动态批处理组件的图形执行制造技术

技术编号:35258736 阅读:22 留言:0更新日期:2022-10-19 10:17
本发明专利技术公开了用于加速执行有向图的方法和系统。所述执行可以涉及从提供给人工神经网络的一组输入中生成推理。在具体的示例中,用于执行有向图的方法包括接收至少两批索引。当批量索引用于访问一组嵌入时,提供至少两批嵌入输出,并执行所述有向图的一层。所述方法还包括使用所述至少两批索引访问所述一组嵌入。所述方法还包括基于所述访问步骤的一组延迟,将所述至少两批嵌入输出重新排列到至少两批或重新排列的嵌入中。所述方法还包括向所述有向图的后续层提供所述至少两批重新排列的嵌入。入。入。

【技术实现步骤摘要】
使用访问请求响应动态批处理组件的图形执行


[0001]本专利技术涉及与有向图的加速执行领域相关的方法和系统,尤其涉及使用访问请求响应动态批处理组件的图形执行。

技术介绍

[0002]最近机器智能系统性能的激增并不是因为革命性的新算法的发展。事实上,如今机器智能应用中使用的核心算法源于一系列已有半个多世纪历史的工作。相反,硬件和软件的改进以高效的方式实现了机器智能算法,这推动了最近机器智能系统性能的激增。曾经计算量过大,即使是最复杂的计算机也无法以有用的方式实现的算法,现在可以在单个用户的智能手机上用专门的硬件执行。硬件和软件的改进有多种形式。例如,传统上用于处理用于为计算机图形绘制多边形的向量的图形处理单元,已经以有效的方式重新调整用途,以操纵机器智能过程中使用的数据元素。作为另一个示例,某些类别的硬件从一开始就被设计出来,通过使用诸如脉动阵列之类的专用处理元件来实现机器智能算法。进一步的进展集中在使用晶体管和存储元件的集合,直接在硬件中模拟传统人工神经网络(ANN)中神经元的行为。毫无疑问,机器智能领域已经从这些改进中受益匪浅。然而,尽管人们对这些方法有着浓厚的兴趣,机器智能系统仍然代表着现代计算和能源密集型计算应用之一,并呈现出一个有待进一步发展的领域。
[0003]机器智能应用程序如此消耗资源的原因是,所操作的数据结构通常非常大,并且必须在每个数据结构上执行的离散原始计算的数量同样巨大。传统的人工神经网络接收输入向量,使用输入向量和一组权重向量进行计算,并生成输出向量。权重向量组中的每个权重向量通常被称为网络的一层,而且每一层的输出作为下一层的输入。在传统网络中,各层是完全连接的,这要求输入向量的每个元素都与权重向量的每个元素进行计算。因此,所涉及的计算数量随着每层大小的幂律关系而增加。此外,机器智能算法的这一方面使得它们难以并行化,因为每一层的计算都依赖于前一层的输出。
[0004]现代人工神经网络进一步加剧了前段提到的问题。现代人工神经网络方法在行业和文献中通常被称为“深度学习”方法。这通常指的是涉及的大量层,或一层的输出与其他层的输入之间关系的复杂性。例如,在现代深度学习人工神经网络中,下游层的输出可以反馈给前一层,从而在整体计算中添加递归元素。层的增加,以及层间递归关系带来的额外复杂性,都增加了实现现代人工神经网络所需的计算资源。
[0005]图1示出了电影推荐引擎的有向图100。有向图的执行需要输入,输入包括用户之前观看的电影,以及输出,输出包括推荐给用户观看的电影。有向图100是具有嵌入部分101和单独的神经网络部分102的人工神经网络。嵌入是下一段中描述的数学构造。嵌入部分实现嵌入,但除此以外可以具有与神经网络部分相同的一般组成。有向图100的输入包括对特定用户观看的所有电影进行编码的输入张量X,以及对关于用户的个人信息(例如他们的年龄和居住国)进行编码的输入张量Y。输入张量X被提供给嵌入部分101,而输入张量Y被提供给单独的神经网络部分102。单独的神经网络部分102还接收嵌入部分101的输出。有向图
100的输出是为用户编码电影推荐的输出张量Z。图形输出可以被称为有向图生成的推理,因为机器智能系统基于用户之前观看的内容有效地推断用户想要观看的内容。
[0006]有向图100的边表示执行该图必须进行的计算。有向图中的顶点形成一组层,其中包括层103、104、105和106。在单独的神经网络部分102中,计算是一组权重和来自前一层的值之间的乘法,并且每个边与将在计算中使用的唯一权重值相关联。例如,边114表示权重w
n
和输入值115之间的乘法。元素116的值是一组相同运算的总和,运算涉及层112的所有元素以及一组权重值,权重值唯一对应于通向元素116的每条边的起始顶点。在嵌入部分101中,神经网络100包括将在输入张量X中识别的电影分组到三维嵌入空间中的嵌入。N维空间的大小由层103中的顶点数量设置。输入张量X是一个非常大的张量,系统已知的每部电影都有一行。张量X中的“1”值表示用户已选择观看电影,“0”值表示用户从未观看过电影。因此,嵌入部分101的执行涉及访问嵌入以获得输入张量X中具有“1”值的每个元素的三维值。如本文所用,术语“嵌入”指的是嵌入空间和描述输入值与输入值在该嵌入空间中的位置的关系的函数,而术语“访问嵌入”指的是在给定输入值的情况下获得嵌入空间中的位置的动作。输入值可以称为“嵌入输入”,而且N维嵌入空间中的位置可以称为“嵌入输出”。传统的嵌入空间基于与嵌入空间相关联的每个维度相关联的共享特征来对嵌入输入进行分组。一个直观的嵌入空间维度示例可以包括电影中暴力程度的一个维度,移动时间的一个维度,以及电影预算的一个维度。因此,在嵌入空间内位置相近的电影在这组维度上会表现出类似的特征。在人工神经网络中,维度不像本例中那样直观,因为人工神经网络反而会根据人工神经网络生成准确推断所需的最佳配置对嵌入输入进行分组。
[0007]有向图100的执行涉及由计算引擎进行的许多计算,以及从存储器中获得这些计算的值所需的大量伴随的存储器访问。在图中,垂直方向上使用点来表示有向图中涉及的大量重复。此外,有向图100表示一个相对简单的人工神经网络,因为现代人工神经网络可以包括更多的层,这些层之间的相互关系要复杂得多。此外,在一些现代人工神经网络中,输入向量X可以是数十亿个单位(例如,从万维网上所有已知网页中选择的用户访问过的每个网页的编码)。尽管没有用有向图100说明,但一层的输出可以循环回前一层的输入,以形成通常称为递归神经网络(RNN)的东西。机器智能系统拥有众多的元素,具有高度的灵活性,加上层次数量的增加及其相互关系的复杂性,使得机器智能系统在未来不太可能降低复杂性。

技术实现思路

[0008]本专利技术公开了与有向图的加速执行领域相关的方法和系统。具体公开的实施例涉及有向图的加速执行,所述有向图涉及从提供给人工神经网络(ANN)的一组输入生成推理。具体公开的实施例涉及至少一个处理器或计算节点网络对有向图的加速执行。在具体公开的实施例中,计算节点网络包括多核处理器,其中计算节点为多核处理器中的处理核心。
[0009]在本专利技术的具体实施例中,提供了一种用于执行有向图的方法。所述方法包括接收至少两批索引。当用于访问一组嵌入时,所述批量索引可以用于执行所述有向图的一层。当用于访问所述一组嵌入时,所述批量索引可以用于提供至少两批嵌入输出,所述嵌入输出对应于所述至少两批索引。所述方法还包括使用所述至少两批索引访问所述一组嵌入。所述方法还包括基于所述访问步骤的一组延迟,将所述至少两批嵌入输出重新排列为至少
两批重新排列的嵌入输出。所述方法还包括向所述有向图的后续层提供所述至少两批重新排列的嵌入输出。
[0010]在本专利技术的具体实施例中,提供了一种用于执行有向图的方法。所述方法包括接收至少两批索引。当用于访问一组嵌入时,所述至少两批索引:提供至少两批嵌入输出,所述嵌入输出对应于所述至少两批索引;并执行所述有向图的一层。所述方法还包括使用所述至少两批索本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于执行有向图的方法,其中每个步骤由至少一个处理器执行,包括:接收至少两批索引,其中当用于访问一组嵌入时,所述至少两批索引:(i)提供至少两批嵌入输出,所述嵌入输出对应于所述至少两批索引;以及(ii)执行所述有向图的一层;使用所述至少两批索引访问所述一组嵌入;基于所述访问步骤的一组延迟,将所述至少两批嵌入输出重新排列为至少两批重新排列的嵌入输出;和向所述有向图的后续层提供所述至少两批重新排列的嵌入输出。2.根据权利要求1所述的方法,其中:所述一组嵌入的所述访问,使用所述至少两批索引执行所述有向图的所述一层的次数,等于所述至少两批索引中的批数;和执行所述向所述有向图的后续层提供所述至少两批重新排列的嵌入的次数是所述有向图执行次数的一部分。3.根据权利要求1所述的方法,其中:所述重新排列基于所述一组延迟,所述重新排列的嵌入输出是在访问所述一组嵌入输出中的单个条目时动态形成的。4.根据权利要求1所述的方法,其中:使用计算节点网络执行所述有向图;所述至少一个处理器包括所述计算节点网络中的至少一个计算节点;所述重新排列步骤由所述计算节点网络中的第一计算节点执行;所述访问步骤包括向所述第一计算节点提供所述重新排列的嵌入输出;所述访问步骤的所述一组延迟包括所述第一计算节点等待所述一组嵌入输出的一组时间;和所述重新排列基于所述一组延迟,所述重新排列的嵌入输出在所述一组嵌入输出中的单个条目提供给所述第一计算节点时动态形成。5.根据权利要求1所述的方法,其中:所述重新排列基于使用所述延迟的估计值的所述一组延迟;和所述延迟的所述估计值在所述访问所述一组嵌入步骤之前存储。6.根据权利要求1所述的方法,其中:所述有向图是深度学习推荐引擎;所述至少两批索引中的第一批包括至少两组用户特定的索引;所述有向图的所述后续层是所述深度学习推荐引擎中的神经网络层;所述至少两批重新排列的嵌入输出中的第二批包括至少两组用户特定的嵌入;和由第一批表示的第一组用户与由第二批表示的第二组用户不同。7.根据权利要求1所述的方法,其中:所述至少两批索引中的所述批次包括至少两组特定推理的索引;所述至少两批重新排列的嵌入输出中的所述批次包括至少两组特定推理的嵌入;和从所述至少两组特定推理的索引生成的第一组推理不等于从所述至少两组特定推理的嵌入输出生成的第二组推理。8.根据权利要求1所述的方法,还包括:
响应于所述向所述有向图的所述后续层提供至少两批重新排列的嵌入输出,从所述有向图的输出层接收至少两批推理;和基于所述至少两批索引的原始组成,将所述至少两批推理重新排列为至少两批重新排列的推理。9.根据权利要求1所述的方法,其中:使用计算节点网络执行所述有向图;所述计算节点网络包括第一计算节点和第二计算节点;在所述第一计算节点处接收所述至少两批索引;所述重新排列步骤由所述第一计算节点执行;和使用所述第一计算节点和所述第二计算节点执行所述一组嵌入的所述访问步骤。10.根据权利要求9所述的方法,其中:所述计算节点网络是多核处理器的片上网络;和所述计算节点网络中的计算节点是所述多核处理器的处理核心。11.根据权利要求10所述的方法,其中:所述第一计算节点是嵌入查找编排器核心;所述提供和接收步骤由所述第一计算节点使用所述片上网络执行;所述第二计算节点是存储与索引相关的嵌入输出的嵌入缓存核心。12.根据权利要求1所述的方法,还包括:响应于所述向所述有向图的所述后续层提供所述至少两批重新排列的嵌入输出,从所述有向图的输出层接收至少两批推理;其中,使用计算节点网络执行所述有向图;其中,在所述计算节点网络的第一计算节点处接收所述至少两批索引;其中,所述重新排列步骤和所...

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

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

1