CN117785490B - 一种图神经网络模型的训练架构、方法、系统及服务器 - Google Patents

一种图神经网络模型的训练架构、方法、系统及服务器 Download PDF

Info

Publication number
CN117785490B
CN117785490B CN202410214274.4A CN202410214274A CN117785490B CN 117785490 B CN117785490 B CN 117785490B CN 202410214274 A CN202410214274 A CN 202410214274A CN 117785490 B CN117785490 B CN 117785490B
Authority
CN
China
Prior art keywords
structure data
sub
graph structure
node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410214274.4A
Other languages
English (en)
Other versions
CN117785490A (zh
Inventor
刘俊
王彦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410214274.4A priority Critical patent/CN117785490B/zh
Publication of CN117785490A publication Critical patent/CN117785490A/zh
Application granted granted Critical
Publication of CN117785490B publication Critical patent/CN117785490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种图神经网络模型的训练架构、方法、系统及服务器,涉及内存设计领域,解决传统服务器内存容量有限的问题。该架构通过N个非一致性内存访问节点、N个计算快速链路设备和N个图形处理器的连接,非一致性内存访问节点将图结构数据划分为N个第一子图结构数据,并分配至N个计算快速链路设备使其对第一子图结构数据进行邻居节点抽样,得到第二子图结构数据,并将其发送至图形处理器进行图神经网络模型的训练。本发明设置N个计算快速链路设备,实现了对单台服务器的内存扩展、及在单台服务器内的并行处理和存储,解决了大规模图结构数据的存储和训练问题,同时减少网络通信开销和架构设计复杂性,提高了训练和推理效率。

Description

一种图神经网络模型的训练架构、方法、系统及服务器
技术领域
本发明涉及内存设计领域,特别涉及一种图神经网络模型的训练架构、方法、系统及服务器。
背景技术
近年来,随着GNN(Graph Neural Network,图神经网络)模型在各个领域的广泛应用,对大规模的图结构数据的训练和推理需求也越来越迫切。然而,与图像模型或语言模型不同,GNN模型的输入数据是非结构化的图结构数据,而真实世界中的图结构数据非常庞大,如社交网络、蛋白质网络等。为了在更大规模的图结构数据上获得更好的训练和推理效果,目前的做法是增加训练图结构数据的规模。然而,传统服务器的内存容量较小,而如今图神经网络的节点越来越多,导致图结构数据的存储量也越来越大。
由于当前服务器体系结构的限制,单个服务器上可扩展的内存容量是有限的。因此,目前使用分布式计算框架来解决这一问题,具体将图结构数据划分后分配给多个服务器,并在多台服务器上进行并行处理,但是这会引入额外的网络通信开销,并且在架构设计上相对复杂。
发明内容
本发明的目的是提供一种图神经网络模型的训练架构、方法、系统及服务器,设置N个计算快速链路设备,实现了对单台服务器的内存扩展、及在单台服务器内的并行处理和存储,解决了大规模图结构数据的存储和训练问题,同时减少网络通信开销和架构设计复杂性,提高了训练和推理效率。
第一方面,本发明提供了一种图神经网络模型的训练架构,应用于服务器,包括:
N个非一致性内存访问节点,N为大于一的整数;
N个计算快速链路设备,与N个所述非一致性内存访问节点一一对应连接;
K×N个图形处理器,与N个所述非一致性内存访问节点一一对应连接,N个所述图形处理器之间互相连接,K为大于一的整数;
所述非一致性内存访问节点,用于获取用户输入的图结构数据,并将所述图结构数据划分为N个第一子图结构数据,并将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备中,在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
所述计算快速链路设备,用于存储和自身对应的第一子图结构数据,并对自身对应的第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的所述第二子图结构数据,并将所述第二子图结构数据发送至所述图形处理器;
所述图形处理器,用于存储图神经网络模型,并在接收到所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量时,根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练。
在一种实施例中,还包括:
N个主机内存,与N个所述非一致性内存访问节点一一对应连接,用于存储与所述图结构数据中的各个节点对应的节点特征向量;
所述非一致性内存访问节点,还用于在获取用户输入的图结构数据之后,将所述图结构数据中各节点对应的节点特征向量存储至所述主机内存中;
在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,包括:
在所述计算快速链路设备得到第二子图结构数据时,确定所述第二子图结构数据中各个节点的节点标识;
从所述主机内存中读取与所述节点标识对应的节点特征向量,并将所述节点特征向量发送至所述图形处理器。
在一种实施例中,多个所述图形处理器中包括主图形处理器和从图形处理器;
所述从图形处理器,还用于在根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练后,得到第一从模型参数,并将第一从模型参数发送至所述主图形处理器;
所述主图形处理器,还用于在根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练后,得到第一主模型参数,接收各个所述从图形处理器发送的第一从模型参数,根据所述第一主模型参数和各个所述第一从模型参数确定第一综合模型参数,并触发自身和所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新。
在一种实施例中,根据所述第一主模型参数和各个所述第一从模型参数确定第一综合模型参数,包括:
根据所述第一主模型参数和各所述第一从模型参数计算平均模型参数,并将所述平均模型参数确定为所述第一综合模型参数。
在一种实施例中,触发自身和所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新,包括:
将所述第一综合模型参数发送至各所述从图形处理器;
触发自身及各所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新。
在一种实施例中,所述主图形处理器和所述从图形处理器的确定方式为:根据用户的配置指令确定所述主图形处理器和所述从图形处理器,或者,在每次训练完成之后,随机选择一个图形处理器确定为所述主图形处理器、除所述主图形处理器之外的其它图形处理器确定为所述从图形处理器。
在一种实施例中,所述非一致性内存访问节点,还用于将每个所述第一子图结构数据划分为M个第三子图结构数据,并将每个所述第一子图结构数据对应的M个所述第三子图结构数据存储在计算快速链路设备中,在所述计算快速链路设备得到第四子图结构数据时,将所述第四子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,M为大于一的整数;
所述计算快速链路设备,具体用于存储和自身对应的M个第三子图结构数据,并依次对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将所述第四子图结构数据发送至所述图形处理器;
所述图形处理器,具体用于存储图神经网络模型,并依次接收所述计算快速链路设备发送的所述第四子图结构数据和所述非一致性内存访问节点发送的所述第四子图结构数据中各节点对应的节点特征向量,根据所述第四子图结构数据和所述节点特征向量对所述图神经网络模型进行训练,并在训练完成后更新自身存储的所述图神经网络模型的模型参数。
在一种实施例中,多个所述图形处理器中包括主图形处理器和从图形处理器;
所述从图形处理器,还用于在根据所述计算快速链路设备发送的第M个第四子图结构数据和所述非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二从模型参数时,将所述第二从模型参数发送至所述主图形处理器;
所述主图形处理器,还用于在根据所述计算快速链路设备发送的第M个第四子图结构数据和所述非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二主模型参数时,接收所述从图形处理器发送的所述第二从模型参数,并根据所述第二主模型参数和各所述第二从模型参数确定第二综合模型参数,并触发自身和所述从图形处理器根据所述第二综合模型参数对所述图神经网络模型进行模型参数更新。
在一种实施例中,获取用户输入的图结构数据,并将所述图结构数据划分为N个第一子图结构数据,包括:
获取用户输入的图结构数据,确定所述图结构数据中的第一节点个数;
根据所述第一节点个数将所述图结构数据划分为N个所述第一子图结构数据,每两个所述第一子图结构数据之间的节点个数的差值不大于第一预设个数。
在一种实施例中,将每个所述第一子图结构数据划分为M个第三子图结构数据,包括:
获取所述第一子图结构数据包括的目标节点的第二节点个数和边的个数;
根据所述第二节点个数和所述边的个数将所述第一子图结构数据划分为M个所述第三子图结构数据;
其中,每两个所述第三子图结构数据之间的目标节点的个数差值不大于第二预设个数、以及边的个数的差值不大于第三预设个数。
在一种实施例中,根据所述第二节点个数和所述边的个数将所述第一子图结构数据划分为M个所述第三子图结构数据,包括:
根据所述第二节点个数将所述目标节点平均划分为M组,得到M组目标子节点;
根据每组所述目标子节点和所述边的个数将所述边平均划分为M组,得到与M组所述目标子节点一一对应的M组边数据;
将M组所述目标子节点及和自身对应的边数据确定为M个所述第三子图结构数据。
在一种实施例中,所述非一致性内存访问节点还用于获取所述第一子图结构数据中各个所述目标节点配置的第一邻居节点抽样个数,将所述第一邻居节点抽样个数平均划分为M份,得到M组第二邻居节点抽样个数,并将所述第二邻居节点抽样个数一一对应分配至M组所述目标子节点;
对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,包括:
根据和自身对应的第二邻居节点抽样个数对各所述目标节点进行邻居抽样,得到抽样后的所述第四子图结构数据。
在一种实施例中,所述非一致性内存访问节点还用于在将所述图结构数据划分为N个第一子图结构数据之后,确定各个所述第一子图结构数据中的边缘节点以及和所述边缘节点连接的其它第一子图结构中的边缘邻居节点,将所述边缘邻居节点以及所述边缘邻居节点和所述边缘节点之间的连接关系,存储至所述边缘节点所在的第一子图结构对应的计算快速链路设备中。
在一种实施例中,所述计算快速链路设备包括计算单元、私有的第二设备内存和非一致性内存访问节点管理的第一设备内存,所述非一致性内存访问节点的部分物理地址与第一设备内存的物理地址之间一一映射;
将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备中,包括:
将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备的第二设备内存中;
所述计算快速链路设备的第二设备内存,用于存储和自身对应的第一子图结构数据;
所述计算单元,用于根据所述第二设备内存中的第一子图结构数据对所述第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将所述第二子图结构数据发送至所述图形处理器,将所述第二子图结构数据中的节点标识写入所述第一设备内存;
所述第一设备内存,用于存储所述第二子图结构数据中的节点标识;
在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,包括:
获取所述第一设备内存中的节点标识,并根据所述节点标识确定各个节点标识对应的节点特征向量,并发送至所述图形处理器。
在一种实施例中,所述非一致性内存访问节点还用于在初始化所述计算快速链路设备时,根据所述计算快速链路设备的设备内存容量及预设比例,将所述计算快速链路设备的设备内存划分为第一设备内存和第二设备内存,并将所述第一设备内存中的物理地址与自身的部分物理地址一一映射。
在一种实施例中,所述预设比例的确定方式为:根据所述图结构数据的类型、所述第一子图结构数据的数据量大小以及所述第一子图结构数据对应的节点标识的数据量大小确定。
在一种实施例中,所述非一致性内存访问节点,还用于将每个所述第一子图结构数据划分为M个第三子图结构数据,并将每个所述第一子图结构数据对应的M个所述第三子图结构数据中的各个节点标识存储在计算快速链路设备的第一设备内存中;在所述计算快速链路设备得到第四子图结构数据时,获取所述第一设备内存中存储的所述第四子图结构数据中各节点的节点标识,根据所述第四子图结构数据中各节点的节点标识获取所述第四子图结构数据中各节点的节点特征向量并发送至所述图形处理器,M为大于一的整数;
所述计算快速链路设备的第一设备内存,具体用于存储和自身对应的M个第三子图结构数据中的各个节点标识;
所述计算快速链路设备的计算单元,具体用于依次根据所述第三子图结构数据中的各个节点标识对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将所述第四子图结构数据中各节点的节点标识写入所述第一设备内存;
所述图形处理器,具体用于存储图神经网络模型,并依次接收所述计算快速链路设备发送的所述第四子图结构数据和所述非一致性内存访问节点发送的所述第四子图结构数据中各节点对应的节点特征向量,根据所述第四子图结构数据和所述节点特征向量对所述图神经网络模型进行训练,并在训练完成后更新自身存储的所述图神经网络模型的模型参数。
在一种实施例中,所述计算快速链路设备还包括与所述计算单元连接的内存缓冲器;
所述非一致性内存访问节点,还用于将所述图结构数据划分为N个第一子图结构数据之后,将N个所述第一子图结构数据按照度分布的大小进行排序;
所述内存缓冲器用于存储所述度分布最大的第一子图结构数据中的节点和边的数据,以提供给所述计算单元。
在一种实施例中,所述内存缓冲器具体用于在所述度分布最大的第一子图结构数据中节点和边的数据大于自身的内存容量时,存储所述度分布最大的第一子图结构数据中的部分节点和部分边的数据。
第二方面,本发明还提供了一种图神经网络模型的训练方法,应用于计算快速链路设备,所述图神经网络模型的训练方法包括:
获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
对所述第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
将所述第二子图结构数据发送至图形处理器,并触发所述非一致性内存访问节点将与所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
触发所述图形处理器基于所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
第三方面,本发明还提供了一种图神经网络模型的训练系统,应用于计算快速链路设备,所述图神经网络模型的训练系统包括:
获取单元,用于获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
抽样单元,用于对所述第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
发送单元,用于将所述第二子图结构数据发送至图形处理器,并触发所述非一致性内存访问节点将与所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
训练单元,用于触发所述图形处理器基于所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
第四方面,本发明还提供了一种服务器,包括如上述所述的图神经网络模型的训练架构。
本发明提供了一种图神经网络模型的训练架构、方法、系统及服务器,涉及内存设计领域,解决传统服务器内存容量有限的问题。该架构通过N个非一致性内存访问节点、N个计算快速链路设备和N个图形处理器的连接,非一致性内存访问节点将图结构数据划分为N个第一子图结构数据,并分配至N个计算快速链路设备使其对第一子图结构数据进行邻居节点抽样,得到第二子图结构数据,并将其发送至图形处理器进行图神经网络模型的训练。本发明设置N个计算快速链路设备,实现了对单台服务器的内存扩展、及在单台服务器内的并行处理和存储,解决了大规模图结构数据的存储和训练问题,同时减少网络通信开销和架构设计复杂性,提高了训练和推理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种图神经网络模型的训练架构的示意图;
图2为本发明提供的一种划分为第三子图结构数据的示意图;
图3为本发明提供的一种K阶邻居节点抽样的示意图;
图4为本发明提供的一种将图结构数据划分为第一子图结构数据的示意图;
图5为本发明提供的一种图神经网络模型的训练架构中各模块的工作流程图;
图6为本发明提供的一种单个非一致性内存访问节点的训练示意图;
图7为本发明提供的一种图神经网络模型的训练方法的示意图;
图8为本发明提供的一种图神经网络模型的训练系统的示意图。
具体实施方式
本发明的核心是提供一种图神经网络模型的训练架构、方法、系统及服务器,设置N个计算快速链路设备,实现了对单台服务器的内存扩展、及在单台服务器内的并行处理和存储,解决了大规模图结构数据的存储和训练问题,同时减少网络通信开销和架构设计复杂性,提高了训练和推理效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,如图1所示,本发明提供了一种图神经网络模型的训练架构,应用于服务器,包括:
N个非一致性内存访问节点,N为大于一的整数;
N个计算快速链路设备,与N个非一致性内存访问节点一一对应连接;
K×N个图形处理器,与N个非一致性内存访问节点一一对应连接,N个图形处理器之间互相连接,K为大于一的整数;
非一致性内存访问节点,用于获取用户输入的图结构数据,并将图结构数据划分为N个第一子图结构数据,并将N个第一子图结构数据一一对应分配至N个计算快速链路设备中,在计算快速链路设备得到第二子图结构数据时,将第二子图结构数据中各节点对应的节点特征向量发送至图形处理器;
计算快速链路设备,用于存储和自身对应的第一子图结构数据,并对自身对应的第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将第二子图结构数据发送至图形处理器;
图形处理器,用于存储图神经网络模型,并在接收到第二子图结构数据和第二子图结构数据中各节点对应的节点特征向量时,根据第二子图结构数据和节点特征向量对图神经网络模型进行训练。
本实施例描述了一种图神经网络模型的训练架构,用于在单台服务器上进行并行计算。具体而言,非一致性内存访问节点:用于获取用户输入的图结构数据,并将其划分为N个第一子图结构数据,每个非一致性内存访问节点与一个计算快速链路设备和一个图形处理器相对应连接。计算快速链路设备:用于存储和处理与其对应的第一子图结构数据,它们对第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将其发送至相应的图形处理器。图形处理器:用于存储图神经网络模型,并在接收到第二子图结构数据和第二子图结构数据中各节点对应的节点特征向量时,对图神经网络模型进行训练,图形处理器之间也相互连接,用于实现在单台服务器上的并行训练。
整个架构的目的是通过在单台服务器上设置N个非一致性内存访问节点此外还相应增加计算快速链路设备的数量,可以使得单台服务器可以更快地并行处理图结构数据,从而提高训练速度。此外,每个计算快速链路设备可以存储和处理更多的第一子图结构数据,从而扩展了单台服务器的内存容量。这些有益效果可以大大提高图神经网络模型的训练效率和性能。在实际应用中,扩展N个计算高速链路设备还能够降低网络通信开销,因为更多的处理任务可以在本地完成,而不需要频繁地进行数据传输。
具体而言,图1中,包括4个非一致性内存访问域(分别为非一致性内存访问域0、非一致性内存访问域1、非一致性内存访问域2、非一致性内存访问域3),每个非一致性内存访问域中包括一个主机内存、非一致性内存访问节点、计算快速链路设备、图形处理器以及和图形处理器连接的内存缓冲器。
通过将图结构数据划分为多个子图,并使用在单台服务器上并行计算的方式进行并行处理,以解决单个服务器内存容量的限制问题。每个节点在处理自己对应的子图时,利用计算快速链路设备进行邻居节点抽样,得到所需的数据,并将其发送至相应的图形处理器进行训练。通过这种架构设计,可以充分利用多个服务器的计算和存储资源,提高图神经网络模型的训练效率。
在上述实施例的基础上:
在一种实施例中,还包括:
N个主机内存,与N个非一致性内存访问节点一一对应连接,用于存储与图结构数据中的各个节点对应的节点特征向量;
非一致性内存访问节点,还用于在获取用户输入的图结构数据之后,将图结构数据中各节点对应的节点特征向量存储至主机内存中;
在计算快速链路设备得到第二子图结构数据时,将第二子图结构数据中各节点对应的节点特征向量发送至图形处理器,包括:
在计算快速链路设备得到第二子图结构数据时,确定第二子图结构数据中各个节点的节点标识;
从主机内存中读取与节点标识对应的节点特征向量,并将节点特征向量发送至图形处理器。
在该实施例中,除了上述描述的组件外,还引入了N个主机内存,每个主机内存与一个非一致性内存访问节点相对应连接。主机内存用于存储图结构数据中的各个节点对应的节点特征向量。非一致性内存访问节点在获取用户输入的图结构数据后,将图结构数据中各节点对应的节点特征向量存储至主机内存中。这样,主机内存中就保存了与图结构数据中每个节点相关联的节点特征向量。在计算快速链路设备得到第二子图结构数据时,需要将第二子图结构数据中各节点对应的节点特征向量发送至图形处理器。为了实现这一步骤,需要确定第二子图结构数据中各个节点的节点标识。然后,从主机内存中读取与节点标识对应的节点特征向量,并将节点特征向量发送至相应的图形处理器。
综上,通过主机内存使得在计算快速链路设备得到第二子图结构数据时,能够方便地获取每个节点对应的特征向量,并将其发送至图形处理器进行训练。
在一种实施例中,多个图形处理器中包括主图形处理器和从图形处理器;
从图形处理器,还用于在根据第二子图结构数据和节点特征向量对图神经网络模型进行训练后,得到第一从模型参数,并将第一从模型参数发送至主图形处理器;
主图形处理器,还用于在根据第二子图结构数据和节点特征向量对图神经网络模型进行训练后,得到第一主模型参数,接收各个从图形处理器发送的第一从模型参数,根据第一主模型参数和各个第一从模型参数确定第一综合模型参数,并触发自身和从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新。
本实施例中限定多个图形处理器包括主图形处理器和从图形处理器。在这种架构下,主图形处理器和从图形处理器之间实现了模型参数的协同训练和更新,以提高模型的训练效率和精度。首先,每个从图形处理器在根据第二子图结构数据和节点特征向量对图神经网络模型进行训练后,会得到第一从模型参数,并将这些参数发送至主图形处理器。主图形处理器接收从图形处理器发送的第一从模型参数,并根据自身的训练结果得到第一主模型参数。在接收到所有从图形处理器发送的第一从模型参数后,主图形处理器会根据第一主模型参数和各个第一从模型参数来确定第一综合模型参数。最后,主图形处理器会触发自身和从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新。
这种架构有效地利用了多个图形处理器的计算能力和存储资源,实现了模型参数的集中管理和协同训练。通过主图形处理器和从图形处理器之间的协同工作,可以加速图神经网络模型的训练过程,并且可以有效地处理大规模图结构数据,提高了训练效率和模型的准确性。
在一种实施例中,根据第一主模型参数和各个第一从模型参数确定第一综合模型参数,包括:根据第一主模型参数和各第一从模型参数计算平均模型参数,并将平均模型参数确定为第一综合模型参数。
本实施例描述了一种图形处理器之间进行模型参数更新的方法。具体来说,当每个从图形处理器在训练后得到第一从模型参数后,将这些参数发送至主图形处理器。主图形处理器接收到所有从图形处理器发送的第一从模型参数后,根据第一主模型参数和各个第一从模型参数来确定第一综合模型参数,并触发自身和从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新。在确定第一综合模型参数的过程中,可以采用计算平均模型参数的方法,即根据第一主模型参数和各第一从模型参数计算平均模型参数,并将平均模型参数确定为第一综合模型参数,这样可以有效地整合各个图形处理器上的模型参数,达到协同训练的效果。通过这种方法,可以实现多个图形处理器之间的模型参数更新和整合,从而提高图神经网络模型的训练效率和性能。
在一种实施例中,触发自身和从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新,包括:
将第一综合模型参数发送至各从图形处理器;
触发自身及各从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新。
本实施例描述了如何触发主图形处理器和从图形处理器根据第一综合模型参数对图神经网络模型进行模型参数更新的过程。具体而言,主图形处理器首先将计算得到的第一综合模型参数发送给所有从图形处理器,确保所有处理器都有最新的综合模型参数作为基础进行模型参数更新。接收到第一综合模型参数后,主图形处理器和每个从图形处理器都开始根据这个参数对图神经网络模型进行模型参数更新,具体的更新算法和策略根据神经网络的权重、偏置等参数进行相应的调整,以使模型更好地适应训练数据集,提高准确性和泛化能力。通过这个过程,主图形处理器和从图形处理器之间能够协同工作,共同更新图神经网络模型的参数,从而不断优化模型的性能和效果,这种在单台服务器上并行的参数更新方式可以加快模型训练的速度,并充分利用多个处理器的计算资源,提高整体训练效率和效果。
在一种实施例中,主图形处理器和从图形处理器的确定方式为:根据用户的配置指令确定主图形处理器和从图形处理器,或者,在每次训练完成之后,随机选择一个图形处理器确定为主图形处理器、除主图形处理器之外的其它图形处理器确定为从图形处理器。
本实施例描述了主图形处理器和从图形处理器的确定方式。具体来说,有两种确定方式,其一,根据用户的配置指令确定主图形处理器和从图形处理器:用户可以通过配置指令来指定哪个图形处理器作为主处理器,哪些作为从处理器,这样可以按照用户的需求和优先级来灵活地分配任务。其二,随机选择一个图形处理器作为主图形处理器:在每次训练完成之后,可以随机选择一个图形处理器来作为主处理器,其他图形处理器则作为从处理器。这样可以实现任务的均衡分配,避免过度依赖某个特定的处理器。
通过以上两种方式,可以根据用户的配置或者随机选择来确定主图形处理器和从图形处理器,以实现任务的分配和图神经网络模型的训练。
在一种实施例中,非一致性内存访问节点,还用于将每个第一子图结构数据划分为M个第三子图结构数据,并将每个第一子图结构数据对应的M个第三子图结构数据存储在计算快速链路设备中;在计算快速链路设备得到第四子图结构数据时,将第四子图结构数据中各节点对应的节点特征向量发送至图形处理器,M为大于一的整数;
计算快速链路设备,具体用于存储和自身对应的M个第三子图结构数据,并依次对每个第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将第四子图结构数据发送至图形处理器;
图形处理器,具体用于存储图神经网络模型,并依次接收计算快速链路设备发送的第四子图结构数据和非一致性内存访问节点发送的第四子图结构数据中各节点对应的节点特征向量,根据第四子图结构数据和节点特征向量对图神经网络模型进行训练,并在训练完成后更新自身存储的图神经网络模型的模型参数。
具体来说,为实现更高效和精确的图神经网络模型训练。首先,非一致性内存访问节点将每个第一子图结构数据划分为M个第三子图结构数据,并将每个第一子图结构数据对应的M个第三子图结构数据存储在计算快速链路设备中。这样可以将任务更加细分,提高训练的并行度和效率。其次,计算快速链路设备不仅可以存储和自身对应的第一子图结构数据,还可以依次对每个第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据(节点抽样的过程如图2所示),并将第四子图结构数据发送至图形处理器,这样可以更加灵活地处理图结构数据,提高训练的准确性和效率。最后,图形处理器不仅依次接收计算快速链路设备发送的第四子图结构数据和非一致性内存访问节点发送的第四子图结构数据中各节点对应的节点特征向量,根据第四子图结构数据和节点特征向量对图神经网络模型进行训练,还可以在训练完成后更新自身存储的图神经网络模型的模型参数,这样可以使得模型的训练更加完整和准确。综上所述,本实施例通过对子图结构数据进行更进一步的细化和优化,以实现更高效和精确的图神经网络模型训练。
在一种实施例中,多个图形处理器中包括主图形处理器和从图形处理器;
从图形处理器,还用于在根据计算快速链路设备发送的第M个第四子图结构数据和非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二从模型参数时,将第二从模型参数发送至主图形处理器;
主图形处理器,还用于在根据计算快速链路设备发送的第M个第四子图结构数据和非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二主模型参数时,接收从图形处理器发送的第二从模型参数,并根据第二主模型参数和各第二从模型参数确定第二综合模型参数,并触发自身和从图形处理器根据第二综合模型参数对图神经网络模型进行模型参数更新。
本实施例主要涉及到多个图形处理器之间的协作,以及如何在这种架构下对图神经网络模型进行训练和参数更新。首先,从图形处理器和主图形处理器分别承担不同的角色。从图形处理器负责接收并处理来自计算快速链路设备发送的第M个第四子图结构数据以及非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量,用于对图神经网络模型进行训练;在训练完成后,从图形处理器会得到第二从模型参数,并将这些参数发送至主图形处理器。主图形处理器则接收来自计算快速链路设备和非一致性内存访问节点发送的第M个第四子图结构数据以及各节点对应的节点特征向量,用于对图神经网络模型进行训练;在训练完成后,主图形处理器会得到第二主模型参数;接着,主图形处理器会接收从图形处理器发送的第二从模型参数,并根据第二主模型参数和各第二从模型参数确定第二综合模型参数。最后,主图形处理器将根据第二综合模型参数触发自身和从图形处理器对图神经网络模型进行模型参数更新。这种分层的参数更新方式能够有效整合各个图形处理器的训练结果,从而提升整体模型的性能和准确性。
总的来说,本实施例通过主从结构的设计,实现了同一个服务器跨多个图形处理器的信息交换和参数更新,从而提高了模型训练的效率和准确性。
在一种实施例中,获取用户输入的图结构数据,并将图结构数据划分为N个第一子图结构数据,包括:
获取用户输入的图结构数据,确定图结构数据中的第一节点个数;
根据第一节点个数将图结构数据划分为N个第一子图结构数据,每两个第一子图结构数据之间的节点个数的差值不大于第一预设个数。
本实施例描述了一种将用户输入的图结构数据划分为N个第一子图结构数据的具体过程,具体而言,首先,系统会接收用户输入的图结构数据,该图结构数据表示了一个图的节点和它们之间的连接关系。对接收到的图结构数据进行处理,确定其中的节点个数,图结构数据中的节点个数为第一节点个数。根据第一节点个数,将图结构数据划分为N个第一子图结构数据,每个第一子图结构数据都包含一个子图结构数据对应的节点以及与之相关的边的信息。在划分过程中,为保证负载均衡性,尽量保持任意两个的第一子图结构数据中节点个数的差值不超过第一预设个数,可以在保持数据平衡性的同时,充分利用计算资源和减少通信开销。
通过以上步骤,可以将用户输入的图结构数据划分为N个第一子图结构数据,并且在划分过程中保持节点个数的平衡性,这样可以为后续的图神经网络模型训练提供合适的数据分布,以提高训练效果和性能。
在一种实施例中,将每个第一子图结构数据划分为M个第三子图结构数据,包括:
获取第一子图结构数据包括的目标节点的第二节点个数和边的个数;
根据第二节点个数和边的个数将第一子图结构数据划分为M个第三子图结构数据;
其中,每两个第三子图结构数据之间的目标节点的个数差值不大于第二预设个数、以及边的个数的差值不大于第三预设个数。
本实施例描述了对第一子图结构数据的划分过程,包括获取目标节点的第二节点个数和边的个数,并根据这些信息将第一子图结构数据划分为M个第三子图结构数据。具体来说,对于每个第一子图结构数据,需要确定该子图中目标节点的第二节点个数和边的个数,这些信息可以用来描述子图的结构特征。根据获取到的第二节点个数和边的个数,将第一子图结构数据进行划分,得到M个第三子图结构数据,这个划分过程需要确保每个第三子图结构数据都包含相似数量的第二节点和边,以实现数据的均衡分布,以便于图像处理器基于每个批次的第三子图结构数据进行邻居节点抽样的时间相同或时间差值不大于预设阈值。即每两个第三子图结构数据之间的目标节点的个数差值不大于第二预设个数,以及边的个数的差值不大于第三预设个数。这个标准的设定可以确保划分后的子图数据具有相似的结构特征,有利于后续的处理和训练过程保持同步。
在一种实施例中,根据第二节点个数和边的个数将第一子图结构数据划分为M个第三子图结构数据,包括:
根据第二节点个数将目标节点平均划分为M组,得到M组目标子节点;
根据每组目标子节点和边的个数将边平均划分为M组,得到与M组目标子节点一一对应的M组边数据;
将M组目标子节点及和自身对应的边数据确定为M个第三子图结构数据。
本实施例描述了将第一子图结构数据划分为M个第三子图结构数据的具体步骤。首先,根据第二节点个数将目标节点平均划分为M组,得到M组目标子节点,这样可以确保每组目标子节点的数量相近。其次,根据每组目标子节点和边的个数将边平均划分为M组,得到与M组目标子节点一一对应的M组边数据,这样可以确保每组边数据和相应的目标子节点一一对应。最后,将M组目标子节点及和自身对应的边数据确定为M个第三子图结构数据,这样完成了第一子图结构数据到M个第三子图结构数据的划分和确定。这样的划分和确定方法,可以有效地将复杂的图结构数据划分为多个子图结构数据,使得每个图像处理器可以并行处理不同的子图结构数据,从而提高了整个图神经网络模型的训练效率和性能。
在一种实施例中,非一致性内存访问节点还用于获取第一子图结构数据中各个目标节点配置的第一邻居节点抽样个数,将第一邻居节点抽样个数平均划分为M份,得到M组第二邻居节点抽样个数,并将第二邻居节点抽样个数一一对应分配至M组目标子节点;
对每个第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,包括:
根据和自身对应的第二邻居节点抽样个数对各目标节点进行邻居抽样,得到抽样后的第四子图结构数据。
本实施例中,非一致性内存访问节点不仅用于获取第一子图结构数据,还用于获取每个目标节点配置的第一邻居节点抽样个数,并将这些抽样个数平均划分为M份,得到M组第二邻居节点抽样个数;这样做的目的是为了更加均衡地对每个目标节点进行邻居节点抽样,以确保在计算快速链路设备中得到的第四子图结构数据更加均衡。接着,在计算快速链路设备中,针对每个第三子图结构数据中的各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,这一步是根据从非一致性内存访问节点获取的第二邻居节点抽样个数对各目标节点进行邻居抽样的过程,确保抽样后的第四子图结构数据包含了更多关联节点的信息,以便后续的图形处理器进行训练。
如图3所示,若需要对一个目标节点进行k阶抽样,k为大于1的整数,每阶抽样的邻居节点个数设置好之后,将其除以M,作为第三子图结构数据中抽样的邻居节点个数。
总的来说,通过将第一邻居节点抽样个数均衡地分配给各组目标子节点,可以保证在进行邻居节点抽样时,每组目标子节点都能够得到相似数量的邻居节点抽样,从而确保了数据样本的均衡性和训练模型的有效性。
在一种实施例中,非一致性内存访问节点还用于在将图结构数据划分为N个第一子图结构数据之后,确定各个第一子图结构数据中的边缘节点以及和边缘节点连接的其它第一子图结构中的边缘邻居节点,将边缘邻居节点以及边缘邻居节点和边缘节点之间的连接关系,存储至边缘节点所在的第一子图结构对应的计算快速链路设备中。
在训练过程中,需要对图结构数据进行并行处理并进行通信,由于将图结构数据进行划分,并分别分配至各个CXL(Compute Express Link,计算快速链路)设备,对于每个CXL设备的边缘节点而言,其可能需要访问其他CXL设备下的与此CXL设备的边缘节点连接的节点对应的数据等,这就需要跨设备访问边缘邻居节点对应的数据,这会引起通信时延的问题。
而本实施例中,通过在非一致性内存访问节点确定各个子图结构数据中的边缘节点以及和边缘节点连接的其它子图结构中的边缘邻居节点,并将这些信息存储至对应的计算快速链路设备中,可以有效避免跨设备访问边缘邻居节点对应的数据,从而降低通信时延。具体来说,通过将边缘邻居节点以及边缘邻居节点和边缘节点之间的连接关系存储至对应的计算快速链路设备中,当需要进行计算时,可以直接在本地计算快速链路设备中获取所需的边缘邻居节点对应的数据,而不需要跨设备进行数据通信,从而极大地降低了通信时延,提高了训练效率和性能。
例如,图4中,各个节点特征向量标识为V_1、V_2、V_3、V_4、V_5…V_n,对图结构数据进行划分并分配至各个非一致性内存访问节点之后,得到各个非一致性内存访问域与其分配的第一子图结构数据的示意图,每个非一致性内存访问域中的圆点(包括黑色圆点和白色圆点)及其连接关系表示该域中的第一子图结构数据,如非一致性内存访问域0中的每个黑色圆点表示该域内的边缘节点,与该边缘节点对应的其他非一致性内存访问域1、2、3中的黑色圆点且与该边缘节点连接的节点为该边缘节点的邻居节点,将此邻居节点对应的数据存储至非一致性内存访问域0中。
在一种实施例中,计算快速链路设备包括计算单元、私有的第二设备内存和非一致性内存访问节点管理的第一设备内存,非一致性内存访问节点的部分物理地址与第一设备内存的物理地址之间一一映射;
将N个第一子图结构数据一一对应分配至N个计算快速链路设备中,包括:
将N个第一子图结构数据一一对应分配至N个计算快速链路设备的第二设备内存中;
计算快速链路设备的第二设备内存,用于存储和自身对应的第一子图结构数据;
计算单元,用于根据第二设备内存中的第一子图结构数据对第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将第二子图结构数据发送至图形处理器,将第二子图结构数据中的节点标识写入第一设备内存;
第一设备内存,用于存储第二子图结构数据中的节点标识;
在计算快速链路设备得到第二子图结构数据时,将第二子图结构数据中各节点对应的节点特征向量发送至图形处理器,包括:
获取第一设备内存中的节点标识,并根据节点标识确定各个节点标识对应的节点特征向量,并发送至图形处理器。
本实施例中计算快速链路设备包括计算单元、非一致性内存访问节点管理的第一设备内存和私有的第二设备内存。该设计方案中,将第一设备内存和第二设备内存分开使用,第一设备内存主要用于存储第二子图结构数据中的节点标识,这样可以使得数据存储更加有序和高效。节点标识在进行邻居节点抽样时会频繁读取和更新,将其单独存储在第一设备内存中可以减少数据访问冲突,提高数据读取速度。第二设备内存则用于存储和处理第一子图结构数据,保证了计算单元能够快速访问并处理需要的数据,减少了数据读取延迟,提高了整体计算效率。将N个第一子图结构数据一一对应分配至N个计算快速链路设备的第二设备内存中,可以实现多个计算快速链路设备之间的并行计算,每个计算快速链路设备都可以独立地处理自己负责的数据,提高了系统整体的计算效率。计算单元在第二设备内存中对第一子图结构数据进行处理时,可以直接将结果发送至图形处理器,减少了数据传输的复杂性和通信延迟,提高了数据处理的实时性和效率。由于第一设备内存和第二设备内存分别管理不同类型的数据,可以更好地控制数据的一致性和可靠性。节点标识和节点特征向量分开存储,减少了数据混乱或错乱的可能性,确保了数据的准确性和完整性。将第一设备内存和第二设备内存分开管理,使得系统更加灵活可控。在需要扩展计算快速链路设备或增加节点处理能力时,可以相对独立地对第一设备内存和第二设备内存进行扩展或优化,而不会对整体系统造成过大影响。
综上所述,划分第一设备内存和第二设备内存在图神经网络模型的训练架构中带来了诸多优势,包括数据管理优化、并行计算效率、数据一致性与可靠性以及灵活性和扩展性等方面的提升,有助于提高整体系统的性能和效率。
在一种实施例中,非一致性内存访问节点还用于在初始化计算快速链路设备时,根据计算快速链路设备的设备内存容量及预设比例,将计算快速链路设备的设备内存划分为第一设备内存和第二设备内存,并将第一设备内存中的物理地址与自身的部分物理地址一一映射。
本实施例中,首先,根据计算快速链路设备的设备内存容量及预设比例,将计算快速链路设备的设备内存划分为第一设备内存和第二设备内存。这个划分过程是为了有效地管理和利用计算快速链路设备的内存资源,确保计算快速链路设备能够高效地存储和处理图结构数据。其次,非一致性内存访问节点将第一设备内存中的物理地址与自身的部分物理地址一一映射,这个映射过程是为了确保非一致性内存访问节点能够准确地定位和访问计算快速链路设备的第一设备内存中存储的图结构数据,从而能够将图结构数据分配到正确的计算快速链路设备中进行处理和训练。
在一种实施例中,预设比例的确定方式为:根据图结构数据的类型、第一子图结构数据的数据量大小以及第一子图结构数据对应的节点标识的数据量大小确定。
本实施例中,在确定预设比例时,需要考虑到图结构数据的类型,不同类型的图结构数据可能需要不同的内存分配比例。此外,第一子图结构数据的数据量大小也需要被考虑进去,因为数据量大的情况下可能需要更多的内存空间来存储。最后,还需要考虑第一子图结构数据对应的节点标识的数据量大小,因为节点标识的数据量也会影响到内存的分配比例。根据实际情况进行调整,以确保计算快速链路设备的设备内存能够合理地存储和处理图结构数据,从而保证图神经网络模型训练的高效性和准确性。
在一种实施例中,非一致性内存访问节点,还用于将每个第一子图结构数据划分为M个第三子图结构数据,并将每个第一子图结构数据对应的M个第三子图结构数据中的各个节点标识存储在计算快速链路设备的第一设备内存中;在计算快速链路设备得到第四子图结构数据时,获取第一设备内存中存储的第四子图结构数据中各节点的节点标识,根据第四子图结构数据中各节点的节点标识获取第四子图结构数据中各节点的节点特征向量并发送至图形处理器,M为大于一的整数;
计算快速链路设备的第一设备内存,具体用于存储和自身对应的M个第三子图结构数据中的各个节点标识;
计算快速链路设备的计算单元,具体用于依次根据第三子图结构数据中的各个节点标识对每个第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将第四子图结构数据中各节点的节点标识写入第一设备内存;
图形处理器,具体用于存储图神经网络模型,并依次接收计算快速链路设备发送的第四子图结构数据和非一致性内存访问节点发送的第四子图结构数据中各节点对应的节点特征向量,根据第四子图结构数据和节点特征向量对图神经网络模型进行训练,并在训练完成后更新自身存储的图神经网络模型的模型参数。
本实施例中,提供了一种对于第一子图结构数据的进一步划分方式,即将每个第一子图结构数据划分为M个第三子图结构数据,并将每个第一子图结构数据对应的M个第三子图结构数据中的各个节点标识存储在计算快速链路设备的第一设备内存中。这种划分方式可以更加细致地描述图神经网络中的节点关系,同时在进行模型训练时也能够更加高效地利用计算资源,提高训练速度。在实施例中,计算快速链路设备的第一设备内存专门用于存储和自身对应的M个第三子图结构数据中的各个节点标识。计算快速链路设备的计算单元依次根据第三子图结构数据中的各个节点标识对每个第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将第四子图结构数据中各节点的节点标识写入第一设备内存。在这个过程中,计算单元先根据第三子图结构数据中的节点标识确定需要进行邻居节点抽样的节点,然后在第一设备内存中读取相应节点的标识,在第二设备内存中读取该节点的邻居节点,进行抽样操作,并将得到的第四子图结构数据发送至图形处理器。图形处理器收到第四子图结构数据和非一致性内存访问节点发送的第四子图结构数据中各节点对应的节点特征向量后,根据第四子图结构数据和节点特征向量对图神经网络模型进行训练,并在训练完成后更新自身存储的图神经网络模型的模型参数。通过这样的方式,可以实现对于图神经网络模型的高效训练和优化。
在上述实施例的基础上,一种具体的流程如图5所示,一个非一致性内存访问域的阶段总体划分为三个,分别为预处理阶段、数据加载阶段和模型训练阶段。在预处理阶段,非一致性内存访问节点读取输入的图结构数据,将图结构数据存储至主机内存中,非一致性内存访问节点对图结构数据进行划分,得到N个第一子图结构数据,并将其存储至第二设备内存中,非一致性内存访问节点进一步对第一子图结构数据进行划分,将划分得到的第三子图结构数据的节点数据存储至第一设备内存中;在数据加载阶段,计算快速链路设备中的计算单元基于第一设备内存和第二设备内存中的数据对第三子图结构数据进行邻居节点抽样(得到抽样后的第四子图结构数据,图中未画出),非一致性内存访问节点根据第一子图结数据的划分及预先存储的图结构数据的节点特征向量进行节点特征向量查询,以查询抽样后的第四子图结构数据包括的节点特征向量(图中未画出),抽样后的第四子图结构数据及对应的节点特征向量发送至图形处理器中。在模型训练阶段,图形处理器基于抽样后的第四子图结构数据及对应的节点特征向量对图神经网络模型进行训练、前向计算、反向传播计算梯度、模型参数更新;然后进入下一个第三子图结构数据的处理。图6中进一步解释了图结构数据处理的流程,具体而言,主机内存中存储图结构数据的节点特征向量,非一致性内存访问节点通过PCIe(Peripheral Component Interconnect Express,高速串行通信互联标准)与计算快速链路设备和图形处理器通信,计算快速链路设备的计算资源计算快速链路设备的内存访问请求解析,得到第一设备内存和第二设备内存中的数据,并对其进行子图结构抽取和邻居节点抽样,通过内存控制器对主机内存中的节点特征向量进行查询,并将抽样后的第四子图结构数据(图中未画出)和查询到的节点特征向量传输至图形处理器,图形处理器通过前向传播得到新的节点的向量化表示,再通过损失函数计算、后向传播,进行模型参数的更新。
在一种实施例中,计算快速链路设备还包括与计算单元连接的内存缓冲器;
非一致性内存访问节点,还用于将图结构数据划分为N个第一子图结构数据之后,将N个第一子图结构数据按照度分布的大小进行排序;
内存缓冲器用于存储度分布最大的第一子图结构数据中的节点和边的数据,以提供给计算单元。
本实施例中,计算快速链路设备还包括与计算单元连接的内存缓冲器。这个内存缓冲器的作用是存储度分布最大的第一子图结构数据中的节点和边的数据。这样做的目的是为了提供给计算单元,以便计算单元可以更快地对第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将第二子图结构数据发送至图形处理器,同时将第二子图结构数据中的节点标识写入第一设备内存。这样的设计可以提高计算快速链路设备的效率,因为内存缓冲器可以缓存度分布最大的第一子图结构数据,减少了计算单元对内存的频繁访问,从而加快了计算的速度。同时,同时内存缓冲器还可以提高整个系统的并行处理能力,因为计算单元可以独立地访问内存缓冲器,而不会影响其他部分的计算。
在一种实施例中,内存缓冲器具体用于在度分布最大的第一子图结构数据中节点和边的数据大于自身的内存容量时,存储度分布最大的第一子图结构数据中的部分节点和部分边的数据。
本实施例中,当度分布最大的第一子图结构数据的大小超过了内存缓冲器的容量时,内存缓冲器会使用一种策略来选择要存储的节点和边的数据。如按照某种规则选择具有最高度数的节点和相关边的数据,或者选择与其他重要节点有关的数据。通过这种方式,内存缓冲器可以在有限的容量下存储最重要的节点和边的数据,以提供给计算单元使用,这样可以确保计算单元能够快速访问和处理度分布最大的第一子图结构数据,以进行邻居节点抽样和生成第二子图结构数据。
第二方面,如图7所示,本发明还提供了一种图神经网络模型的训练方法,应用于计算快速链路设备,图神经网络模型的训练方法包括:
S11:获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
S12:对第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
S13:将第二子图结构数据发送至图形处理器,并触发非一致性内存访问节点将与第二子图结构数据中各节点对应的节点特征向量发送至图形处理器;
S14:触发图形处理器基于第二子图结构数据和第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
对于图神经网络模型的训练方法的介绍请参照上述实施例,本发明在此不再赘述。
第三方面,如图8所示,本发明还提供了一种图神经网络模型的训练系统,应用于计算快速链路设备,图神经网络模型的训练系统包括:
获取单元81,用于获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
抽样单元82,用于对第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
发送单元83,用于将第二子图结构数据发送至图形处理器,并触发非一致性内存访问节点将与第二子图结构数据中各节点对应的节点特征向量发送至图形处理器;
训练单元84,用于触发图形处理器基于第二子图结构数据和第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
对于图神经网络模型的训练系统的介绍请参照上述实施例,本发明在此不再赘述。
第四方面,本发明还提供了一种服务器,包括如上述的图神经网络模型的训练架构。
对于服务器的介绍请参照上述实施例,本发明在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (21)

1.一种图神经网络模型的训练架构,其特征在于,应用于服务器,包括:
N个非一致性内存访问节点,N为大于一的整数;
N个计算快速链路设备,与N个所述非一致性内存访问节点一一对应连接;
K×N个图形处理器,与N个所述非一致性内存访问节点一一对应连接,N个所述图形处理器之间互相连接,K为大于一的整数;
所述非一致性内存访问节点,用于获取用户输入的图结构数据,并将所述图结构数据划分为N个第一子图结构数据,并将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备中,在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
所述计算快速链路设备,用于存储和自身对应的第一子图结构数据,并对自身对应的第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的所述第二子图结构数据,并将所述第二子图结构数据发送至所述图形处理器;
所述图形处理器,用于存储图神经网络模型,并在接收到所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量时,根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练;
多个所述图形处理器中包括主图形处理器和从图形处理器;
所述从图形处理器,还用于在根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练后,得到第一从模型参数,并将第一从模型参数发送至所述主图形处理器;
所述主图形处理器,还用于在根据所述第二子图结构数据和所述节点特征向量对所述图神经网络模型进行训练后,得到第一主模型参数,接收各个所述从图形处理器发送的第一从模型参数,根据所述第一主模型参数和各个所述第一从模型参数确定第一综合模型参数,并触发自身和所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新。
2.如权利要求1所述的图神经网络模型的训练架构,其特征在于,还包括:
N个主机内存,与N个所述非一致性内存访问节点一一对应连接,用于存储与所述图结构数据中的各个节点对应的节点特征向量;
所述非一致性内存访问节点,还用于在获取用户输入的图结构数据之后,将所述图结构数据中各节点对应的节点特征向量存储至所述主机内存中;
在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,包括:
在所述计算快速链路设备得到第二子图结构数据时,确定所述第二子图结构数据中各个节点的节点标识;
从所述主机内存中读取与所述节点标识对应的节点特征向量,并将所述节点特征向量发送至所述图形处理器。
3.如权利要求1所述的图神经网络模型的训练架构,其特征在于,根据所述第一主模型参数和各个所述第一从模型参数确定第一综合模型参数,包括:
根据所述第一主模型参数和各所述第一从模型参数计算平均模型参数,并将所述平均模型参数确定为所述第一综合模型参数。
4.如权利要求1所述的图神经网络模型的训练架构,其特征在于,触发自身和所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新,包括:
将所述第一综合模型参数发送至各所述从图形处理器;
触发自身及各所述从图形处理器根据所述第一综合模型参数对所述图神经网络模型进行模型参数更新。
5.如权利要求1所述的图神经网络模型的训练架构,其特征在于,所述主图形处理器和所述从图形处理器的确定方式为:根据用户的配置指令确定所述主图形处理器和所述从图形处理器,或者,在每次训练完成之后,随机选择一个图形处理器确定为所述主图形处理器、除所述主图形处理器之外的其它图形处理器确定为所述从图形处理器。
6.如权利要求1所述的图神经网络模型的训练架构,其特征在于,所述非一致性内存访问节点,还用于将每个所述第一子图结构数据划分为M个第三子图结构数据,并将每个所述第一子图结构数据对应的M个所述第三子图结构数据存储在计算快速链路设备中,在所述计算快速链路设备得到第四子图结构数据时,将所述第四子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,M为大于一的整数;
所述计算快速链路设备,具体用于存储和自身对应的M个第三子图结构数据,并依次对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将所述第四子图结构数据发送至所述图形处理器;
所述图形处理器,具体用于存储图神经网络模型,并依次接收所述计算快速链路设备发送的所述第四子图结构数据和所述非一致性内存访问节点发送的所述第四子图结构数据中各节点对应的节点特征向量,根据所述第四子图结构数据和所述节点特征向量对所述图神经网络模型进行训练,并在训练完成后更新自身存储的所述图神经网络模型的模型参数。
7.如权利要求6所述的图神经网络模型的训练架构,其特征在于,多个所述图形处理器中包括主图形处理器和从图形处理器;
所述从图形处理器,还用于在根据所述计算快速链路设备发送的第M个第四子图结构数据和所述非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二从模型参数时,将所述第二从模型参数发送至所述主图形处理器;
所述主图形处理器,还用于在根据所述计算快速链路设备发送的第M个第四子图结构数据和所述非一致性内存访问节点发送的第M个第四子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练,得到第二主模型参数时,接收所述从图形处理器发送的所述第二从模型参数,并根据所述第二主模型参数和各所述第二从模型参数确定第二综合模型参数,并触发自身和所述从图形处理器根据所述第二综合模型参数对所述图神经网络模型进行模型参数更新。
8.如权利要求1所述的图神经网络模型的训练架构,其特征在于,获取用户输入的图结构数据,并将所述图结构数据划分为N个第一子图结构数据,包括:
获取用户输入的图结构数据,确定所述图结构数据中的第一节点个数;
根据所述第一节点个数将所述图结构数据划分为N个所述第一子图结构数据,每两个所述第一子图结构数据之间的节点个数的差值不大于第一预设个数。
9.如权利要求6所述的图神经网络模型的训练架构,其特征在于,将每个所述第一子图结构数据划分为M个第三子图结构数据,包括:
获取所述第一子图结构数据包括的目标节点的第二节点个数和边的个数;
根据所述第二节点个数和所述边的个数将所述第一子图结构数据划分为M个所述第三子图结构数据;
其中,每两个所述第三子图结构数据之间的目标节点的个数差值不大于第二预设个数、以及边的个数的差值不大于第三预设个数。
10.如权利要求9所述的图神经网络模型的训练架构,其特征在于,根据所述第二节点个数和所述边的个数将所述第一子图结构数据划分为M个所述第三子图结构数据,包括:
根据所述第二节点个数将所述目标节点平均划分为M组,得到M组目标子节点;
根据每组所述目标子节点和所述边的个数将所述边平均划分为M组,得到与M组所述目标子节点一一对应的M组边数据;
将M组所述目标子节点及和自身对应的边数据确定为M个所述第三子图结构数据。
11.如权利要求10所述的图神经网络模型的训练架构,其特征在于,所述非一致性内存访问节点还用于获取所述第一子图结构数据中各个所述目标节点配置的第一邻居节点抽样个数,将所述第一邻居节点抽样个数平均划分为M份,得到M组第二邻居节点抽样个数,并将所述第二邻居节点抽样个数一一对应分配至M组所述目标子节点;
对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,包括:
根据和自身对应的第二邻居节点抽样个数对各所述目标节点进行邻居抽样,得到抽样后的所述第四子图结构数据。
12.如权利要求1所述的图神经网络模型的训练架构,其特征在于,所述非一致性内存访问节点还用于在将所述图结构数据划分为N个第一子图结构数据之后,确定各个所述第一子图结构数据中的边缘节点以及和所述边缘节点连接的其它第一子图结构中的边缘邻居节点,将所述边缘邻居节点以及所述边缘邻居节点和所述边缘节点之间的连接关系,存储至所述边缘节点所在的第一子图结构对应的计算快速链路设备中。
13.如权利要求1-12任一项所述的图神经网络模型的训练架构,其特征在于,所述计算快速链路设备包括计算单元、私有的第二设备内存和非一致性内存访问节点管理的第一设备内存,所述非一致性内存访问节点的部分物理地址与第一设备内存的物理地址之间一一映射;
将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备中,包括:
将N个所述第一子图结构数据一一对应分配至N个所述计算快速链路设备的第二设备内存中;
所述计算快速链路设备的第二设备内存,用于存储和自身对应的第一子图结构数据;
所述计算单元,用于根据所述第二设备内存中的第一子图结构数据对所述第一子图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据,并将所述第二子图结构数据发送至所述图形处理器,将所述第二子图结构数据中的节点标识写入所述第一设备内存;
所述第一设备内存,用于存储所述第二子图结构数据中的节点标识;
在所述计算快速链路设备得到第二子图结构数据时,将所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器,包括:
获取所述第一设备内存中的节点标识,并根据所述节点标识确定各个节点标识对应的节点特征向量,并发送至所述图形处理器。
14.如权利要求13所述的图神经网络模型的训练架构,其特征在于,所述非一致性内存访问节点还用于在初始化所述计算快速链路设备时,根据所述计算快速链路设备的设备内存容量及预设比例,将所述计算快速链路设备的设备内存划分为第一设备内存和第二设备内存,并将所述第一设备内存中的物理地址与自身的部分物理地址一一映射。
15.如权利要求14所述的图神经网络模型的训练架构,其特征在于,所述预设比例的确定方式为:根据所述图结构数据的类型、所述第一子图结构数据的数据量大小以及所述第一子图结构数据对应的节点标识的数据量大小确定。
16.如权利要求13所述的图神经网络模型的训练架构,其特征在于,所述非一致性内存访问节点,还用于将每个所述第一子图结构数据划分为M个第三子图结构数据,并将每个所述第一子图结构数据对应的M个所述第三子图结构数据中的各个节点标识存储在计算快速链路设备的第一设备内存中;在所述计算快速链路设备得到第四子图结构数据时,获取所述第一设备内存中存储的所述第四子图结构数据中各节点的节点标识,根据所述第四子图结构数据中各节点的节点标识获取所述第四子图结构数据中各节点的节点特征向量并发送至所述图形处理器,M为大于一的整数;
所述计算快速链路设备的第一设备内存,具体用于存储和自身对应的M个第三子图结构数据中的各个节点标识;
所述计算快速链路设备的计算单元,具体用于依次根据所述第三子图结构数据中的各个节点标识对每个所述第三子图结构数据中各节点进行邻居节点抽样,得到抽样后的第四子图结构数据,并将所述第四子图结构数据中各节点的节点标识写入所述第一设备内存;
所述图形处理器,具体用于存储图神经网络模型,并依次接收所述计算快速链路设备发送的所述第四子图结构数据和所述非一致性内存访问节点发送的所述第四子图结构数据中各节点对应的节点特征向量,根据所述第四子图结构数据和所述节点特征向量对所述图神经网络模型进行训练,并在训练完成后更新自身存储的所述图神经网络模型的模型参数。
17.如权利要求13所述的图神经网络模型的训练架构,其特征在于,所述计算快速链路设备还包括与所述计算单元连接的内存缓冲器;
所述非一致性内存访问节点,还用于将所述图结构数据划分为N个第一子图结构数据之后,将N个所述第一子图结构数据按照度分布的大小进行排序;
所述内存缓冲器用于存储所述度分布最大的第一子图结构数据中的节点和边的数据,以提供给所述计算单元。
18.如权利要求17所述的图神经网络模型的训练架构,其特征在于,所述内存缓冲器具体用于在所述度分布最大的第一子图结构数据中节点和边的数据大于自身的内存容量时,存储所述度分布最大的第一子图结构数据中的部分节点和部分边的数据。
19.一种图神经网络模型的训练方法,其特征在于,应用于如权利要求1所述的计算快速链路设备,所述图神经网络模型的训练方法包括:
获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
对所述第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
将所述第二子图结构数据发送至图形处理器,并触发所述非一致性内存访问节点将与所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
触发所述图形处理器基于所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
20.一种图神经网络模型的训练系统,其特征在于,应用于如权利要求1所述的计算快速链路设备,所述图神经网络模型的训练系统包括:
获取单元,用于获取非一致性内存访问节点发送的对图结构数据划分后且与自身对应的第一图结构数据;
抽样单元,用于对所述第一图结构数据中的节点进行邻居节点抽样,得到抽样后的第二子图结构数据;
发送单元,用于将所述第二子图结构数据发送至图形处理器,并触发所述非一致性内存访问节点将与所述第二子图结构数据中各节点对应的节点特征向量发送至所述图形处理器;
训练单元,用于触发所述图形处理器基于所述第二子图结构数据和所述第二子图结构数据中各节点对应的节点特征向量对图神经网络模型进行训练。
21.一种服务器,其特征在于,包括如权利要求1-18任一项所述的图神经网络模型的训练架构。
CN202410214274.4A 2024-02-27 2024-02-27 一种图神经网络模型的训练架构、方法、系统及服务器 Active CN117785490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410214274.4A CN117785490B (zh) 2024-02-27 2024-02-27 一种图神经网络模型的训练架构、方法、系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410214274.4A CN117785490B (zh) 2024-02-27 2024-02-27 一种图神经网络模型的训练架构、方法、系统及服务器

Publications (2)

Publication Number Publication Date
CN117785490A CN117785490A (zh) 2024-03-29
CN117785490B true CN117785490B (zh) 2024-05-10

Family

ID=90385446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410214274.4A Active CN117785490B (zh) 2024-02-27 2024-02-27 一种图神经网络模型的训练架构、方法、系统及服务器

Country Status (1)

Country Link
CN (1) CN117785490B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118152141B (zh) * 2024-05-07 2024-08-06 浪潮电子信息产业股份有限公司 一种基于内存扩展系统的高维向量检索方法、系统、装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751275A (zh) * 2019-08-03 2020-02-04 北京达佳互联信息技术有限公司 图训练系统、数据访问方法及装置、电子设备、存储介质
CN112734034A (zh) * 2020-12-31 2021-04-30 平安科技(深圳)有限公司 模型训练方法、调用方法、装置、计算机设备和存储介质
CN112884120A (zh) * 2021-01-29 2021-06-01 北京大学 图神经网络表示架构
CN116090504A (zh) * 2021-11-04 2023-05-09 腾讯科技(深圳)有限公司 图神经网络模型训练方法及装置、分类方法、计算设备
CN116610607A (zh) * 2023-05-19 2023-08-18 广东浪潮智慧计算技术有限公司 一种人工智能模型的训练方法、装置、设备及介质
CN117076937A (zh) * 2023-10-16 2023-11-17 苏州元脑智能科技有限公司 分布式系统的节点训练方法、装置和分布式系统
CN117196033A (zh) * 2023-09-27 2023-12-08 东南大学 基于异构图神经网络的无线通信网络知识图谱表示学习方法
CN117546200A (zh) * 2021-11-05 2024-02-09 英特尔公司 在图形环境中具有重要性采样的组合的降噪和升尺度网络

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220124543A1 (en) * 2021-06-30 2022-04-21 Oner Orhan Graph neural network and reinforcement learning techniques for connection management

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751275A (zh) * 2019-08-03 2020-02-04 北京达佳互联信息技术有限公司 图训练系统、数据访问方法及装置、电子设备、存储介质
CN112734034A (zh) * 2020-12-31 2021-04-30 平安科技(深圳)有限公司 模型训练方法、调用方法、装置、计算机设备和存储介质
CN112884120A (zh) * 2021-01-29 2021-06-01 北京大学 图神经网络表示架构
CN116090504A (zh) * 2021-11-04 2023-05-09 腾讯科技(深圳)有限公司 图神经网络模型训练方法及装置、分类方法、计算设备
CN117546200A (zh) * 2021-11-05 2024-02-09 英特尔公司 在图形环境中具有重要性采样的组合的降噪和升尺度网络
CN116610607A (zh) * 2023-05-19 2023-08-18 广东浪潮智慧计算技术有限公司 一种人工智能模型的训练方法、装置、设备及介质
CN117196033A (zh) * 2023-09-27 2023-12-08 东南大学 基于异构图神经网络的无线通信网络知识图谱表示学习方法
CN117076937A (zh) * 2023-10-16 2023-11-17 苏州元脑智能科技有限公司 分布式系统的节点训练方法、装置和分布式系统

Also Published As

Publication number Publication date
CN117785490A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US11487698B2 (en) Parameter server and method for sharing distributed deep learning parameter using the same
CN117785490B (zh) 一种图神经网络模型的训练架构、方法、系统及服务器
CN110532092A (zh) 资源匹配方法、装置及设备
CN110688219B (zh) 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
Zhan et al. Pipe-torch: Pipeline-based distributed deep learning in a gpu cluster with heterogeneous networking
CN111708641A (zh) 一种内存管理方法、装置、设备及计算机可读存储介质
Song et al. Gaia scheduler: A kubernetes-based scheduler framework
CN110659278A (zh) 基于cpu-gpu异构架构的图数据分布式处理系统
CN108874532A (zh) 内存分配方法及设备
CN110689174B (zh) 基于公共交通的人员路线规划方法及装置
CN117061365B (zh) 一种节点选择方法、装置、设备及可读存储介质
CN113344074B (zh) 模型训练方法、装置、设备及存储介质
CN117474130B (zh) 一种基于多云互享的联邦学习系统、方法及装置
CN110222410A (zh) 一种基于Hadoop MapReduce的电磁环境仿真方法
Peng et al. Vcolor: A practical vertex-cut based approach for coloring large graphs
CN108182243A (zh) 一种基于Spark的分布式进化算法岛模型并行化方法
Anwar et al. Recommender system for optimal distributed deep learning in cloud datacenters
US9203733B2 (en) Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing that method
CN109254844B (zh) 一种大规模图的三角形计算方法
Šajina et al. Decentralized trustless gossip training of deep neural networks
CN113190339B (zh) 任务处理方法和装置
Ho et al. Adaptive communication for distributed deep learning on commodity GPU cluster
Couturier et al. Best effort strategy and virtual load for asynchronous iterative load balancing
CN112948087A (zh) 一种基于拓扑排序的任务调度方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant