[发明专利]基于Optane DIMM的大规模图嵌入训练方法及系统在审
| 申请号: | 202111415792.5 | 申请日: | 2021-11-25 |
| 公开(公告)号: | CN114118443A | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 姚建国;陈悦 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06N20/00 | 分类号: | G06N20/00;G06F16/901;G06F9/50 |
| 代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 optane dimm 大规模 嵌入 训练 方法 系统 | ||
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负载执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111415792.5/1.html,转载请声明来源钻瓜专利网。





