图神经网络加速器、方法和装置制造方法及图纸

技术编号:37637372 阅读:9 留言:0更新日期:2023-05-25 10:04
本公开提供一种用于加速图神经网络节点属性获取的加速器、计算机系统和方法。加速器包括:图结构处理器,被配置为根据图的根节点获取多个候选节点,以在根节点上进行图神经网络处理;图神经网络采样器,被配置为基于来自图结构处理器的多个候选节点生成采样图节点;图神经网络属性处理器,被配置为获取从图神经网络采样器接收的采样图节点的属性数据,以在根节点上进行图神经网络处理。本公开提高了图神经网络采样效率和整体图神经网络处理性能。神经网络采样效率和整体图神经网络处理性能。神经网络采样效率和整体图神经网络处理性能。

【技术实现步骤摘要】
图神经网络加速器、方法和装置


[0001]本公开总体上涉及加速图神经网络(graph neural network,GNN)计算,尤其涉及一种通过提供内置负采样功能加速图神经网络运算的硬件加速器、计算机系统和方法。

技术介绍

[0002]到目前为止,阻碍图神经网络在工业应用中被广泛采用的挑战之一是难以将其扩展到大型图(large graphs)上。例如,一个大小合理的社交媒体可能表示为有数亿个节点和数十亿条边的图,其中每个节点或边可能都有属性数据,需要在图神经网络计算期间存储和访问这些属性数据。然而,通过计算图中所有节点的特征表示来训练图神经网络可能成本太高,有时不切实际。为了解决这个具有伸缩性的问题,人们研究了采样方法,以减少图神经网络中要计算的数据量。

技术实现思路

[0003]本公开的各种实施例可包括用于加速图神经网络采样效率的硬件加速器、系统和方法。
[0004]本公开的一个目的是实现提高图神经网络采样效率的加速器。
[0005]根据本公开的一个方面,提供了一种用于加速图神经网络采样效率的加速器。所述加速器可以包括:图结构处理器,被配置为根据图的第一根节点获取多个候选节点,以在所述第一根节点上进行图神经网络处理;图神经网络采样器,被配置为基于来自所述图结构处理器的所述多个候选节点生成采样图节点;图神经网络属性处理器,被配置为获取从所述图神经网络采样器接收的所述采样图节点的属性数据,以便在所述第一根节点上进行图神经网络处理。
[0006]在一些实施例中,所述多个候选节点在所述第一根节点的k阶邻域内,k是距所述第一根节点的预设距离。
[0007]在一些实施例中,所述图神经网络采样器包括:正采样器,被配置为从所述多个候选节点中采样一个或多个第一正节点,将所述一个或多个第一正节点发送到所述图神经网络属性处理器,以获取对应的属性数据;以及负采样器,被配置为从所述图中除所述多个候选节点之外的多个节点中采样一个或多个临时负节点,将所述一个或多个临时负节点发送回所述图结构处理器,以基于所述一个或多个临时负节点进行另一轮正采样。
[0008]在一些实施例中,所述图神经网络属性处理器还被配置为:获取所述一个或多个第一正节点的属性数据以训练神经网络来生成所述第一根节点的特征表示,所述训练包括最小化所述第一根节点的特征表示与所述一个或多个第一正节点的特征表示之间的特征距离,其中基于所述一个或多个第一正节点的属性数据确定所述一个或多个第一正节点的特征表示。
[0009]在一些实施例中,所述图结构处理器还被配置为:对于所述一个或多个临时负节点中的每一个临时负节点,获取所述临时负节点的多个候选节点,所述多个候选节点在所
述临时负节点的第1至k阶邻域内,k是距所述临时负节点的预设距离。
[0010]在一些实施例中,所述图神经网络采样器还被配置为:从所述临时负节点的所述多个候选节点中采样一个或多个第二正节点。
[0011]在一些实施例中,所述图神经网络属性处理器还被配置为:获取所述一个或多个第二正节点的属性数据以训练神经网络来生成所述第一根节点的特征表示,所述训练包括最大化所述第一根节点的特征表示与所述一个或多个第二正节点的特征表示之间的特征距离,其中基于所述一个或多个第二正节点的属性数据确定所述一个或多个第二正节点的特征表示。
[0012]根据本公开的另一个方面,提供了一种用于加速图神经网络采样效率的计算机实现的方法,所述方法包括:由图神经网络加速器获取用于图神经网络处理的图的第一根节点;由所述图神经网络加速器基于所述第一根节点从所述图中确定多个候选节点;由所述图神经网络加速器基于所述多个候选节点确定一个或多个第一正节点以及一个或多个负节点,其中所述一个或多个第一正节点在距所述第一根节点预设距离内,所述一个或多个负节点在距所述第一根节点预设距离之外;以及由所述图神经网络加速器基于所述一个或多个第一正节点以及所述一个或多个负节点获取属性数据,以便在所述图的所述第一根节点上进行图神经网络处理。
[0013]在一些实施例中,所述多个候选节点在所述第一根节点的k阶邻域内,k是距所述第一根节点的预设距离。
[0014]在一些实施例中,基于所述多个候选节点确定所述一个或多个第一正节点包括:采样所述第一根节点的所述多个候选节点的子集;基于所述多个候选节点确定所述一个或多个负节点包括:确定所述图中除所述第一根节点的所述多个候选节点之外的一个或多个临时负节点;以及从所述一个或多个临时负节点中采样所述一个或多个负节点。
[0015]在一些实施例中,所述方法还包括:确定所述图中除所述第一根节点的所述多个候选节点之外的一个或多个临时负节点;以及将所述一个或多个临时负节点存储在所述图神经网络加速器的负采样节点缓冲器中,以用于另一轮正采样。
[0016]在一些实施例中,所述方法还包括:对于所述一个或多个临时负节点中的每个临时负节点,由所述图神经网络加速器确定在所述临时负节点的预设距离内的一个或多个第二正节点。
[0017]在一些实施例中,基于所述一个或多个正节点以及所述一个或多个负节点获取所述属性数据,以在所述图的所述第一根节点上进行图神经网络处理包括:获取所述一个或多个第一正节点以及所述一个或多个第二正节点的属性数据,以在所述图的所述第一根节点上进行图神经网络处理。
[0018]在一些实施例中,在所述第一根节点上进行图神经网络处理包括:训练神经网络以生成所述第一根节点的特征表示,所述训练包括最小化所述第一根节点的特征表示与所述一个或多个第一正节点的特征表示之间的特征距离,其中基于所述一个或多个第一正节点的属性数据确定所述一个或多个第一正节点的特征表示。
[0019]在一些实施例中,在所述第一根节点上进行图神经网络处理包括:训练神经网络以生成所述第一根节点的特征表示,所述训练包括最大化所述第一根节点的特征表示与所述一个或多个第二正节点的特征表示之间的特征距离,其中基于所述一个或多个第二正节
点的属性数据确定所述一个或多个第二正节点的特征表示。
[0020]在一些实施例中,获取所述图的所述第一根节点包括:从中央处理器(CPU)接收所述第一根节点,所述中央处理器与所述图神经网络加速器分离。
[0021]在一些实施例中,获取所述图的所述根节点包括:从与所述图神经网络加速器分离的处理器接收所述图的批大小;从所述图中获取包括所述第一根节点的多个根节点的批大小。
[0022]根据本公开的又一个方面,提供一种图神经网络加速装置。所述图神经网络加速装置包括:第一获取模块,被配置获取用于图神经网络处理的图的第一根节点;第一确定模块,被配置为基于所述第一根节点从所述图中确定多个候选节点;第二确定模块,被配置为基于所述多个候选节点确定一个或多个第一正节点以及一个或多个负节点,其中所述一个或多个第一正节点在距所述第一根节点预设距离内,所述一个或多个负节点在距所述第一根节点预设距离之外;以及第二获取模块,被配置基于所述一个或多个第一正节点以及所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于加速图神经网络的计算机实现的方法,所述方法由图神经网络加速器执行,所述方法包括:获取用于图神经网络处理的图的第一根节点;基于所述第一根节点从所述图中确定多个候选节点;基于所述多个候选节点确定一个或多个第一正节点和一个或多个负节点,其中所述一个或多个第一正节点在距所述第一根节点预设距离内,所述一个或多个负节点在距所述第一根节点预设距离之外;以及基于所述一个或多个第一正节点以及所述一个或多个负节点获取属性数据,以在所述图的所述第一根节点上进行图神经网络处理。2.根据权利要求1所述的方法,其中,所述多个候选节点在所述第一根节点的k阶邻域内,k是距所述第一根节点的预设距离。3.根据权利要求2所述的方法,其中,基于所述多个候选节点确定所述一个或多个第一正节点包括:采样所述第一根节点的所述多个候选节点的子集;基于所述多个候选节点确定所述一个或多个负节点包括:确定所述图中除所述第一根节点的所述多个候选节点之外的一个或多个临时负节点;以及从所述一个或多个临时负节点中采样所述一个或多个负节点。4.根据权利要求1所述的方法,其中,确定所述一个或多个负节点包括:确定所述图中除所述第一根节点的所述多个候选节点之外的一个或多个临时负节点;以及将所述一个或多个临时负节点存储在所述图神经网络加速器的负采样节点缓冲器中,以用于另一轮正采样。5.根据权利要求4所述的方法,其中,确定所述一个或多个负节点还包括:对于所述一个或多个临时负节点中的每个临时负节点,确定在距所述临时负节点预设距离内的一个或多个第二正节点。其中,基于所述一个或多个负节点获取所述属性数据,以在所述图的所述第一根节点上进行图神经网络处理包括:获取所述一个或多个第二正节点的属性数据,以在所述图的所述第一根节点上进行图神经网络处理;或获取所述一个或多个第二正节点和所述多个临时负节点的属性数据,以在所述图的所述第一根节点上进行图神经网络处理。6.根据权利要求5所述的方法,其中,在所述第一根节点上进行图神经网络处理包括:训练神经网络以生成所述第一根节点的特征表示,所述训练包括最小化所述第一根节点的特征表示与所述一个或多个第一正节点的特征表示之间的特征距离,其中,基于所述一个或多个第一正节点的属性数据确定所述一个或多个第一正节点的特征表示;或训练神经网络以生成所述第一根节点的特征表示,所述训练包括最大化所述第一根节点的特征表示与所述一个或多个第二正节点的特征表示之间的特征距离,其中,基于所述一个或多个第二正节点的属性数据确定所述一个或多个第二正节点的特征表示。7.根据权利要求1所述的方法,其中,获取所述图的所述第一根节点包括:
从与所述图神经网络加速器分离的处理器接收所述图的批大小;从所述图中获取包括所述第一根节点的多个根节点的批大小。8.一种图神经网络加速器,包括:图结构处理器,被配置为根据图的第一根节点获取多个候选节点,以在所述第一根节点上进行图神经网络处理;图神经网络采样器,被配置为基于来自所述图结构处理器的所述多个候选节点生成采样图节点;图神经网络属性处理器,被配置为获取从所述图神经网络采样器接收的所述采样图节点的属性数据,以在所述第一根节点上进行图神经网络处理。9.根据权利要求8所述的图神经网络加速器,其中,所述多个候选节点位于所述第一根节...

【专利技术属性】
技术研发人员:关天婵李双辰刘恒郑宏忠
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

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

1