采样器以及用于图神经网络模型执行的装置制造方法及图纸

技术编号:34777767 阅读:11 留言:0更新日期:2022-09-03 19:29
公开了一种采样器以及用于图神经网络模型执行的装置。该采样器用于完成对图神经网络模型的指定节点周围的邻居节点的随机采样,包括:随机数生成器,用于生成多个随机数;计算单元,用于执行数学运算,所述数学运算表示基于第二整数值将零与第一整数值之间的数值范围划分为多个相等的子区间,并基于所述多个随机数在所述多个子区间内获得多个第三整数值,其中,所述第一整数值表示所述指定节点周围的所有邻居节点的数量,所述第二整数值表示针对所述指定节点,要采样的邻居节点的数量;执行部件,用于从所述指定节点周围的所有邻居节点中,根据所述多个第三整数值采样部分邻居节点。本公开提供的采样器能够针对指定节点均匀采样其周围的邻居节点。采样其周围的邻居节点。采样其周围的邻居节点。

【技术实现步骤摘要】
采样器以及用于图神经网络模型执行的装置


[0001]本公开涉及人工智能领域,尤其涉及一种采样器以及用于图神经网络模型的装置。

技术介绍

[0002]近年来,深度学习模型在诸如图像分类、语音识别、自然语言处理等方面都获得了广泛的发展,并取得了一系列的成功应用。但是越来越多的现实场景中,数据是以图(Graph)的形式表示的,图不仅包含实体,也包含实体之间的依赖关系,例如社交网络、蛋白质分子结构、电商平台的客户关系等等。图1是一个示例性的社交网络关系图,如图上所示,社交网络关系图包括实体以及实体之间的依赖关系(图上采用连接边表示依赖关系)。诸如图1所示的各种图被称为图数据,图上的实体在图数据中被称为节点,与某个节点直接或间接连接的节点被称为该节点的邻居节点。
[0003]随着业界对图数据和神经学习模型的深入研究,用于处理图数据的深度学习模型开始涌现,此类深度学习模型被统称为图神经网络(Graph Neural Network,GNN)模型。
[0004]为了加速执行图神经网络模型,业界设计了专用于图神经网络模型的硬件加速单元来执行图神经网络模型,这种加速单元被称为图神经网络加速单元。同时,业界也在持续地改进图神经网络加速单元。
[0005]在图神经网络加速单元中,包括各种采样器。其中,一种典型的采样器用于完成对图神经网络模型的指定节点周围的邻居节点的随机采样,采样到的节点信息被用于构建该指定节点的嵌入表达(或称为嵌入向量)。采样器只采样指定节点的部分邻居节点信息的主要原因在于,如果采样所有邻居节点信息,则由于很多节点的邻居节点的数量会随着图阶数(或层数)等增加而呈指数级上升,从而使得这些节点的嵌入表达过于复杂,且需要占用大量的存储开销。
[0006]图2是一个现有采样器的概念示意图。参考图2,采样器200包括随机数生成器202和执行部件203。当需要针对指定节点进行采样时,外部系统将该节点的N个邻居节点的索引值提供给执行部件203。同时随机数生成器202生成K个随机数,然后执行部件203将K个随机数与该节点的N个邻居节点的索引值进行比对,以确定其中要采样的K个邻居节点,其中,N和K是大于1的正整数。但是对于这种采样器,专利技术人发现,由于K个随机数的无序状态,导致执行部件203需要一直存储N个邻居节点的索引值以备比较,而且最终得到的K个邻居节点无法确保能够均匀地分布在指定节点的周围。

技术实现思路

[0007]本公开的目的是提供一种采样器以及用于图神经网络模型执行的装置,以解决现有技术中存在的技术问题。
[0008]根据本公开实施例的第一方面,提供一种采样器,所述采样器用于完成对图神经网络模型的指定节点周围的邻居节点的随机采样,所述采样器包括:
[0009]随机数生成器,用于生成多个随机数;
[0010]计算单元,用于执行数学运算,所述数学运算表示基于第二整数值将零与第一整数值之间的数值范围划分为多个相等的子区间,并基于所述多个随机数在所述多个子区间内获得多个第三整数值,其中,所述第一整数值表示所述指定节点周围的所有邻居节点的数量,所述第二整数值表示针对所述指定节点,要采样的邻居节点的数量;
[0011]执行部件,用于从所述指定节点周围的所有邻居节点中,根据所述多个第三整数值确定要采样的邻居节点。
[0012]可选地,所述执行部件包括:
[0013]输入队列,由输入存储单元组成,用于存储所述指定节点周围的所有邻居节点的的索引值;
[0014]输出队列,由输出存储单元组成;
[0015]比较使能单元,用于将所述多个第三整数值与所述输入队列中的索引值进行比较,当与其中的第一索引值相同时,输出使能信号,通过使能信号驱动所述输出存储单元将所述输入存储单元输出的第一索引值写入到相应的输出存储单元中。
[0016]可选地,所述输入队列只包括一个输入存储单元,且所述所有邻居节点的索引值是按照从小到大的顺序在多个时钟周期被存储到所述输入存储单元中,
[0017]所述比较使能单元还包括:
[0018]针对接收到的一个新的第三整数值,在多个时钟周期内重复地将该第三整数值与所述输入存储单元内的索引值比较,只当该第三整数值与所述输入存储单元内的第一索引值相同时,才在下一个时钟周期内接收另一个新的第三整数值。
[0019]可选地,所述随机数生成器在所述多个子区间的第一个子区间生成所述多个随机数,所述计算单元将所述多个随机数映射到所述多个子区间。
[0020]可选地,所述计算单元执行公式(1)的数学运算:
[0021]sum
I
=round(random
I
+N*J/K)
ꢀꢀ
公式(1);
[0022]其中,round表示取整操作,N表示所述第一整数值,K表示所述第二整数值,sum
I
表示多个第三整数值,random
I
表示[0,N/K]之间的随机数,J∈{0,1,2,3,

,K

1},I∈{0,1,2,3,

,K

1},N和K都为大于1的正整数,且N大于K。
[0023]可选地,所述随机数生成器在每个子区间内生成一个随机数,从而得到所述多个随机数。
[0024]可选地,所述计算单元执行公式(2)的数学运算:
[0025]sum
I
=round(random
I
+N/K)
ꢀꢀ
公式(2);
[0026]其中,round表示取整操作,N表示所述第一整数值,K表示所述第二整数值,sum
I
表示多个第三整数值,random
I
表示相应子区间内的随机数,I∈{0,1,2,3,

,K

1},N和K都为大于1的正整数,且N大于K。
[0027]可选地,所述输入队列包括多个存储单元,则所述比较使能单元包括:
[0028]针对接收到的一个新的第三整数值,在多个时钟周期内重复地将该第三整数值与所述多个输入存储单元内的各个索引值比较,只有当该第三整数值与所述存储单元中的第一索引值相同后,才会在下一个时钟周期接收另一个新的第三整数值。
[0029]可选地,所述输入队列和所述输出队列均为先入先出队列。
[0030]根据本公开实施例的第二方面,提供一种处理装置,包括多个硬件实现的不同算子以执行图神经网络模型的各种指令,其中,所述算子包括上述任一项所述的采样器。
[0031]根据本公开实施例的第三方面,提供一种装置,包括:
[0032]上述的至少一个处理装置;
[0033]总线通道,用于接收图神经网络模型的各种指令;
[0034]命令处理器,用于解析所述各种指令,并将解析后的命令发送所述至少一个处理装置处理。
[0035]根据本公开实施例的第四方面,提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种采样器,所述采样器用于完成对图神经网络模型的指定节点周围的邻居节点的随机采样,所述采样器包括:随机数生成器,用于生成多个随机数;计算单元,用于执行数学运算,所述数学运算表示基于第二整数值将零与第一整数值之间的数值范围划分为多个相等的子区间,并基于所述多个随机数在所述多个子区间内获得多个第三整数值,其中,所述第一整数值表示所述指定节点周围的所有邻居节点的数量,所述第二整数值表示针对所述指定节点,要采样的邻居节点的数量;执行部件,用于从所述指定节点周围的所有邻居节点中,根据所述多个第三整数值确定要采样的邻居节点。2.根据权利要求1所述的采样器,其中,所述执行部件包括:输入队列,由输入存储单元组成,用于存储所述指定节点周围的所有邻居节点的的索引值;输出队列,由输出存储单元组成;比较使能单元,用于将所述多个第三整数值与所述输入队列中的索引值进行比较,当与其中的第一索引值相同时,输出使能信号,通过使能信号驱动所述输出存储单元将所述输入存储单元输出的第一索引值写入到相应的输出存储单元中。3.根据权利要求2所述的采样器,其中,所述输入队列只包括一个输入存储单元,且所述所有邻居节点的索引值是按照从小到大的顺序在多个时钟周期被存储到所述输入存储单元中,则所述比较使能单元还包括:针对接收到的一个新的第三整数值,在多个时钟周期内重复地将该第三整数值与所述输入存储单元内的索引值比较,只当该第三整数值与所述输入存储单元内的第一索引值相同时,才在下一个时钟周期内接收另一个新的第三整数值。4.根据权利要求1所述的采样器,其中,所述随机数生成器在所述多个子区间的第一个子区间生成所述多个随机数,所述计算单元将所述多个随机数映射到所述多个子区间。5.根据权利要求4所述的采样器,其中,所述计算单元完成公式(1)的数学运算以将所述多个随机数映射到所述多个子区间:sum
I
=round(random
I
+N*J/K)
ꢀꢀꢀ
公式(1);其中,round表示取整操作,N表示所述第一整数值,K表示所述第二整数值,sum
I
表示多个第三整数值,random
I
表示[0,N/K]之间的随机数,J∈{0,1,2,3,

,K

1},I∈{0,1,2,3,

,K

1},N和K都为大于1的正整数,且N大于K。6.根据权利要求1所述的采样器,其中,所述随机数生成器在每个子区间内生成一个随机数,从而得到所述多个随机数。7.根据权利要求6所述的采样器,其中,所述计算单元执行公式(2)的...

【专利技术属性】
技术研发人员:关天婵王艳红李双辰刘恒郑宏忠
申请(专利权)人:阿里巴巴新加坡控股有限公司
类型:发明
国别省市:

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

1