CN113191486B - 基于参数服务器架构的图数据与参数数据的混合划分方法 - Google Patents
基于参数服务器架构的图数据与参数数据的混合划分方法 Download PDFInfo
- Publication number
- CN113191486B CN113191486B CN202110458807.XA CN202110458807A CN113191486B CN 113191486 B CN113191486 B CN 113191486B CN 202110458807 A CN202110458807 A CN 202110458807A CN 113191486 B CN113191486 B CN 113191486B
- Authority
- CN
- China
- Prior art keywords
- partition
- parameter
- vertex
- vertexes
- graph
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005192 partition Methods 0.000 claims abstract description 173
- 239000013598 vector Substances 0.000 claims abstract description 73
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000013528 artificial neural network Methods 0.000 claims abstract description 28
- 238000003062 neural network model Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims abstract description 5
- 238000000638 solvent extraction Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012958 reprocessing Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于参数服务器架构的图数据与参数数据的混合划分方法,首先将图顶点按广度优先遍历的方式重新处理编号,将顶点编号划分为大小相等的P个区间,取区间的中间值对应的顶点作为多个初始分区,然后基于图拓扑数据与顶点特征维度计算当前分区邻域顶点的代价分数,根据代价分数对邻域顶点进行排序,选取代价分数最小的多个邻域顶点加入当前分区,同时更新当前分区顶点特征权重向量。通过对比多个分区的顶点特征权重向量,将图神经网络模型参数按行划分至在计算时需要使用该参数行顶点的数量最多的分区中。适用于支持图神经网络算法的参数服务器系统,能够减少系统运行时的网络通信开销,加速系统计算效率。
Description
技术领域
本发明涉及图神经网络、参数服务器技术领域,尤其涉及一种基于参数服务器架构的图数据与参数数据的混合划分方法。
背景技术
近年来,人工智能领域不断发展,相关技术已经广泛地应用在生物信息、自然语言处理、计算机视觉、推荐系统等领域。人工智能技术在提升生产效率,改善人民生活方面做出了巨大贡献。
图数据简称图,是计算机技术中描述实体和关系有效的数据结构。其结构定义能天然地表示现实世界中的实体关系,如社交网络、生物网络、知识图谱等,对图的信息挖掘有很高的现实意义。由于直接处理图数据非常困难,所以常常将图上的顶点、边或子图嵌入成向量进行表征,下游算法可以使用这些表征向量来完成特定任务。DeepWalk、LINE、SDNE等方法在网络表示学习领域取得了很大的成功。然而,这些方法在计算上较为复杂并且在大规模上的图上效果并不理想。深度神经网络是一类具有强大表达能力的数学模型。它通过不断地迭代训练,反复调整神经网络的权重,进而使其能够在权重中记忆并表达数据特点。图作为一种极具现实意义的数据结构,与目前最流行、表达能力强大的深度神经网络技术相融合是必然趋势。
图神经网络作为当前最先进的人工智能技术,近两年来,正呈现井喷式的发展趋势,大量文章发表在人工智能方向顶级会议AAAI、ICML、ICLR、NIPS上。图神经网络是一种高效的图嵌入模型,它的提出显著地提升了图上嵌入的准确性。图神经网络大部分遵循循环递归邻域聚合的模式,其中每个顶点聚合其相邻顶点的特征向量以计算其新的特征向量。在k轮聚合迭代后,通过其转换的特征向量来表示该顶点,该向量捕获顶点的k-hop网络邻顶点的结构信息。然后,可以通过池化操作来获得整个图结构的表征,例如对图中所有节点的表征向量求和。大量基于不同的领域聚集的图神经网络变体和图层级的池化模型已经被学者提出。
图神经网络的计算方式以及数据模型与传统大图模型以及传统参数神经网络有着很大的区别。除了需要管理图数据外,还需要同时对大规模神经网络模型进行管理,这使得图神经网络的数据存储与处理的难度更大。随着互联网用户数量激增以及应用软件日益复杂,数据规模呈爆炸性增长。为了能够更好地捕获数据特征,深度学习模型每层宽度和神经网络深度也在快速上升。对于传统图算法和神经网络算法,单机已经远远不能够处理如此大规模的数据,分布式解决方案应运而生。分布式计算框架是通过统筹利用多台机器的算力,并通过网络进行机器间消息通信,进而共同完成一个计算任务的策略。
在分布式图计算中,图数据分区是影响系统性能的重要因素。图数据分区的目标在于将初始图数据划分为多个部分,分别储存在分布式计算节点中,并使得在分布式计算过程中,在保证负载均衡的前提下,各个计算节点间的通信开销尽可能小。平衡的图划分是一个多项式复杂程度的非确定性问题,因此大部分划分策略使用了启发式的方法:通过hash进行顶点切分、边切分或混合切分;基于得分的方法,比如Kernighan-Lin算法;多级化的方法通过将图粗化来降低分区计算的复杂度,对粗化图划分后再将其还原。
参数服务器是目前最先进的分布式深度学习(包含分布式机器学习)框架,具有代表性的几个系统包括Petuum,Parameter Server,FlexPS,Multiverso,Angel,Torch等。参数服务器的提出使得分布式深度学习训练更加灵活。这些系统在解决深度神经网络模型问题上做出了巨大贡献,并针对深度神经网络特点进行了特异性优化,包括参数划分、灵活并行控制、动态并行度调整等。然而,基于参数服务器的分布式框架在处理图问题上还未充分进行讨论。传统的参数服务器并不支持图上的算法和针对图算法的优化,包括图数据的划分技术。由于在参数服务器框架上进行图神经网络计算,图数据的划分不仅影响顶点通信开销,也决定了参数以及梯度通信的开销。目前还没有相关工作考虑到在参数服务器上进行图神经网络任务的数据划分。
发明内容
针对现有技术存在的不足,本发明提供一种基于参数服务器架构的图数据与参数数据的混合划分方法,旨在改善现有数据分区方法的不足,通过减少顶点间通信和参数通信提高分布式环境下支持图神经网络的参数服务器系统的运算效率。
为解决上述技术问题,本发明提供一种基于参数服务器架构的图数据与参数数据的混合划分方法,包括:
步骤1:在原始图数据中构建初始顶点,包括:
步骤1.1:通过使用广度优先遍历,将原始图数据ID进行重新编号;
步骤1.2:将重新编号后的所有顶点ID划分为大小均等的P个区间,计算每个ID分区内编号的中间值计算公式如下:
式中,xr表示每个编号区间的右端点值,xl表示每个编号区间的左端点值,表示向下取整运算;
步骤1.3:选取每个ID分区的中间值所对应的顶点作为初始顶点;
步骤2:以初始顶点作为初始分区对图数据进行邻域分区;
步骤3:计算每个分区的参数权重向量,根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,将参数行划分至需要使用其进行图神经网络计算的顶点数量最多的分区中。
所述步骤2包括:
步骤2.1:根据公式(2)定义图数据G(V,E)中每个分区X的邻居顶点集合B(X);
B(X)={u|u∈V\X,v∈X,ev,u∈E} (2)
式中,V表示图数据中所有顶点的集合,E表示顶点之间边的集合,v∈X表示分区X中的顶点,u∈V\X表示属于集合V但不属于集合X的顶点,ev,u表示顶点v、u之间的边;
步骤2.2:从分区X的初始顶点开始不断搜索分区X的邻居顶点集合中的顶点,选择增加分区网络开销最小的顶点加入到分区X中,直到分区X中的顶点个数超过预设上限值,并将选择过的顶点从集合V中删除;
步骤2.3:针对每个初始顶点和集合V中剩余的顶点,重复步骤2.2继续划分分区,如果得到的分区数小于P且剩余的集合V中不存在初始顶点时,任意指定其他顶点为初始顶点继续划分分区,直到得到P个分区。
所述步骤2.2中选择增加分区网络开销最小的顶点加入到分区X中,包括:
步骤2.2.1:将分区X中所有稀疏性向量累计得到参数权重向量ζ:
式中,n′表示分区X中的顶点数量,ηi表示第i个顶点对应的稀疏性向量;
步骤2.2.2:将参数权重向量中的每个元素与每个顶点的稀疏性向量中的对应元素一一相减,相减后的向量中负数元素的个数记为与分区X内顶点特征稀疏性不一致的维度的数量m;
步骤2.2.3:对分布式系统运行图神经网络算法时,图数据中的顶点间通信代价Cedge、参数通信代价Cparameter分别表示为:
式中,n表示顶点u加入到分区X时分区与邻域之间边数量的变化值,f表示顶点的特征向量维度,j表示图神经网络模型的参数矩阵的列数量,m表示与分区X内顶点特征稀疏性不一致的维度的数量,Cint表示网络传输中整型变量所占字节数,Cfloat表示网络传输中单精度变量所占字节数;
步骤2.2.4:利用公式(5)计算分区X的邻域内每个顶点的代价分数S(u);
S(u)=2n(fCfloat+Cint)+2m(jCfloat+Cint) (5)
步骤2.2.5:根据代价分数对分区X邻域顶点排序,将最小代价分数所对应的顶点作为增加分区网络开销最小的顶点。
所述步骤3中根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,包括:
步骤3.1:对比所有图数据分区的参数权重向量ζ1,ζ2,…,ζP在第0维度的值,找出最大值的参数权重向量ζt,将图神经网络模型的第0行参数划分至第t个参数分区;
步骤3.2:检查第t个参数分区的参数行数量,若达到上限,则将参数权重向量ζt全部值更改为0;
步骤3.3:针对参数权重向量的剩余维度,重复步骤3.1与步骤3.2,直至划分完毕图神经网络模型的所有参数行。
本发明的有益效果:
本发明的基于参数服务器架构的图数据与参数数据的混合划分方法适用于支持图神经网络算法的参数服务器系统,利用图数据拓扑信息与特征信息,能够减少顶点通信代价和参数通信代价,从而减少系统运行时的网络通信开销,加速系统计算效率。
附图说明
图1为本发明的基于参数服务器架构的图数据与参数数据的混合划分方法流程图;
图2为本发明的图数据分区过程示意图,其中(a)为当前分区内包含三个顶点时,分区内顶点、邻域顶点、邻域外顶点的拓扑结构表示,(b)为顶点u2加入当前分区后,分区内顶点、邻域顶点、邻域外顶点的拓扑结构表示。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。
在本发明提供的基于参数服务器架构的图数据与参数数据的混合划分方法中,对于图数据的划分来说,首先,对初始图数据顶点ID使用深度优先遍历进行重新编号。接着,将顶点编号划分为大小相等的P个区间,取区间编号的中间值对应的顶点作为初始分区的初始顶点。由图拓扑数据与顶点特征数据构建混合代价模型,使用代价模型计算当前分区邻域顶点的代价分数,根据代价分数对邻域顶点进行排序,选取代价分数最小的多个邻域顶点加入当前分区,同时更新当前分区内顶点的参数权重向量,通过不断执行上述邻域顶点代价分数的计算与排序将新顶点加入分区的步骤,扩展当前分区直至分区大小达到预设上限。
在本发明提供的基于参数服务器架构的图数据与参数数据的混合划分方法中,对于模型参数数据的划分来说,首先在图数据划分阶段,每个分区动态维护其分区内顶点的参数权重向量,通过按维度遍历所有分区参数权重向量,将图神经网络模型参数按行划分至在计算时需要使用该参数行顶点的数量最多的分区中。在参数服务器系统进行图神经网络任务的计算时,能够有效减少集群节点间的参数通信。
如图1所示,一种基于参数服务器架构的图数据与参数数据的混合划分方法,包括:
步骤1:在原始图数据中构建初始顶点,该步骤从初始图数据中选择多个顶点作为初始分区,包括:初始图数据编号与初始顶点选择,具体包括如下步骤:
步骤1.1:通过使用广度优先遍历,将原始图数据ID进行重新编号;
在原始图数据中,顶点ID除了标识顶点外,通常不包含其他信息。通过对图数据顶点ID进行重新排列,使顶点ID能够在一定程度上表示其拓扑信息,比如ID相接近的两个顶点,其在拓扑结构中的位置也是相近的。为了实现这一点采用广度优先遍历的方式为顶点编号。首先在初始图数据中随机选取一个顶点作为广度优先遍历的起点,将其ID编号设为0,然后从其一阶邻居依次赋值,直至遍历整个初始图。
广度遍历后的任意两个顶点的重新编号后的ID的差值能够在一定程度上表示这两个顶点的拓扑距离,为了取得恰当的图数据分区,每个分区的初始顶点应当在拓扑空间中尽可能远离彼此。当需要将图数据划分为P个分区时,将顶点ID划分为大小均等的P个区间,每个区间取作为中间值的ID作为该区间的初始顶点。这样取得的P个初始顶点再图拓扑空间中的距离也相对较大。在后续进行图数据的邻域分区时更容易减少跨节点边的数量。
步骤1.2:将重新编号后的所有顶点ID划分为大小均等的P个区间,计算每个ID分区内编号的中间值计算公式如下:
式中,xr表示每个编号区间的右端点值,xl表示每个编号区间的左端点值,表示向下取整运算;
步骤1.3:选取每个ID分区的中间值所对应的顶点作为初始顶点;
在以初始顶点构建完初始分区后,采用贪婪策略从当前分区的邻域内选择顶点加入当前分区。
步骤2:以初始顶点作为初始分区对图数据进行邻域分区;包括:
步骤2.1:根据公式(2)定义图数据G(V,E)中每个分区X的邻居顶点集合B(X);
B(X)={u|u∈V\X,v∈X,ev,u∈E} (2)
式中,V表示图数据中所有顶点的集合,E表示顶点之间边的集合,v∈X表示分区X中的顶点,u∈V\X表示属于集合V但不属于集合X的顶点,ev,u表示顶点v、u之间的边;
步骤2.2:从分区X的初始顶点开始不断搜索分区X的邻居顶点集合中的顶点,选择增加分区网络开销最小的顶点加入到分区X中,直到分区X中的顶点个数超过预设上限值,并将选择过的顶点从集合V中删除;
假设有P台工作机worker,通过以下步骤,可以将G(V,E)划分为P个分区:
(1)每个分区从已经选取的初始顶点开始计算。
(2)不断搜索邻域内顶点将其加入自身中,直到顶点集合的大小超过限制,被选择的顶点从V中删除。
(3)使用下个初始顶点和剩余的顶点集合V,继续生成分区,当V为空时终止。
从邻域不断迭代选择顶点加入到当前分区时,需要确定如何从邻域选择顶点的标准,数据分区的目标为尽可能减少分区后的顶点数据通信与参数数据通信之和,那么在选择顶点时,我们同样贪婪的选取在加入此分区后分区增加的网络开销最小的顶点。因此对于邻域范围的每个顶点v,我们对其计算代价分数
代价分数可以用公式描述为:
S′(u)=nCedge+mCparamter
其中,n为表示顶点u加入到分区X时分区与邻域之间边数量的变化值,m为与当前分区内顶点特征稀疏性不一致维度的数量。例如,将当前分区内顶点属性之和的稀疏性用一只包含0和1的向量η表示,若此向量为{1,1,1,1,0,0,0},而顶点u的属性向量表示为{0,0,1,1,1,0,1},则m的值为2,因为在η中的三个值为0的属性维度上,顶点u相应的维度有两个不为0,在后续计算中由于u的加入需要额外用到2个参数。Cedge为一次顶点间消息传递的开销,Cparameter为一次参数消息传递的开销。
所述步骤2.2中选择增加分区网络开销最小的顶点加入到分区X中,包括:
步骤2.2.1:将分区X中所有稀疏性向量累计得到参数权重向量ζ:
式中,n′表示分区X中的顶点数量,ηi表示第i个顶点对应的稀疏性向量;
步骤2.2.2:将参数权重向量中的每个元素与每个顶点的稀疏性向量中的对应元素一一相减,相减后的向量中负数元素的个数记为与分区X内顶点特征稀疏性不一致的维度的数量m;
步骤2.2.3:对分布式系统运行图神经网络算法时,图数据中的顶点间通信代价Cedge、参数通信代价Cparameter分别表示为:
式中,n表示顶点u加入到分区X时分区与邻域之间边数量的变化值,f表示顶点的特征向量维度,j表示图神经网络模型的参数矩阵的列数量,m表示与分区X内顶点特征稀疏性不一致的维度的数量,Cint表示网络传输中整型变量所占字节数,Cfloat表示网络传输中单精度变量所占字节数;
步骤2.2.4:利用公式(5)计算分区X的邻域内每个顶点的代价分数S(u);
S(u)=2n(fCfloat+Cint)+2m(jCfloat+Cint) (5)
步骤2.2.5:根据代价分数对分区X邻域顶点排序,将最小代价分数所对应的顶点作为增加分区网络开销最小的顶点。
两种网络通信的开销分析:对于顶点间通信Cedge,在图神经网络模型迭代训练过程中,目标顶点需要在正向传播与反向传播过程中产生两次顶点间通信,分别为正向传播中从非本地邻居顶点将特征表示发送至目标顶点与反向传播中将计算的嵌入结果返回至邻居顶点,记顶点的特征向量维度为f,在分布式系统使用gprc和protobuf通信的配置下,顶点编号以4字节整型变量编码传输,顶点特征以4字节单精度向量进行编码传输,则顶点间通信代价C′edge=2*4*(f+1)(由于发送请求的消息数据量很小,忽略了这部分代价)。对于参数通信代价Cparamter,与顶点通信相似,同样由正向传播与反向传播中的拉取参数以及上传梯度两部分构成。以图神经网络模型A*X*W为例进行分析,其中A为邻接矩阵,X为特征矩阵,W为模型参数矩阵。当X矩阵第k列值均为0时,则在计算中不需要用到矩阵W第k行的值。因此参数以行为单位进行划分,以key-value的形式进行储存,在计算中请求非本地参数时,也需要以行为单位获取参数信息,记参数矩阵W的列数量为j,参数行key使用4字节整型变量编码传输,参数值以4字节单精度向量进行编码传输。若对于目标顶点,其特征向量中m个维度所对应的模型参数行没有储存在本地server中,则参数通信代价C′paramter=2*4*m*(j+1)。
针对于gprc和protobuf通信的配置下,则代价分数可推导为S″(u):
S″(u)=8n(f+1)+8m(j+1)
综上所述,在分区过程中,我们每次选取当前邻域范围内S″(u)值最小的顶点加入至当前分区,并动态更新邻域范围与邻域内顶点的S″(u)值。如图2所示。
为了计算邻域范围内顶点的参数通信代价,需要将顶点特征向量的稀疏性与当前分区的稀疏性作对比,因此在分区过程中需要维护一个向量ζ来表示分区的稀疏性,将其称为参数权重向量,ζ长度为图数据特征长度,其中每一位代表当前分区内顶点特征对应维数的非零值数量。记当前分区每个顶点的特征稀疏性为向量η,其每一位为0,1两种值,0值代表此位对应的顶点特征为0,1值代表特征不为0。若当前分区内顶点数量为n′,则可计算出分区的ζ:
假设图2中的(a)中当前分区内的ζ={3,3,3,3,0,0,0},顶点u1,u2,u3的稀疏性向量分别为η1={0,1,1,1,1,0,0},η2={0,1,1,1,1,0,0},η3={0,1,1,1,1,1,1}。将参数权重向量与顶点的稀疏性向量相减,结果中的负数个数即为将此顶点加入分区后增加的参数通信负载,以u1顶点的计算为例:ζ-η1={3,2,2,2,-1,0,0},将其加入分区的参数通信负载为1*Cparameter。根据分区的参数权重向量和图拓扑结构数据,可以分别计算出三个顶点的代价分数:
S(u1)=2Cedge+Cparameter
S(u2)=Cedge+Cparameter
S(u3)=Cedge+3Cparameter
选取代价分数最小的u2加入当前分区,同时更新邻域(将u2不属于当前分区且不属于当前邻域的邻居顶点加入邻域范围)和ζ。ζ的更新过程为:
ζ=ζ+η2={3,4,4,4,1,0,0}
在上述算法中,每选择一个新的邻居加入当前分区,都需要更新分区的参数权重向量以及邻域顶点,并更新邻域顶点的代价分数。当分区内顶点数量越来越多的时候,其邻域顶点数量也越来越多,这会导致更新代价分数的计算开销越来越大,为了加快分区的速度,在从邻域选取顶点时,算法会一次性选取k个代价最小的顶点加入当前分区。在计算邻域内顶点代价时,使用优先队列为邻域顶点进行排序。
步骤2.3:针对每个初始顶点和集合V中剩余的顶点,重复步骤2.2继续划分分区,如果得到的分区数小于P且剩余的集合V中不存在初始顶点时,任意指定其他顶点为初始顶点继续划分分区,直到得到P个分区。
步骤3:计算每个分区的参数权重向量,根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,将参数行划分至需要使用其进行图神经网络计算的顶点数量最多的分区中;
所述步骤3中根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,包括:
步骤3.1:对比所有图数据分区的参数权重向量ζ1,ζ2,…,ζP在第0维度的值,找出最大值对应的参数权重向量ζt,将图神经网络模型的第0行参数划分至第t个参数分区;
步骤3.2:检查第t个参数分区的参数行数量,若达到上限f/P,则将参数权重向量ζt全部值更改为0;
步骤3.3:针对参数权重向量的剩余维度,重复步骤3.1与步骤3.2,直至划分完毕图神经网络模型的所有参数行。
首先将分区数量P、图数据特征维度f和各分区参数权重向量ζ1,ζ2,…,ζP作为输入,然后从特征的第0维度开始,依次遍历参数权重向量ζ1至ζP的每个维度(每个维度对应图神经网络模型中的一行参数),找出具有最大权重值的分区,并将当前维度的参数划分至此分区中,重复这一过程直至特征的第f维度。具体来说,当算法遍历至第i’个特征维度时,通过对比各分区参数权重向量ζ1,ζ2,…,ζP的第i’维度权重值,找出具有最大权重的向量ζj’,将图神经网络模型中对应第i’行参数加入第j’个分区中,为平衡个服务器节点的工作负载,需要使各节点维护同样数量的参数,因此设定各分区参数数量阈值,其值为f/P,当一个分区内参数数量达到阈值后,则将其参数权重向量的值更新为0,这样在之后维度的参数划分过程中,不会有参数被分配到此分区。
Claims (2)
1.一种基于参数服务器架构的图数据与参数数据的混合划分方法,其特征在于,包括:
步骤1:在原始图数据中构建初始顶点,包括:
步骤1.1:通过使用广度优先遍历,将原始图数据ID进行重新编号;
步骤1.2:将重新编号后的所有顶点ID划分为大小均等的P个区间,计算每个ID分区内编号的中间值计算公式如下:
式中,xr表示每个编号区间的右端点值,xl表示每个编号区间的左端点值,表示向下取整运算;
步骤1.3:选取每个ID分区的中间值所对应的顶点作为初始顶点;
步骤2:以初始顶点作为初始分区对图数据进行邻域分区;
步骤3:计算每个分区的参数权重向量,根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,将参数行划分至需要使用其进行图神经网络计算的顶点数量最多的分区中;
所述步骤2包括:
步骤2.1:根据公式(2)定义图数据G(V,E)中每个分区X的邻居顶点集合B(X);
B(X)={u|u∈V\X,v∈X,ev,u∈E} (2)
式中,V表示图数据中所有顶点的集合,E表示顶点之间边的集合,v∈X表示分区X中的顶点,u∈V\x表示属于集合V但不属于集合X的顶点,ev,u表示顶点v、u之间的边;
步骤2.2:从分区X的初始顶点开始不断搜索分区X的邻居顶点集合中的顶点,选择增加分区网络开销最小的顶点加入到分区X中,直到分区X中的顶点个数超过预设上限值,并将选择过的顶点从集合V中删除;
步骤2.3:针对每个初始顶点和集合V中剩余的顶点,重复步骤2.2继续划分分区,如果得到的分区数小于P且剩余的集合V中不存在初始顶点时,任意指定其他顶点为初始顶点继续划分分区,直到得到P个分区;
所述步骤2.2中选择增加分区网络开销最小的顶点加入到分区X中,包括:
步骤2.2.1:将分区X中所有稀疏性向量累计得到参数权重向量ζ:
式中,n′表示分区X中的顶点数量,ηi表示第i个顶点对应的稀疏性向量;
步骤2.2.2:将参数权重向量中的每个元素与每个顶点的稀疏性向量中的对应元素一一相减,相减后的向量中负数元素的个数记为与分区X内顶点特征稀疏性不一致的维度的数量m;
步骤2.2.3:对分布式系统运行图神经网络算法时,图数据中的顶点间通信代价Cedge、参数通信代价Cparameter分别表示为:
式中,n表示顶点u加入到分区X时分区与邻域之间边数量的变化值,f表示顶点的特征向量维度,j表示图神经网络模型的参数矩阵的列数量,m表示与分区X内顶点特征稀疏性不一致的维度的数量,Cint表示网络传输中整型变量所占字节数,Cfloat表示网络传输中单精度变量所占字节数;
步骤2.2.4:利用公式(5)计算分区X的邻域内每个顶点的代价分数S(u);
S(u)=2n(fCfloat+Cint)+2m(jCfloat+Cint) (5)
步骤2.2.5:根据代价分数对分区X邻域顶点排序,将最小代价分数所对应的顶点作为增加分区网络开销最小的顶点。
2.根据权利要求1所述的一种基于参数服务器架构的图数据与参数数据的混合划分方法,其特征在于,所述步骤3中根据P个分区的参数权重向量对图神经网络模型参数按行划分为P个分区,包括:
步骤3.1:对比所有图数据分区的参数权重向量ζ1,ζ2,…,ζP在第0维度的值,找出最大值对应的参数权重向量ζt,将图神经网络模型的第0行参数划分至第t个参数分区;
步骤3.2:检查第t个参数分区的参数行数量,若达到上限,则将参数权重向量ζt全部值更改为0;
步骤3.3:针对参数权重向量的剩余维度,重复步骤3.1与步骤3.2,直至划分完毕图神经网络模型的所有参数行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458807.XA CN113191486B (zh) | 2021-04-27 | 2021-04-27 | 基于参数服务器架构的图数据与参数数据的混合划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458807.XA CN113191486B (zh) | 2021-04-27 | 2021-04-27 | 基于参数服务器架构的图数据与参数数据的混合划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113191486A CN113191486A (zh) | 2021-07-30 |
CN113191486B true CN113191486B (zh) | 2023-10-13 |
Family
ID=76979355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110458807.XA Active CN113191486B (zh) | 2021-04-27 | 2021-04-27 | 基于参数服务器架构的图数据与参数数据的混合划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113191486B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824050B (zh) * | 2023-06-16 | 2024-06-04 | 广东际洲科技股份有限公司 | 一种it设备可视化运维系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918199A (zh) * | 2019-02-28 | 2019-06-21 | 中国科学技术大学苏州研究院 | 基于gpu的分布式图处理系统 |
CN112651488A (zh) * | 2020-12-22 | 2021-04-13 | 四川长虹电器股份有限公司 | 一种改善大型图卷积神经网络的训练效率的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198529B2 (en) * | 2015-02-24 | 2019-02-05 | University-Industry Cooperation Group Of Kyung Hee University | Apparatus and method of processing graphic data using index based triangle listing |
-
2021
- 2021-04-27 CN CN202110458807.XA patent/CN113191486B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918199A (zh) * | 2019-02-28 | 2019-06-21 | 中国科学技术大学苏州研究院 | 基于gpu的分布式图处理系统 |
CN112651488A (zh) * | 2020-12-22 | 2021-04-13 | 四川长虹电器股份有限公司 | 一种改善大型图卷积神经网络的训练效率的方法 |
Non-Patent Citations (3)
Title |
---|
multi-scale convolutional neural network with time cognition for multi step short term load forecasting;zhuofu deng等;Journals & Magazines;88058-88071 * |
一种改进的并行计算图划分模型;马永刚;谭国真;杨际祥;潘东;;小型微型计算机系统;第32卷(第03期);416-420 * |
分布式图处理系统技术综述;王童童;荣垂田;卢卫;杜小勇;;软件学报;第29卷(第03期);569-586 * |
Also Published As
Publication number | Publication date |
---|---|
CN113191486A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN110533183B (zh) | 流水线分布式深度学习中异构网络感知的任务放置方法 | |
CN111275172A (zh) | 一种基于搜索空间优化的前馈神经网络结构搜索方法 | |
CN113359849B (zh) | 一种针对运动目标的多无人机协同快速搜索方法 | |
CN113761221B (zh) | 基于图神经网络的知识图谱实体对齐方法 | |
CN112187554A (zh) | 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统 | |
CN116681104B (zh) | 分布式空间图神经网络的模型建立及实现方法 | |
Chen et al. | Efficient join order selection learning with graph-based representation | |
CN113191486B (zh) | 基于参数服务器架构的图数据与参数数据的混合划分方法 | |
Zhang et al. | Reinforcement learning with actor-critic for knowledge graph reasoning | |
CN114239237A (zh) | 一种支持数字孪生的配电网仿真场景生成系统与方法 | |
CN113326343A (zh) | 基于多级网格和文件索引的路网数据存储方法及系统 | |
CN116304213B (zh) | 基于图神经网络的rdf图数据库子图匹配查询优化方法 | |
CN117520956A (zh) | 一种基于强化学习和元学习的两阶段自动化特征工程方法 | |
Wu | Data association rules mining method based on improved apriori algorithm | |
Verma et al. | A novel framework for neural architecture search in the hill climbing domain | |
CN116400963A (zh) | 一种基于负载均衡的模型自动并行方法、设备及存储介质 | |
CN108804582A (zh) | 基于大数据间复杂关系的图数据库优化的方法 | |
CN113590912B (zh) | 融合节点相对位置和绝对度分布的跨社交网络对齐方法 | |
Chen et al. | Community Detection Based on DeepWalk Model in Large‐Scale Networks | |
CN115001978A (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
CN113743012A (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 | |
Wang et al. | Spatial queries based on learned index | |
CN114090835B (zh) | 一种基于属性图信息的社团检测方法 | |
Wu et al. | An improved genetic algorithm based on explosion mechanism |
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 |