CN114048847A - 一种图神经网络数据缓存方法、装置、设备及存储介质 - Google Patents
一种图神经网络数据缓存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114048847A CN114048847A CN202111355513.0A CN202111355513A CN114048847A CN 114048847 A CN114048847 A CN 114048847A CN 202111355513 A CN202111355513 A CN 202111355513A CN 114048847 A CN114048847 A CN 114048847A
- Authority
- CN
- China
- Prior art keywords
- vertex
- training
- graph
- clustering
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 67
- 238000012549 training Methods 0.000 claims description 118
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000012821 model calculation Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000003814 drug Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 241001229889 Metis Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Abstract
本发明公开了一种图神经网络数据缓存方法、装置、设备及存储介质;在本方案中,在将图数据集中各顶点的特征数据缓存至GPU显存之前,为了避免GPU显存不能缓存全部特征数据,可先对各顶点进行聚类,将属于同一聚类的顶点分配至同一GPU,每个GPU只缓存每一部分顶点的l阶邻域(l是图神经网络层数);并且,由于同一聚类内的邻域扩展会集中在该聚类内,因此这种根据顶点聚类信息划分到GPU并且缓存扩展邻域的方式,可以有效减少GPU缓存的数据量,保证全部顶点的特征数据均缓存至对应的GPU显存,避免GPU频繁访问主存储器,提高数据加载速度。
Description
技术领域
本发明涉及数据缓存技术领域,更具体地说,涉及一种图神经网络数据缓存方法、装置、设备及存储介质。
背景技术
图数据作为一种非结构化的数据,已经广泛应用到推荐系统、社交网络、知识图谱等领域中,图神经网络已经成为处理图数据的有力工具。目前图神经网络模型训练有一个关键问题是从主存储器到GPU(graphics processing unit,图形处理器)显存的冗余数据加载。由于现实世界图数据中顶点的依赖性,图数据中不同训练顶点可能共享许多公共的邻居顶点。比如在引文网络图中,每个顶点是一篇论文,边表示论文之间的引用关系,一篇论文可以引用多篇文章,同一篇论文也可能被多个不同的论文引用,这种共同邻居顶点是因为图中的一个顶点很可能连接到多个训练顶点,使得扩展不同训练顶点的邻域时可能会重复采样部分顶点到样本批次中。这种不同训练批次之间的数据重叠模式加重了数据加载的负担。因此,对于每个训练迭代,加载的顶点数目会是原始图数据集顶点数目的几十倍。由于GPU只能在数据加载后开始训练,因此在图神经网络模型计算之前有很长的等待时间。
为了减少冗余的数据加载,现有方案利用有限的GPU显存缓存部分特征数据,训练期间直接从GPU取数据,而不用频繁的访问主存储器。但是,由于GPU显存不能缓存全部特征数据,因此训练中仍有一些缺失的数据需要从主存储器中获取,导致数据加载时间改进有限。因此,如何避免GPU频繁访问主存储器,提高数据加载速度是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种图神经网络数据缓存方法、装置、设备及存储介质,以避免GPU频繁访问主存储器,提高数据加载速度。
为实现上述目的,本发明提供一种图神经网络数据缓存方法,包括:
通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
在每个聚类中确定训练顶点,并根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据,并将所述特征数据缓存至对应的图形处理器的显存。
其中,所述在每个聚类中确定训练顶点,包括:
获取顶点映射表;所述顶点映射表中记录了所述图数据集中聚类前各顶点与聚类后各顶点的对应关系;
根据所述图数据集中聚类前各顶点的顶点类型以及所述顶点映射表,在每个聚类中确定训练顶点。
其中,所述根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点,包括:
根据图形处理器的总数量以及每个训练顶点的聚类信息,将属于不同聚类的训练顶点平均分配至不同图形处理器,确定每个图形处理器对应的目标训练顶点;其中,属于同一聚类的训练顶点均分配至同一图形处理器。
其中,所述对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点,包括:
确定图神经网络的层数;
根据所述层数对不同图形处理器的目标训练顶点进行邻域扩展,以确定与计算相关的每个图形处理器的邻域顶点。
其中,将所述特征数据缓存至对应的图形处理器的显存之后,还包括:
通过训练进程获取每个训练批次中的顶点编号;
根据所述顶点编号及全局索引表确定与每个顶点编号对应的存储位置;
利用所述存储位置从图形处理器的显存中获取对应的目标特征数据,以通过所述目标特征数据对图神经网络模型进行训练。
为实现上述目的,本发明进一步提供一种图神经网络数据缓存装置,包括:
聚类模块,用于通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
第一确定模块,用于在每个聚类中确定训练顶点;
分配模块,用于根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
第二确定模块,用于对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
第一获取模块,用于从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据;
缓存模块,用于将所述特征数据缓存至对应的图形处理器的显存。
其中,所述第一确定模块包括:
获取单元,用于获取顶点映射表;所述顶点映射表中记录了所述图数据集中聚类前各顶点与聚类后各顶点的对应关系;
确定单元,用于根据所述图数据集中聚类前各顶点的顶点类型以及所述顶点映射表,在每个聚类中确定训练顶点。
其中,所述图神经网络数据缓存装置,还包括:
第二获取模块,用于通过训练进程获取每个训练批次中的顶点编号;
第三确定模块,用于根据所述顶点编号及全局索引表确定与每个顶点编号对应的存储位置;
第三获取模块,用于利用所述存储位置从图形处理器的显存中获取对应的目标特征数据,以通过所述目标特征数据对图神经网络模型进行训练。
为实现上述目的,本发明提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述图神经网络数据缓存方法的步骤。
为实现上述目的,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述图神经网络数据缓存方法的步骤。
通过以上方案可知,本发明实施例提供的一种图神经网络数据缓存方法,包括:通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;在每个聚类中确定训练顶点,并根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据,并将所述特征数据缓存至对应的图形处理器的显存;可见,在本方案中,在将各顶点的特征数据缓存至GPU显存之前,为了避免GPU显存不能缓存全部特征数据,可先对各顶点进行聚类,将属于同一聚类的顶点分配至同一GPU,并且,由于同一聚类内的邻域扩展会集中在该聚类内,因此这种根据顶点聚类信息划分GPU的方式,可以有效减少GPU缓存的数据量,保证全部顶点的特征数据均缓存至对应的GPU显存,避免GPU频繁访问主存储器,提高数据加载速度;本发明还公开了一种图神经网络数据缓存装置、设备及存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种图神经网络数据缓存方法流程示意图;
图2为本发明实施例公开的基于全局索引表的特征数据搜集示意图;
图3为本发明实施例公开的一种图神经网络数据缓存装置结构示意图;
图4为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
目前,现有图神经网络模型训练中特征数据加载的方法,一种是以CPU(Centralprocessing unit,中央处理器)为中心的数据读取方式,使GPU能直接从主存储器中加载需要的特征数据,可以避免CPU的特征搜集和写入缓冲区的步骤,但是通过PCIe(peripheralcomponent interconnect express,高速串行计算机扩展总线标准)传输数据仍然占据了较长时间。另一种是对图数据中的顶点按照度值进行排序,在运行过程中选择度值最高的顶点特征数据缓存到GPU显存中,当一个顶点度值数较高时,说明该顶点的邻居较多,因此被访问的几率更大。训练时先从GPU显存中搜集顶点特征数据,匹配不到的再访问主存获取。这种方法的缺陷是:GPU显存有限,对超大规模数据只能缓存少部分顶点特征;需要更频繁的从主存加载缺失的数据,这增加了数据加载的时间。
因此在本发明实施例中,公开了一种图神经网络数据缓存方法、装置、设备及存储介质,本方案将图神经网络训练涉及到的所有顶点,计算所需要的全部特征数据均缓存至GPU显存,尽量减少训练中访问主存的次数,对超大数据集使用分布式训练的方式,每个GPU只缓存自己所负责顶点的计算相关的特征,从而减少缓存的数据量。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供的一种图神经网络数据缓存方法流程示意图,包括:
S101、通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
需要说明的是,本实施例中的图数据集通常包括两个部分,一部分是图结构,包括顶点和连接顶点的边,每个顶点有一个编号,顶点表示各个实体,边表示实体之间的关系;另一部分是顶点和边对应的特征,每个顶点的特征表示为一个一维向量。每个顶点都有一个自然数标签,表示该顶点所属的类别。以引文数据集为例,图数据集中每个顶点是一篇论文,边表示论文之间的引用关系。在训练开始前,本方案首先需要对图数据集中整个图结构运行图聚类算法,在该过程中,可根据已知顶点的类别及其关系去预测一些未知顶点所属的类别,从而得到所有顶点所属的聚类信息;顶点的聚类信息即为该顶点所属的聚类,如:顶点的聚类信息为计算机类,则该顶点的聚类为计算机类;顶点的聚类信息为生物医药类,则该顶点的聚类为生物医药类;顶点的聚类信息为材料类,则该顶点的聚类为材料类;其中,该图聚类算法可以为Metis图聚类算法,也可以为其他图聚类算法,在此并不具体限定。
因此通过S101,即可确定图数据集的图结构中,每个顶点所属的聚类信息,也可以确定不同聚类中具体包括哪些顶点。
S102、在每个聚类中确定训练顶点,并根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
可以理解的是,在聚类前每个顶点均有各自的编号,但是在聚类后,由于相似的顶点聚类在一起,会打乱原图结构中的顶点顺序,从而导致顶点的编号被打乱,因此本方案在聚类后对各顶点重新编号,并通过顶点映射表记录图数据集中聚类前各顶点与聚类后各顶点的对应关系。由于顶点类型不仅仅包括训练顶点,还包括验证顶点和测试顶点等等,图数据集会预先记录聚类前每个顶点所属的类型。因此从每个聚类中确定训练顶点时,首先需要获取顶点映射表,通过该顶点映射表即可确定聚类前各顶点与聚类后各顶点的对应关系;然后根据图数据集中聚类前各顶点的顶点类型以及顶点映射表,在每个聚类中确定训练顶点,其中,具有同一聚类的训练顶点的编号是连续排在一起的。例如:聚类前的顶点1为聚类后的顶点4,聚类前的顶点2为聚类后的顶点3,聚类前的顶点3为聚类后的顶点1,聚类前的顶点4为聚类后的顶点2,并且聚类前的4个顶点中,顶点2和顶点4为训练顶点,则根据顶点映射表即可得知聚类前的顶点2为聚类后的顶点3,聚类前的顶点4为聚类后的顶点2,因此便可知道聚类后顶点2和顶点3为训练顶点。
进一步,本方案在每个聚类中确定训练顶点后,还需要根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点。具体来说,由于具有同一聚类的训练顶点的编号是连续排在一起的,因此在分配训练顶点时,可以优先将属于同一聚类的训练顶点分配至同一图形处理器,例如:根据图形处理器的总数量以及每个训练顶点的聚类信息,将属于不同聚类的训练顶点平均分配至不同图形处理器,确定每个图形处理器对应的目标训练顶点;其中,属于同一聚类的训练顶点均分配至同一图形处理器。可见,本方案根据GPU数目平均分配聚类后的训练节点,同一个聚类的训练顶点同属于一个GPU,可保证每个GPU工作时负载均衡。由于聚类内顶点连接紧密,聚类间顶点连接稀疏,在同一个聚类内的邻域扩展会集中在该聚类内,因此将同一聚类的顶点划分到同一个GPU,可以有效减少缓存的特征数据量。
S103、对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
需要说明的是,本方案在CPU上,还需要对S102向每个图形处理器划分的训练顶点,依次进行邻域扩展,本方案对各训练顶点进行邻域扩展,具体是扩展全部的邻居,以保证所有可能会采样到的顶点都被缓存,该过程与采样时的邻域扩展是不同的,采样时的邻域扩展是随机部分的邻居顶点采样;并且,本方案在邻域扩展时,还需要确定图神经网络的层数,根据该层数对不同图形处理器的目标训练顶点进行邻域扩展,以确定与计算相关的每个图形处理器的邻域顶点。具体来说,本方案进行邻域扩展的邻域范围可与图神经网络层数一致,如:l层表示需要聚合l阶邻域范围的信息,因此扩展的与计算相关的邻域节点即为全部的l阶范围内的邻居顶点;然后记录下每一部分训练顶点扩展的邻居顶点的编号。
可见,由于每一批次采样的特征数据和图神经网络模型的层数有关,因此本申请在训练前,只缓存模型训练相关的全部顶点特征数据到GPU显存中,这样训练需要的数据能够全部在GPU显存中命中,而不用频繁访问主存。对于超大规模数据集,可使用分布式训练的方法,把训练顶点进行划分,每个GPU只缓存自己所负责训练顶点的模型计算相关的特征,保证在训练时能够直接从GPU显存中获取全部的特征数据。并且,本方案仅在预处理阶段确定每个GPU需要缓存的顶点编号,该过程只需要在开始前对图数据集处理一次,后续训练不需要再进行预处理。
S104、从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据,并将特征数据缓存至对应的图形处理器的显存。
可以理解的是,在图神经网络的训练阶段,为了实现从GPU中快速特征查找,需要根据扩展到的邻域顶点的顶点编号,从主存储器中收集对应的特征数据,并加载到GPU显存中。在本方案中,每个GPU显存中通过一块空间存储特征数据及全局索引表,该全局索引表表示每个顶点编号对应的特征数据存储位置;参见图2,为本发明实施例提供的基于全局索引表的特征数据搜集示意图,图2中的global index table即为本方案中的全局索引表,全局索引表中的key表示全局顶点编号,value表示对应顶点的特征数据在缓存数据中的位置。
具体来说,本方案查找特征数据的过程可以为:通过训练进程获取每个训练批次中的顶点编号,根据顶点编号及全局索引表确定与每个顶点编号对应的存储位置,利用存储位置从图形处理器的显存中获取对应的目标特征数据,以通过目标特征数据对图神经网络模型进行训练。参见图2,训练进程获取每个训练批次mini-batch中的顶点编号(图2中的①),获取的顶点编号即为vertex numbei,训练进程在全局索引表中索引到每个训练顶点在缓存数据中的位置(图2中的②),然后根据顶点位置信息,从缓存数据中收集特征数据及顶点编号(图2中的③),进行图神经网络模型训练。
综上可以看出,在本方案中,可使用图神经网络的层数感知特征数据并进行缓存的方式,只缓存模型计算相关的特征;在分布式条件下的缓存,每个GPU根据所分配的训练顶点,只缓存与自己模型计算相关的特征。因此可以减少每个GPU缓存的数据量,使得模型计算所需要的全部数据都能在GPU显存中命中,加快特征数据加载的速度和图神经网络模型的训练。
下面对本发明实施例提供的缓存装置、设备及存储介质进行介绍,下文描述的缓存装置、设备及存储介质与上文描述的缓存方法可以相互参照。
参见图3,本发明实施例提供的一种图神经网络数据缓存装置结构示意图,包括:
聚类模块11,用于通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
第一确定模块12,用于在每个聚类中确定训练顶点;
分配模块13,用于根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
第二确定模块14,用于对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
第一获取模块15,用于从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据;
缓存模块16,用于将所述特征数据缓存至对应的图形处理器的显存。
其中,所述第一确定模块包括:
获取单元,用于获取顶点映射表;所述顶点映射表中记录了所述图数据集中聚类前各顶点与聚类后各顶点的对应关系;
确定单元,用于根据所述图数据集中聚类前各顶点的顶点类型以及所述顶点映射表,在每个聚类中确定训练顶点。
其中,所述分配模块具体用于:根据图形处理器的总数量以及每个训练顶点的聚类信息,将属于不同聚类的训练顶点平均分配至不同图形处理器,确定每个图形处理器对应的目标训练顶点;其中,属于同一聚类的训练顶点均分配至同一图形处理器。
其中,所述第二确定模块具体用于:确定图神经网络的层数,根据所述层数对不同图形处理器的目标训练顶点进行邻域扩展,以确定与计算相关的每个图形处理器的邻域顶点。
其中,所述图神经网络数据缓存装置,还包括:
第二获取模块,用于通过训练进程获取每个训练批次中的顶点编号;
第三确定模块,用于根据所述顶点编号及全局索引表确定与每个顶点编号对应的存储位置;
第三获取模块,用于利用所述存储位置从图形处理器的显存中获取对应的目标特征数据,以通过所述目标特征数据对图神经网络模型进行训练。
参见图4,本发明实施例提供的一种电子设备结构示意图,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现上述方法实施例所述的图神经网络数据缓存方法的步骤。
该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据缓存方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行数据缓存方法的程序代码等。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口25还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件21-25的设备,本领域技术人员可以理解的是,图4示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例所述的图神经网络数据缓存方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种图神经网络数据缓存方法,其特征在于,包括:
通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
在每个聚类中确定训练顶点,并根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据,并将所述特征数据缓存至对应的图形处理器的显存。
2.根据权利要求1所述的图神经网络数据缓存方法,其特征在于,所述在每个聚类中确定训练顶点,包括:
获取顶点映射表;所述顶点映射表中记录了所述图数据集中聚类前各顶点与聚类后各顶点的对应关系;
根据所述图数据集中聚类前各顶点的顶点类型以及所述顶点映射表,在每个聚类中确定训练顶点。
3.根据权利要求2所述的图神经网络数据缓存方法,其特征在于,所述根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点,包括:
根据图形处理器的总数量以及每个训练顶点的聚类信息,将属于不同聚类的训练顶点平均分配至不同图形处理器,确定每个图形处理器对应的目标训练顶点;其中,属于同一聚类的训练顶点均分配至同一图形处理器。
4.根据权利要求1所述的图神经网络数据缓存方法,其特征在于,所述对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点,包括:
确定图神经网络的层数;
根据所述层数对不同图形处理器的目标训练顶点进行邻域扩展,以确定与计算相关的每个图形处理器的邻域顶点。
5.根据权利要求1至4中任意一项所述的图神经网络数据缓存方法,其特征在于,所述将所述特征数据缓存至对应的图形处理器的显存之后,还包括:
通过训练进程获取每个训练批次中的顶点编号;
根据所述顶点编号及全局索引表确定与每个顶点编号对应的存储位置;
利用所述存储位置从图形处理器的显存中获取对应的目标特征数据,以通过所述目标特征数据对图神经网络模型进行训练。
6.一种图神经网络数据缓存装置,其特征在于,包括:
聚类模块,用于通过图聚类算法对图数据集进行聚类,确定各顶点的聚类信息;
第一确定模块,用于在每个聚类中确定训练顶点;
分配模块,用于根据每个训练顶点的聚类信息向不同图形处理器分配对应的目标训练顶点;
第二确定模块,用于对不同图形处理器的目标训练顶点进行邻域扩展,确定与每个图形处理器对应的邻域顶点;其中,邻域扩展的扩展层数与图神经网络层数一致;
第一获取模块,用于从主存储器中获取与每个图形处理器对应的邻域顶点的特征数据;
缓存模块,用于将所述特征数据缓存至对应的图形处理器的显存。
7.根据权利要求6所述的图神经网络数据缓存装置,其特征在于,所述第一确定模块包括:
获取单元,用于获取顶点映射表;所述顶点映射表中记录了所述图数据集中聚类前各顶点与聚类后各顶点的对应关系;
确定单元,用于根据所述图数据集中聚类前各顶点的顶点类型以及所述顶点映射表,在每个聚类中确定训练顶点。
8.根据权利要求6或7所述的图神经网络数据缓存装置,其特征在于,所述图神经网络数据缓存装置,还包括:
第二获取模块,用于通过训练进程获取每个训练批次中的顶点编号;
第三确定模块,用于根据所述顶点编号及全局索引表确定与每个顶点编号对应的存储位置;
第三获取模块,用于利用所述存储位置从图形处理器的显存中获取对应的目标特征数据,以通过所述目标特征数据对图神经网络模型进行训练。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的图神经网络数据缓存方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的图神经网络数据缓存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111355513.0A CN114048847A (zh) | 2021-11-16 | 2021-11-16 | 一种图神经网络数据缓存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111355513.0A CN114048847A (zh) | 2021-11-16 | 2021-11-16 | 一种图神经网络数据缓存方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048847A true CN114048847A (zh) | 2022-02-15 |
Family
ID=80209604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111355513.0A Pending CN114048847A (zh) | 2021-11-16 | 2021-11-16 | 一种图神经网络数据缓存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048847A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895985A (zh) * | 2022-06-08 | 2022-08-12 | 华东师范大学 | 一种面向基于采样的图神经网络训练的数据加载系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324441A1 (en) * | 2014-05-12 | 2015-11-12 | Palo Alto Research Center Incorporated | System and method for high performance k-means clustering on gpu with smart kernels |
CN110633379A (zh) * | 2019-08-29 | 2019-12-31 | 北京睿企信息科技有限公司 | 一种基于gpu并行运算的以图搜图系统及方法 |
CN112052879A (zh) * | 2020-08-13 | 2020-12-08 | 东北大学 | 一种利用gpu加速密度峰聚类的方法 |
CN113449152A (zh) * | 2021-06-24 | 2021-09-28 | 西安交通大学 | 图数据预取器及预取方法 |
-
2021
- 2021-11-16 CN CN202111355513.0A patent/CN114048847A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324441A1 (en) * | 2014-05-12 | 2015-11-12 | Palo Alto Research Center Incorporated | System and method for high performance k-means clustering on gpu with smart kernels |
CN110633379A (zh) * | 2019-08-29 | 2019-12-31 | 北京睿企信息科技有限公司 | 一种基于gpu并行运算的以图搜图系统及方法 |
CN112052879A (zh) * | 2020-08-13 | 2020-12-08 | 东北大学 | 一种利用gpu加速密度峰聚类的方法 |
CN113449152A (zh) * | 2021-06-24 | 2021-09-28 | 西安交通大学 | 图数据预取器及预取方法 |
Non-Patent Citations (2)
Title |
---|
LIZHI ZHANG;ZHIQUAN LAI: "2PGraph: Accelerating GNN Training over Large Graphs on GPU Clusters", 2021 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING(CLUSTER), pages 2 * |
郭辉: "面向图计算的GPU体系结构优化关键技术研究", 中国博士学位论文全文库, vol. 2021, no. 01 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895985A (zh) * | 2022-06-08 | 2022-08-12 | 华东师范大学 | 一种面向基于采样的图神经网络训练的数据加载系统 |
CN114895985B (zh) * | 2022-06-08 | 2023-06-09 | 华东师范大学 | 一种面向基于采样的图神经网络训练的数据加载系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6402265B2 (ja) | 意思決定モデルを構築する方法、コンピュータデバイス及び記憶デバイス | |
CN110297935A (zh) | 图像检索方法、装置、介质及电子设备 | |
CN105224528B (zh) | 基于图计算的大数据处理方法和装置 | |
CN110709829B (zh) | 一种数据处理的系统和方法 | |
CN113449187A (zh) | 基于双画像的产品推荐方法、装置、设备及存储介质 | |
CN114969417A (zh) | 图像重排序方法、相关设备及计算机可读存储介质 | |
Ban et al. | GLSC: LSC superpixels at over 130 FPS | |
CN114048847A (zh) | 一种图神经网络数据缓存方法、装置、设备及存储介质 | |
WO2022007596A1 (zh) | 图像检索系统、方法和装置 | |
EP3743821A1 (en) | Wide key hash table for a graphics processing unit | |
CN115525793A (zh) | 由计算机实现的方法、系统及存储介质 | |
CN108229572B (zh) | 一种参数寻优方法及计算设备 | |
US11836188B2 (en) | Devices and methods for accessing and retrieving data in a graph | |
US20220343146A1 (en) | Method and system for temporal graph neural network acceleration | |
CN114821140A (zh) | 基于曼哈顿距离的图像聚类方法、终端设备及存储介质 | |
CN115186188A (zh) | 基于行为分析的产品推荐方法、装置、设备及存储介质 | |
CN115065366A (zh) | 一种时序数据的压缩方法、装置、设备及存储介质 | |
CN113971225A (zh) | 图像检索系统、方法和装置 | |
CN113011580B (zh) | 一种嵌入表征的处理方法以及相关设备 | |
CN112100493B (zh) | 文档排序方法、装置、设备及存储介质 | |
CN112597363B (zh) | 一种用户处理方法、装置、电子设备及存储介质 | |
US11841799B2 (en) | Graph neural network accelerator with attribute caching | |
CN115860273B (zh) | 用电负荷预测方法、装置、计算机设备和存储介质 | |
CN114139657B (zh) | 客群画像生成方法、装置、电子设备和储存介质 | |
CN113240472B (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 |