基于OptaneDIMM的大规模图嵌入训练方法及系统技术方案

技术编号:32477279 阅读:18 留言:0更新日期:2022-03-02 09:40
本发明专利技术提供了一种基于Optane DIMM的大规模图嵌入训练方法及系统,包括:原始图处理步骤:对原始图进行处理,生成DRAM能够加载的图数据;数据预处理步骤:将图数据根据特征进行两层图分割,将完整图拆分成子图,并存储在磁盘中,使得子图能够加载入GPU进行分区训练;图训练步骤:根据不同介质的访存特性,将训练所用的图数据存储在不同的物理介质中,根据训练过程中所依赖数据的不同特性来切割算法,采用CPU和GPU分工训练,平衡CPU计算、GPU计算以及CPU

【技术实现步骤摘要】
基于Optane DIMM的大规模图嵌入训练方法及系统


[0001]本专利技术涉及计算机存储、计算机计算和深度学习
,具体地,涉及一种基于Optane DIMM的大规模图嵌入训练方法及系统。

技术介绍

[0002]图,如社交网络、单词共存网络和通信网络,广泛地存在于各种现实应用中。通过对它们的分析,我们可以深入了解社会结构、语言和不同的交流模式,因此图一直是学界研究的热点。
[0003]使用邻接矩阵的网络表示存在计算效率的问题,邻接矩阵A使用|V|
×
|V|的存储空间表示一个图,随着节点个数的增长,这种表示所需的空间成指数增长。同时,在邻接矩阵中绝大多数是0,数据的稀疏性使得快速有效的学习方式很难被应用。图嵌入学习是指学习得到网络中节点的低维向量表示,形式化地,图嵌入学习的目标是对每个节点v∈V学习一个实值向量其中κ<<|V|表示向量的维度。图和图嵌入数学定义如下:
[0004]图:图G(V,E)是顶点集V={v1,

,v
n
}和边集E的集合。e
ij
∈E包含一个源顶点v
i
和一个目标顶点v
j
。对于加权图G,邻接矩阵W包含与每条边相关的非负权重W
ij
≥0。如果v
i
和v
j
没有连接,则W
ij
设置为0。对于无向加权图,总是有设置为0。对于无向加权图,总是有
[0005]图嵌入:给定一个图G(V,E)和预先定义的嵌入d的维数,一个图(节点)嵌入就是一个映射f:使得函数f保留了图G上定义的一些语义特征。图嵌入问题就是将整个图、子图或边映射到d维向量的问题。图嵌入的形象化表示如图1所示。
[0006]图嵌入技术是属于图分析和表示学习的一种技术。它的目的是在保持图结构的同时,将一个图表示为低维向量。作为一种简单有效的减少维数的方法,图嵌入已经得到了广泛的应用,被成功应用于节点分类、聚类、推荐、链接预测、网络可视化等领域。
[0007]图嵌入算法经常利用随机游走来度量相似性。随机游走也是一类输出敏感算法的基础,这类算法利用随机游走在输入图体积大小线性复杂度下计算局部结构信息。正是这种与局部结构的联系促使随机游走被作为从图中提取信息的基本工具。除了捕捉社区信息外,使用随机游走作为算法的基础,还有另外两个理想的特性。首先,本地探索很容易并行化。几个随机的步行者(在不同的线程、进程或机器上)可以同时探索同一图的不同部分。其次,依靠从短的随机游走中获得的信息,可以在不需要全局重新计算的情况下适应图结构中的小变化。我们可以用新的随机游走迭代更新学习的模型,从时间亚线性变化的区域到整个图。所以本专利技术利用随机游走作为基础,提取图特征。
[0008]在大数据时代,图的大小不断增加。例如,在社交网络中,节点的数量已经增加到十亿级,边的数量也增加到数百亿级。有效地处理这种规模的图仍然是一个挑战。对于拥有亿级别顶点的大型图,一般单节点服务器很难保证足够容量的DRAM 内存来支持服务。虽然现有的swap分区技术可以为机器构建出比物理内存更大的逻辑内存,但仍然很难达到TB级别的容量,并且受限于低磁盘访问速度,效率低下。
[0009]另一种参考的解决方案是将图数据和嵌入数据存储在磁盘上。然而,由于图嵌入
算法常需要字节寻址,并且磁盘访问延迟高,所以利用磁盘构建高性能图嵌入系统方案的可能性低。而分布式的解决方案在效率、成本和用户友好性方面存在局限性:首先,图形数据和嵌入数据需要频繁地在不同的机器之间访问和传输。它会造成较高的网络通信成本和延迟。其次,购买一组功能强大的机器是昂贵的,对于小公司与个人开发者造成负担。因此,如何在单机上构建高效的大型图嵌入系统,成为当前的挑战与机遇。非易失性存储器是单机解决这一问题的另一个方向。
[0010]新硬件Optane DIMM的到来,为在单机上高效大规模嵌入训练带来了希望。英特尔的Optane DIMM是第一种商用持久内存,它支持按DRAM顺序进行字节粒度访问。同时,单个Optane DIMM的存储容量可高达512GB。对于双插口的机器,支持的Optane DIMM尺寸最高可达6T(2插口*6通道*512gb/DIMM)。
[0011]在公开号为CN113343123A的中国专利文献中,公开了一种用于检测机器账号的生成对抗多关系图网络模型的训练方法,所述训练方法包括:将平台建模成包含节点v和关系r的图其中,所述图的数量由所述关系r的类型数量确定;利用生成器G生成源节点v的虚假目标节点vt;将采样的节点对(v,u)和(v,vt)分别输入到连接关系判别器D中,重复训练所述连接关系判别器D;用训练好的所述连接关系判别器D推理所述图中的节点对,确定所述节点对的连接关系,进而更新图的结构;将节点的表征向量输入到分类器中,根据损失函数,反向传播更新模型的参数,进行多次训练,得到训练好的生成对抗多关系图网络模型。

技术实现思路

[0012]针对现有技术中的缺陷,本专利技术的目的是提供一种基于Optane DIMM的大规模图嵌入训练方法及系统。
[0013]根据本专利技术提供的一种基于Optane DIMM的大规模图嵌入训练方法,包括:
[0014]原始图处理步骤:对原始图进行处理,生成DRAM能够加载的图数据;
[0015]数据预处理步骤:将图数据根据特征进行两层图分割,将完整图拆分成子图,并存储在磁盘中,使得子图能够加载入GPU进行分区训练;
[0016]图训练步骤:根据不同介质的访存特性,将训练所用的图数据存储在不同的物理介质中,根据训练过程中所依赖数据的不同特性来切割算法,采用CPU和GPU 分工训练,平衡CPU计算、GPU计算以及CPU

GPU通信三者的开销。
[0017]优选的,所述原始图处理步骤包括以下子步骤:
[0018]S1:初始化大小为hash_table_size的哈希表,用于存储顶点名字到顶点ID的映射;
[0019]S2:进入循环,循环次数为原始图列表的大小;
[0020]S3:每次循环从原始图中读入一条边,由顶点v_name,目标顶点u_name组成;
[0021]S4:从哈希表中查找v_name是否已经出现过,若是,则返回映射后的v_id,若否,则调用hash_table.AddVertex(name_v,count_num_vertices)方法,插入新的顶点;
[0022]S5:若调用hash_table.AddVertex(name_v,count_num_vertices),首先创建新的顶点,并加入顶点集合vertices,然后计数器count_num_vertices自增一;如果count_num_vertices超过了现有vertices的最大容量,vertices将会自动扩容;
[0023]S6:循环直到找到哈希表的空位,在哈希表中插入顶点名字到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Optane DIMM的大规模图嵌入训练方法,其特征在于,包括:原始图处理步骤:对原始图进行处理,生成DRAM能够加载的图数据;数据预处理步骤:将图数据根据特征进行两层图分割,将完整图拆分成子图,并存储在磁盘中,使得子图能够加载入GPU进行分区训练;图训练步骤:根据不同介质的访存特性,将训练所用的图数据存储在不同的物理介质中,根据训练过程中所依赖数据的不同特性来切割算法,采用CPU和GPU分工训练,平衡CPU计算、GPU计算以及CPU

GPU通信三者的开销。2.根据权利要求1所述的基于Optane DIMM的大规模图嵌入训练方法,其特征在于:所述原始图处理步骤包括以下子步骤:S1:初始化大小为hash_table_size的哈希表,用于存储顶点名字到顶点ID的映射;S2:进入循环,循环次数为原始图列表的大小;S3:每次循环从原始图中读入一条边,由顶点v_name,目标顶点u_name组成;S4:从哈希表中查找v_name是否已经出现过,若是,则返回映射后的v_id,若否,则调用hash_table.AddVertex(name_v,count_num_vertices)方法,插入新的顶点;S5:若调用hash_table.AddVertex(name_v,count_num_vertices),首先创建新的顶点,并加入顶点集合vertices,然后计数器count_num_vertices自增一;如果count_num_vertices超过了现有vertices的最大容量,vertices将会自动扩容;S6:循环直到找到哈希表的空位,在哈希表中插入顶点名字到ID的映射关系;S7:根据S4

S6中的步骤处理u_name;S8:将映射后的边写入输出文件。3.根据权利要求1所述的基于Optane DIMM的大规模图嵌入训练方法,其特征在于:所述图数据是以文件的形式存储在磁盘上,数据格式为source_vertex_id,destination_vertex_id;对于无向图,同时存储source_vertex_id,destination_vertex_id;destination_vertex_id,source_vertex_id两条边来表示。4.根据权利要求1所述的基于Optane DIMM的大规模图嵌入训练方法,其特征在于:所述图数据的拆分包括:

采用边分割策略:将图数据按照点划分,将边隔开,划分子图数据为GPU数量,对于单个GPU的设备,则不进行边分割;

采用点分割策略:将图数据按照边划分,划分子图数量根据GPU内存大小决定,当子图能够完整载入GPU时,则不进行点分割策略。5.根据权利要求1所述的基于Optane DIMM的大规模图嵌入训练方法,其特征在于:所述CPU执行负采样和割边训练操作,所述GPU执行正采样、正样本训练和负样本训练操作,所述CPU

GPU通信采用PCI负载执行。6.根据...

【专利技术属性】
技术研发人员:姚建国陈悦
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1