CN115759233B - 模型的训练方法、图数据处理方法、装置及电子设备 - Google Patents
模型的训练方法、图数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115759233B CN115759233B CN202211496871.8A CN202211496871A CN115759233B CN 115759233 B CN115759233 B CN 115759233B CN 202211496871 A CN202211496871 A CN 202211496871A CN 115759233 B CN115759233 B CN 115759233B
- Authority
- CN
- China
- Prior art keywords
- information
- model parameter
- node characteristic
- parameter information
- characteristic information
- 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
- 238000012549 training Methods 0.000 title claims abstract description 219
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 274
- 238000003062 neural network model Methods 0.000 claims abstract description 97
- 238000005070 sampling Methods 0.000 claims abstract description 47
- 238000003672 processing method Methods 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims description 42
- 239000012634 fragment Substances 0.000 claims description 16
- 239000004973 liquid crystal related substance Substances 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 abstract description 13
- 238000013528 artificial neural network Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 94
- 230000008569 process Effects 0.000 description 59
- 238000010586 diagram Methods 0.000 description 45
- 230000006854 communication Effects 0.000 description 28
- 235000019580 granularity Nutrition 0.000 description 27
- 238000004891 communication Methods 0.000 description 25
- 238000004590 computer program Methods 0.000 description 12
- 238000013403 standard screening design Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
Abstract
本公开提供了模型的训练方法、图数据处理方法、装置及电子设备,涉及人工智能领域,尤其涉及图神经网络技术、计算机视觉、深度学习、大数据领域。具体实现方案为:从图形处理器的存储单元读取图结构信息;对图结构信息进行图采样,得到样本子图结构信息;从存储单元读取与样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;利用图形处理器处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;以及根据更新后节点特征信息和更新后模型参数信息,确定经训练的图神经网络模型。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及图神经网络技术、计算机视觉、深度学习、大数据领域,具体地,涉及一种模型的训练方法、图数据处理方法、装置及电子设备。
背景技术
随着深度学习的发展,语音、图像、自然语言处理逐渐取得了较大突破。然而,语音、图像、文本都是比较简单的序列数据或者网格数据,属于结构化的数据。深度学习善于处理该种类型的数据。但并不是所有的事物都可以表示成一个序列或者一个网格的形式。例如社交网络、知识图谱、复杂的文件系统等,也就是说很多事物都是非结构化的。这种非结构化的数据可以用图来抽象表示。
在计算机领域,图是一种常见的数据结构,由一系列节点,以及节点之间的边构成。
随着存储技术的不断发展,积累了大量的图数据。以社交媒媒体为例子,把用户看做图中的节点,用户和用户之间的好友关系看做图中的边,就可以得到一个图。通过挖掘图中的关联信息,可以得到用户潜在的好友,从而实现好友推荐等。
随着图大规模数据的普及,图神经网络成为深度学习中的一大热点,这类神经网络能根据图的结构和特征进行学习,提取和挖掘出更多的特性和模式,因此受到业界越来越多的关注和重视。
发明内容
本公开提供了一种模型的训练方法、图数据处理方法、装置及电子设备。
根据本公开的一方面,提供了一种图神经网络模型的训练方法,包括:从图形处理器的存储单元读取图结构信息;对所述图结构信息进行图采样,得到样本子图结构信息;从所述存储单元读取与所述样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;利用所述图形处理器处理所述样本节点特征信息和所述样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;以及根据所述更新后节点特征信息和所述更新后模型参数信息,确定经训练的图神经网络模型。
根据本公开的另一方面,提供了一种图数据处理方法,包括:获取待处理图数据;将待处理图数据输入图神经网络模型,得到输出结果,其中,所述图神经网络模型是利用根据本公开所述的图神经网络模型的训练方法训练得到的。
根据本公开的另一方面,提供了一种图神经网络模型的训练装置,包括:第一读取模块,用于从图形处理器的存储单元读取图结构信息;采样模块,用于对所述图结构信息进行图采样,得到样本子图结构信息;第二读取模块,用于从所述存储单元读取与所述样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;第一获得模块,用于利用所述图形处理器处理所述样本节点特征信息和所述样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;以及确定模块,用于根据所述更新后节点特征信息和所述更新后模型参数信息,确定经训练的图神经网络模型。
根据本公开的另一方面,提供了一种图数据处理装置,包括:第二获取模块,用于获取待处理图数据;第二获得模块,用于将待处理图数据输入图神经网络模型,得到输出结果,其中,所述图神经网络模型是利用根据本公开所述的图神经网络模型的训练装置训练得到的。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用图神经网络模型的训练方法和图数据处理方法其中至少一种方法及相应装置的示例性系统架构;
图2示意性示出了根据本公开实施例的图神经网络模型的训练方法的流程图;
图3示意性示出了根据本公开实施例的对图结构信息图采样得到样本子图结构信息的示意图;
图4示意性示出了根据本公开实施例的基于单机全显存图训练架构执行模型训练过程的示意图;
图5示意性示出了根据本公开实施例的单机三级存储(SSD-GPU-GPU显存)流水线图训练架构的示意图;
图6A示意性示出了根据本公开一个实施例的多机图训练架构的示意图;
图6B示意性示出了根据本公开另一个实施例的多机图训练架构的示意图;
图7示意性示出了根据本公开实施例的图数据处理方法的流程图;
图8示意性示出了根据本公开实施例的图神经网络模型的训练装置的框图;
图9示意性示出了根据本公开实施例的图神经网络模型的训练装置的框图;以及
图10示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图训练框架,通过支持大图的存储、查询、图采样等操作,以支持图神经网络模型的训练。查询和图采样是图神经网络的高频操作,查询功能主要查询节点或边的基本信息。图采样操作则通过固定的算法从大图中抽离一个有代表意义的子图出来,这个子图规模比较小,会作为图神经网络模型的输入参与训练。
图训练框架,如paddlepaddle(一种分布式图引擎)、Deep Graph Library(DGL,一种图训练框架)、Pytorch Geometry(PyG,一种图训练框架)等,针对大规模图数据,表现为图结构信息和节点特征信息存储在CPU(Central Processing Unit,中央处理器),图采样在CPU,再通过拷贝回GPU(Graphics Processing Unit,图形处理器)的方式进行后续的GPU图模型训练。
发明人在实现本公开构思的过程中发现,针对大规模图数据,基于CPU图训练框架进行训练时,需要几十甚至上百台CPU机器。通信也会伴随着不稳定、通信失败的情况,实际业务场景中,大规模机器训练任务容易因为通信失败而挂掉,影响实际的训练。此外,CPU训练复杂的图算法网络存在着诸多算力瓶颈,如GraphSage(一种图神经网络算法)、ErnieSage(一种图神经网络模型)等在CPU上计算效率较低,速度也相对于GPU较慢,比GPU资源计算资源性能相差几十甚至百倍。此外,GPU图训练框架有CPU到GPU的拷贝,CPU与GPU之间的拷贝通信需要消耗额外的耗时,图数据规模上升后,图采样时多个机器节点的网络通信耗时也占比很大,甚至超过图查询和训练的时间,存在性能瓶颈。
图1示意性示出了根据本公开实施例的可以应用图神经网络模型的训练方法和图数据处理方法其中至少一种方法及相应装置的示例性系统架构。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用图神经网络模型的训练方法和图数据处理方法其中至少一种方法及相应装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的图神经网络模型的训练方法和图数据处理方法其中至少一种方法及相应装置。
如图1所示,根据该实施例的系统架构100可以包括终端设备11 0,网络120和服务器130。终端设备110中可以包括一个或多个GPU 150,如可以包括第一GPU 151、...、第nGPU 15n、...、第N GPU 15N等,N为正整数,n为大于或等于1小于或等于N的整数。第一GPU151、...、第n GPU 15n、...、第N GPU 15N之间可以采用P2PfPeer-to-Peer,点对点)直连通信,加快跨卡之间的数据访问。终端设备110中还可以预置深度学习平台140,深度学习平台140可以响应于接收到GPU 150中的训练数据,结合GPU 150的处理,进行图神经网络模型的训练。网络120用以在终端设备110和服务器130之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备110通过网络120与服务器130交互,以接收或发送消息等。终端设备110上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备110可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。
服务器130可以是提供各种服务的服务器,例如对用户利用终端设备110所执行的程序提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果(例如根据请求获取或生成的信息或数据等)反馈给终端设备。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
需要说明的是,本公开实施例所提供的图神经网络模型的训练方法和图数据处理方法其中至少一种方法一般可以由终端设备执行。相应地,本公开实施例所提供的图神经网络模型的训练装置和图数据处理装置其中至少一种装置也可以设置于终端设备110中。
或者,本公开实施例所提供的图神经网络模型的训练方法和图数据处理方法其中至少一种方法一般也可以由服务器1 30执行。相应地,本公开实施例所提供的图神经网络模型的训练装置和图数据处理装置其中至少一种装置一般可以设置于服务器130中。本公开实施例所提供的图神经网络模型的训练方法和图数据处理方法其中至少一种方法也可以由不同于服务器130且能够与终端设备110和/或服务器130通信的服务器或服务器集群执行。相应地,本公开实施例所提供的图神经网络模型的训练装置和图数据处理装置其中至少一种装置也可以设置于不同于服务器130且能够与终端设备110和/或服务器130通信的服务器或服务器集群中。
例如,样本子图结构信息、样本节点特征信息以及样本模型参数信息可以原本存储在终端设备110的图形处理器的存储单元中,或者存储在外部存储设备上,并可以由终端设备110、服务器130、能够与终端设备110和/或服务器130通信的服务器或服务器集群控制,在使用样本子图结构信息、样本节点特征信息以及样本模型参数信息进行模型训练之前,将样本子图结构信息、样本节点特征信息以及样本模型参数信息导入到终端设备110的图形处理器的存储单元中。然后,在训练图神经网络模型时,可以从图形处理器的存储单元读取图结构信息,对图结构信息进行图采样,得到样本子图结构信息;从存储单元读取与样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;利用图形处理器处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;并根据更新后节点特征信息和更新后模型参数信息,确定经训练的图神经网络模型。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的图神经网络模型的训练方法的流程图。
如图2所示,该方法包括操作S210~S250。
在操作S210,从图形处理器的存储单元读取图结构信息。
在操作S220,对图结构信息进行图采样,得到样本子图结构信息。
在操作S230,从存储单元读取与样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息。
在操作S240,利用图形处理器处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息。
在操作S250,根据更新后节点特征信息和更新后模型参数信息,确定经训练的图神经网络模型。
根据本公开的实施例,图结构信息可以包括节点信息以及表征各节点之间的连接关系的边的信息。图结构信息可以在训练开始之前就被写入图形处理器的存储单元中。存储单元可以包括GPU的显存,也可以替换为XPU(表征一系列处理器)、NPU(Neural NetworkProcessing Unit,神经网络处理器)等芯片对应的存储单元。
根据本公开的实施例,图采样的过程可以在GPU中进行。样本子图结构信息可以表征从图结构信息中图采样得到的部分节点对应的子图结构信息。
图3示意性示出了根据本公开实施例的对图结构信息图采样得到样本子图结构信息的示意图。
如图3所示,图结构信息300包括节点A、B、C、D、E、F等信息,以及边A→B、A→C、B→E、B→F、C→E、D→F等信息。对图结构信息300进行图采样,例如可以得到包括部分节点信息以及与该部分节点信息相对应的边的信息的子图结构信息集310。子图结构信息集310可以例如包括第一子图结构信息311、第二子图结构信息312、第三子图结构信息313等至少一种子图结构信息,且可不限于此。第一子图结构信息311可表征为包括节点信息A、B、C,以及边信息A→B、A→C的子图结构信息。第二子图结构信息312可表征为包括节点信息A、B、E、F,以及边信息A→B、B→E、B→F的子图结构信息。第三子图结构信息313可表征为包括节点信息D、F,以及边信息D→F的子图结构信息。子图结构信息集310中的子图结构信息均可作为图采样得到的样本子图结构信息。
根据本公开的实施例,图结构中的每个节点可以有对应的节点特征信息和模型参数信息。节点特征信息可以表征节点额外的特征表示,如节点为用户节点,节点特征信息可以表征用户的身份、性别等的特征表示。加入节点特征信息,可以更准确的训练得到每个节点的向量表示。模型参数信息可以表征根据节点特征信息训练得到的节点的向量表示。
需要说明的是,在节点不存在对应的节点特征信息的情况下,模型参数信息可以表征节点自身特征的向量表示。
根据本公开的实施例,样本节点特征信息可以表征样本子图结构信息中的节点对应的节点特征信息。样本模型参数信息可以表征样本子图结构信息中的节点对应的模型参数信息。样本节点特征信息以及样本模型参数信息可以在训练开始之前就被写入图形处理器的存储单元中。
根据本公开的实施例,图神经网络模型的训练过程可以表征为与处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息相对应的过程。该训练过程可以由图形处理器执行。训练过程可以包括:根据样本子图结构信息确定样本节点信息以及与该样本节点信息相对应的邻居节点信息。确定样本节点信息在上一轮次对应的节点特征信息和模型参数信息。从存储单元中读取邻居节点在当前轮次对应的节点特征信息和模型参数信息。图形处理器可以结合邻居节点在当前轮次对应的节点特征信息和模型参数信息,对样本节点信息在上一轮次对应的节点特征信息和模型参数信息进行处理,可以得到样本节点信息在当前轮次对应的更新后节点特征信息和更新后模型参数信息。
根据本公开的实施例,在训练得到更新后节点特征信息和更新后模型参数信息之后,可以根据更新后节点特征信息和更新后模型参数信息,得到经训练的图神经网络模型。例如,图结构信息中包括多个节点,在对该多个节点均进行了更新的情况下,可以根据多个节点各自对应的更新后节点特征信息和更新后模型参数信息,确定经训练的图神经网络模型。在仅对该多个节点中的部分节点进行了更新的情况下,可以根据该部分节点各自对应的更新后节点特征信息和更新后模型参数信息,以及其余节点各自对应的节点特征信息和模型参数信息,确定经训练的图神经网络模型。
需要说明的是,上述训练过程以及得到经训练的图神经网络模型的过程仅是示例性实施例,但不限于此,还可以包括本领域已知的其他方法,只要能够得到经训练的图神经网络模型即可。
通过本公开的上述实施例,由于图结构信息,以及用于训练图神经网络模型的样本节点特征信息和样本模型参数信息均可从图形处理器的存储单元中读取,可实现图采样、查询、训练均在GPU中进行。减少了CPU-GPU拷贝通信过程中的耗时。图采样在GPU上,速度上有明显优势。此外,结合单台GPU机器可支持百亿节点数百亿边的图模型训练的特点,以及单台GPU可以持平甚至超越CPU图训练时所需的几十台甚至上百台CPU的训练性能的特点,使用GPU进行图神经网络模型的训练,成本持平下相对基线CPU可以提速十多倍,并可有效提升稳定性和训练性能。
下面结合具体实施例,对图2所示的方法做进一步说明。
根据本公开的实施例,在对图结构信息进行图采样之前,可以响应于接收到模型训练请求,获取用于训练图神经网络模型的全量图结构信息、与全量图结构信息相对应的全量节点特征信息以及全量模型参数信息。根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元。
根据本公开的实施例,模型训练请求可以用于请求执行图神经网络模型的模型训练过程。模型训练过程可以包括图采样、训练、查询等过程。用于训练图神经网络模型的图数据可以包括一个或多个图对应的图结构信息,以及图中节点对应的节点特征信息和模型参数信息,每个图可以包括一个或多个节点。全量图结构信息可以包括用于训练图神经网络模型的全部图的图结构信息。全量节点特征信息可以包括全部图的全部节点对应的节点特征信息。全量模型参数信息可以表征全部图的全部节点对应的模型参数信息。
根据本公开的实施例,全量图结构信息、全量节点特征信息和全量模型参数信息可以原本存储于本地文件或者HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)集群上。在接收到模型训练请求的情况下,可以从本地文件或者HDFS集群加载图数据,并将图数据关联地写入图形处理器的存储单元中。将图数据关联地写入图形处理器的存储单元中可以包括:将与同一个节点相对应的节点特征信息和模型参数信息进行关联。将图结构信息以及与该图结构信息表征的图中的节点相对应的节点特征信息和模型参数信息进行关联。将相关联的数据一并写入存储单元。
需要说明的是,在图结构信息表征为子图结构信息的情况下,可以仅将子图结构信息以及与该子图结构信息表征的子图中的节点相对应的节点特征信息和模型参数信息进行关联。
根据本公开的实施例,根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元可以包括如下至少一种方法:将全量图结构信息、全量节点特征信息和全量模型参数信息一次性全部写入存储单元。将全量图结构信息、全量节点特征信息和全量模型参数信息关联的分批写入存储单元。且可不限于此。只要能够实现相关联的图结构信息、节点特征信息和模型参数信息能够同时被读取和写入即可。
通过本公开的上述实施例,可以在训练之前,将用于训练的图数据写入图形处理器的存储单元,使得训练过程能够在图形处理器中完成,可有效减少CPU-GPU拷贝通信过程中的耗时,提高训练速率。
根据本公开的实施例,在全量图结构信息满足第一预设条件的情况下,根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元可以包括:响应于确定全量图结构信息满足第一预设条件,将全量图结构信息、全量节点特征信息和全量模型参数信息,写入存储单元。
根据本公开的实施例,第一预设条件还可以包括如下中的至少之一:全量图结构信息对应的节点数目大于第一预设下限值且小于第一预设上限值、全量图结构信息对应的边的数目大于第二预设下限值且小于第二预设上限值、全量节点特征信息和全量模型参数信息的数据量大小大于第一预设阈值且小于第二阈值阈值,且可不限于此。第一预设下限值、第一预设上限值、第二预设下限值、第二预设上限值、第一预设阈值以及第二阈值阈值可以根据存储单元的空间大小设定,例如可以设置为预计数据量大小小于存储单元的空间大小的值。
根据本公开的实施例,在确定全量图结构信息满足前述任意一个第一预设条件的情况下,可以将全量图结构信息、全量节点特征信息和全量模型参数信息,一次性全部写入存储单元。通过该种方式可以构建单机全显存图训练架构。
例如,第一预设条件可以包括图结构具有数亿节点、几十亿边。针对包括数亿节点、几十亿边的小规模以及大规模图数据,可以构建单机全显存图训练架构。实现在存储模块上,全量图结构信息、全量节点特征信息和全量模型参数信息均写入GPU显存。并实现在训练流程上,图采样、查询、训练等过程均在GPU中进行。
图4示意性示出了根据本公开实施例的基于单机全显存图训练架构执行模型训练过程的示意图。
如图4所示,单机设备400中可以包括深度学习平台410、至少一个GPU 420。在一些实施例中,单机设备400中还可以包括CPU 440。需要说明的是,图4中仅示出了一个GPU 420中的操作方法,在存在多个GPU的情况下,每个GPU的操作方法均与该GPU 420中的操作方法一致,多个GPU之间可以采用P2P(Peer-to-Peer,点对点)直连通信,在此不再赘述。
根据本公开的实施例,在进行模型训练之前,可以首先从本地文件或HDFS集群获取模型训练过程中需要使用到的全量图结构信息4310、全量节点特征信息4320和全量模型参数信息4330。然后,将全量图结构信息4310、全量节点特征信息4320和全量模型参数信息4330,一次性写入GPU 420的显存430。
参见图4所示,在已将全量图结构信息4310、全量节点特征信息4320和全量模型参数信息4330写入显存430的情况下,可以首先对全量图结构信息4310进行图采样,得到样本子图结构信息4311。然后,可以根据样本子图结构信息4311,从显存430中读取与样本子图结构信息4311相关的样本节点特征信息4321和样本模型参数信息4331。在模型训练的过程中,深度学习平台410可以接收样本节点特征信息4321和样本模型参数信息4331,并结合图形处理器420的处理,进行图神经网络模型的训练。每一次训练结束后可以得到更新后节点特征信息和更新后模型参数信息。可以将该更新后节点特征信息和更新后模型参数信息写入GPU 420的显存430中,并对与该更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息进行更新。
根据本公开的实施例,在图采样过程中,可以以Batch(小批次)为单位进行采样,Batch可以表征一次采样预设数目条数据,也可以表征一次采样预设数据量大小的数据。经过一次图采样,例如可以得到一个Batch的样本子图结构信息4311。在模型训练过程中,也可以以Batch为单位进行训练。例如,一次训练过程可以使用与一个Batch的样本子图结构信息431 1相对应的样本节点特征信息4321和样本模型参数信息4331作为训练数据。
根据本公开的实施例,由于每次训练结束后都对显存430中的数据进行实时更新,显存430中的全量节点特征信息4320和全量模型参数信息4330可以表征最新训练得到的图神经网络模型的信息。在模型训练结束之后,根据显存430中的全量节点特征信息4320和全量模型参数信息4330,可以确定经训练的图神经网络模型。
根据本公开的实施例,参见图4所示,在模型训练结束之后,也可以将显存430中的全量节点特征信息4320和全量模型参数信息4330,拷贝至CPU 440,并可在CPU 440中确定经训练的图神经网络模型以及执行图数据处理方法。
需要说明的是,在模型训练结束之后,显存430中的全量节点特征信息4320和全量模型参数信息4330也可以被拷贝至能够与单机设备400建立通信的其他设备或存储器上,并可在其他设备或存储器中确定经训练的图神经网络模型以及执行图数据处理方法,在此不做限定。
通过本公开的上述实施例,实现了一种适用于包括数亿节点、几十亿边的图数据的图训练架构,该架构一次性拷贝所有用于训练的图数据到GPU,后续不涉及任何CPU-GPU的拷贝和通信,可有效提高训练速率。此外,GPU卡之间采用P2P直连通信,可以加快跨卡之间的数据访问速度。
根据本公开的实施例,在全量图结构信息满足第二预设条件的情况下,根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元还可以包括:响应于确定全量图结构信息满足第二预设条件,将全量图结构信息写入存储单元,将全量节点特征信息和全量模型参数信息,写入外部存储器。将已写入外部存储器的全量节点特征信息和全量模型参数信息,分批次写入存储单元。
根据本公开的实施例,第二预设条件可以表征全量图结构信息、全量节点特征信息和全量模型参数信息的数据量总大小已超出单机全显存所提供的空间的大小。第二预设条件可以包括如下中的至少之一:全量图结构信息对应的节点数目大于第三预设下限值且小于第三预设上限值、全量图结构信息对应的边的数目大于第四预设下限值且小于第四预设上限值、全量节点特征信息和全量模型参数信息的数据量大小大于第三预设阈值且小于第四阈值阈值。第三预设下限值大于第一预设上限值,第四预设下限值大于第二预设上限值,第三预设阈值大于第二预设阈值,且可不限于此。第三预设下限值、第三预设上限值、第四预设下限值、第四预设上限值、第三预设阈值以及第四预设阈值可以根据存储单元以及外部存储器等的空间大小设定,例如可以设置为预计数据量大小大于存储单元的空间大小且小于外部存储器的空间大小的值。
根据本公开的实施例,外部存储器可以包括SSD(Solid State Disk,固态硬盘)、AEP(apachepass,一种存储设备)等,且可不限于此,外部存储器可以具有比图形处理器的存储单元的空间大的存储空间。
根据本公开的实施例,在确定全量图结构信息满足第二预设条件的情况下,可以首先将权利图结构信息一次性全部写入存储单元,将全量节点特征信息和全量模型参数一次性全部写入外部存储单元。然后,可以从外部存储器,读取一个批次或多个批次的关联信息,关联信息可以包括相关联的节点特征信息和模型参数信息。之后,可以以一个批次或多个批次为一个写入单位,将关联信息分批次写入存储单元,以便于图形处理器结合存储单元中的图结构信息、节点特征信息和模型参数信息,训练图神经网络模型。
根据本公开的实施例,将已写入外部存储器的全量节点特征信息和全量模型参数信息,分批次写入存储单元可以包括:在针对全量图结构信息进行图采样得到第一批量子图结构信息的情况下,从已写入外部存储器的全量节点特征信息和全量模型参数信息中,读取与第一批量子图结构信息相对应的第一批量节点特征信息和第一批量模型参数信息,全量节点特征信息包括第一节点特征信息,全量模型参数信息包括第一模型参数信息。将第一批量节点特征信息和第一批量模型参数信息写入内部存储器。将第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,在将全量节点特征信息和全量模型参数信息分批次写入存储单元的过程中,可以根据图采样结果进行分批次,然后将分批结果写入存储单元。例如,可以将一次图采样得到的子图结构信息对应的节点特征信息和模型参数信息确定为一个批次。也可以将多次图采样得到的子图结构信息对应的节点特征信息和模型参数信息确定为一个批次。第一批量子图结构信息可以包括一次图采样或多次图采样得到的子图结构信息。
根据本公开的实施例,在将外部存储器的数据写入存储单元的过程中,需要有内部存储器作为中间介质。首先将外部存储器中的数据写入内部存储器。然后,经由内部存储器将数据写入存储单元。第一批量节点特征信息和第一批量模型参数信息可以作为一个批次,写入内部存储器,以便后续写入存储单元。第一节点特征信息和第一模型参数信息具有关联关系。第一节点特征信息和第一模型参数信息可以作为一个批次,写入存储单元。第一批量节点特征信息和第一节点特征信息可以全部相同或部分相同或完全不同。相关联的,第一批量模型参数信息和第一模型参数信息可以全部相同或部分相同或完全不同。
例如,可以根据存储单元的存储空间,确定一个Pass(大批次,一个Pass可以包括多个Batch)。在该种情况下,一个Pass粒度可以读取与存储单元的存储空间的大小相对应数据量的节点特征信息和模型参数信息。也可以通过预定义预设数目条子图结构信息确定一个Pass。在该种情况下,一个Pass粒度可以读取与该预设数目条子图结构信息相对应的节点特征信息和模型参数信息。
需要说明的是,确定一个Pass所能读取的数据量大小的方式可以不限于如上所述,还可以包括其他方法,只要一个Pass粒度读取的数据量大小小于存储单元的存储空间的大小即可。
根据本公开的实施例,在从外部存储器读取数据写入内部存储器的过程中,可以以Pass为单位,大批次粒度的从外部存储器读取第一批量节点特征信息和第一批量模型参数信息,并写入内部存储器。内部存储器可以存储多个Pass的第一批量节点特征信息和第一批量模型参数信息。在需要将数据写入存储单元的过程中,可以读取一个Pass的第一批量节点特征信息和第一批量模型参数信息,并写入存储单元。也可以读取一个Pass的第一节点特征信息和第一模型参数信息,并写入存储单元。
根据本公开的实施例,将第一节点特征信息和第一模型参数信息,写入存储单元可以包括:响应于确定第一节点特征信息和第一模型参数信息已写入内部存储器,从内部存储器读取第一节点特征信息和第一模型参数信息。将第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,第一节点特征信息和第一模型参数信息可以表征根据某个图采样结果进行训练时需要使用到的数据的信息。在执行根据该图采样结果进行训练的操作之前,第一节点特征信息和第一模型参数信息可以未写入内部存储器,也可以部分写入内部存储器,也可以全部写入内部存储器。
根据本公开的实施例,在确定第一节点特征信息和第一模型参数信息已写入内部存储器,且根据图采样结果,需要将第一节点特征信息和第一模型参数信息写入存储单元的情况下,可以在向存储单元写入训练数据的过程中,从内部存储器读取第一节点特征信息和第一模型参数信息,并将其写入存储单元。
根据本公开的实施例,将第一节点特征信息和第一模型参数信息,写入存储单元还可以包括:响应于确定第一节点特征信息和第一模型参数信息未写入内部存储器,从外部存储器读取第一节点特征信息和第一模型参数信息。将第一节点特征信息和第一模型参数信息,写入内部存储器。将已写入内部存储器的第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,在确定第一节点特征信息和第一模型参数信息未写入内部存储器,且根据图采样结果,需要将第一节点特征信息和第一模型参数信息写入存储单元的情况下,可以首先从外部存储器读取第一节点特征信息和第一模型参数信息,并将其写入内部存储器。然后,从内部存储器读取第一节点特征信息和第一模型参数信息,并将其写入存储单元。
通过本公开的上述实施例,可以基于外部存储器、内部存储器和存储单元,通过流水线的形式,将用于训练图神经网络模型的节点特征信息和模型参数信息,写入图形处理器的存储单元,使得训练过程能够在图形处理器中完成,可有效减少CPU-GPU拷贝通信过程中的耗时,提高训练速率。
根据本公开的实施例,已写入存储单元的所有节点特征信息均可作为样本节点特征信息,已写入存储单元的所有模型参数信息均可作为样本模型参数信息。基于已写入存储单元的样本节点特征信息和样本模型参数信息,结合图形处理器的处理,可以进行图神经网络模型的训练。
根据本公开的实施例,可以将一个Pass的数据分割为多个Batch的数据。在训练过程中,可以以Batch为单位,小批次粒度的进行训练。例如,可以读取一个Batch的节点特征信息和模型参数信息,利用该一个Batch的节点特征信息和模型参数信息,执行一次图神经网络模型的训练。
根据本公开的实施例,在每一次训练结束的情况下,可以得到与该次训练过程针对的节点相对应的更新后节点特征信息和更新后模型参数信息。在得到更新后节点特征信息和更新后模型参数信息之后,可以将更新后节点特征信息和更新后模型参数信息写入内部存储器,用于为后续训练过程提供最新的样本节点特征信息和新的样本模型参数信息。
根据本公开的实施例,每次训练结束后得到的更新后节点特征信息和更新后模型参数信息,可以一次性全部写入内部存储器,也可以分批次写入内部存储器,以使得内部存储器中存储的节点特征信息和模型参数信息均为最新的信息,便于后续的训练过程使用。
例如,在利用一个Batch的节点特征信息和模型参数信息,执行一次图神经网络模型的训练之后,可以得到一个Batch的更新后节点特征信息和更新后模型参数信息。在利用下一个Batch的节点特征信息和模型参数信息,训练图神经网络模型的情况下,可以将前一个Batch的更新后节点特征信息和更新后模型参数信息写入内部存储器。
根据本公开的实施例,将更新后节点特征信息和更新后模型参数信息写入内部存储器可以包括:响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的第二节点特征信息和第二模型参数信息已写入内部存储器,利用更新后节点特征信息和更新后模型参数信息,分别对第二节点特征信息和第二模型参数信息进行更新。响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入内部存储器,将更新后节点特征信息和更新后模型参数信息,写入内部存储器。
根据本公开的实施例,第二节点特征信息和第二模型参数信息,可以表征与更新后节点特征信息和更新后模型参数信息相对应的节点在最近一次更新前所对应的节点特征信息和模型参数信息。在第二节点特征信息和第二模型参数信息已写入内部存储器的情况下,可以利用更新后节点特征信息和更新后模型参数信息,分别对第二节点特征信息和第二模型参数信息进行更新。更新方式可以包括:将第二节点特征信息和第二模型参数信息从存储空间中删除。确定用于存储第二节点特征信息和第二模型参数信息的存储空间对应的第一地址信息。根据第一地址信息,将更新后节点特征信息和更新后模型参数信息写入该第一地址信息指向的存储空间。
根据本公开的实施例,在内部存储器中未写入与更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息的情况下,可以将更新后节点特征信息和更新后模型参数信息写入内部存储器。写入方式可以包括:获取内部存储器中尚未写入数据的存储空间对应的第二地址信息。根据第二地址信息,将更新后节点特征信息和更新后模型参数信息写入该第二地址信息指向的存储空间。
根据本公开的实施例,上述图采样得到第一批量子图结构信息,将第一批量节点特征信息和第一批量模型参数信息写入内部存储器,从内部存储器读取样本节点特征信息以及样本模型参数信息并写入存储单元,图形处理器处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息,以及将更新后节点特征信息和更新后模型参数信息写入内部存储器等过程,可以以预设的频率持续执行。由于内部存储器的存储空间存在上限,在向内部存储器写入数据的过程中,包括将第一批量节点特征信息和第一批量模型参数信息写入内部存储器的过程,以及将更新后节点特征信息和更新后模型参数信息写入内部存储器的过程,可以根据内部存储器的剩余空间的大小,对已写入内部存储器的数据进行调整。
根据本公开的实施例,将更新后节点特征信息和更新后模型参数信息写入内部存储器还可以包括:响应于确定内部存储器的剩余存储空间小于第一预设空间阈值,将已写入第二内部存储器的第三节点特征信息和第三模型参数信息转移写入外部存储器。第三节点特征信息包括与第一目标节点相对应的节点特征信息。第三模型参数信息包括与第一目标节点相对应的模型参数信息。第一目标节点包括于最近使用到的批量节点中不包括的节点。
根据本公开的实施例,第一预设空间阈值可以根据一个或预定数目个Pass的节点特征信息和模型参数信息所占据的存储空间的大小确定,也可以根据一个或预定数目个Batch的节点特征信息和模型参数信息所占据的存储空间的大小确定,且可不限于此。第一目标节点还可以包括最近使用到的批量节点中使用频次最低的节点,且可不限于此。
例如,第一预设空间阈值根据一个Pass的节点特征信息和模型参数信息所占据的存储空间的大小确定。在确定内部存储器的剩余空间已不足以写入新一Pass的数据的情况下,可以对已写入内部存储器的数据进行转移。如可将第三节点特征信息和第三模型参数信息转移写入外部存储器。
通过本公开的上述实施例,可以基于节点特征信息和模型参数信息在存储单元、内部存储器、外部存储器的流水线操作,使得在数据规模较大的情况下,用于训练图神经网络模型的节点特征信息和模型参数信息也能够从存储单元中读取,训练过程能够在图形处理器中完成,有效减少了CPU-GPU拷贝通信过程中的耗时,提高了训练速率。
根据本公开的实施例,在确定全量图结构信息满足前述任意一个第二预设条件的情况下,可以将全量图结构信息写入存储单元,并结合内部存储器和外部存储器的流水线操作,将节点特征信息和模型参数信息,分批次写入存储单元。通过该种方式可以构建单机三级存储流水线图训练架构。
例如,第二预设条件可以包括图结构具有几十亿节点、百亿边。针对包括几十亿节点、百亿边的超大规模图数据,使用单机全显存存储图数据可能放不下。在该种情况下,可以构建由外部存储器(如SSD)-内部存储器(如CPU)-图形处理器的存储单元(如GPU显存)构成的单机三级存储流水线图训练架构。实现在存储模块上,全量图结构信息写入GPU显存,与全量图结构信息相对应的节点特征信息和节点模型参数分层级的写入SSD、CPU和GPU显存中。SSD可以存放全量节点特征信息和全量模型参数信息。频繁使用到和最新需要训练的部分节点特征信息和部分模型参数可以写入CPU,最近1个Pass训练需要用到节点特征信息和模型参数信息可以写入GPU显存。并实现在训练流程上,图采样、查询、训练等过程均在GPU中进行。
图5示意性示出了根据本公开实施例的单机三级存储(SSD-GPU-GPU显存)流水线图训练架构的示意图。
如图5所示,单机设备500中可以包括深度学习平台510、至少一个GPU 520、至少一个CPU 540、至少一个SSD 550。需要说明的是,图5中仅示出了一个GPU 420、一个CPU 540以及一个SSD 550各自及其相互之间的操作方法,在存在多个GPU、多个GPU和多个SSD的情况下,每个GPU、CPU、SSD的操作方法及其相互之间的操作方法均与该GPU 520、CPU 540和SSD550各自及其相互之间的操作方法一致,在此不再赘述。
根据本公开的实施例,在进行模型训练之前,可以首先从本地文件或HDFS集群获取模型训练过程中需要使用到的全量图结构信息5310、全量节点特征信息551和全量模型参数信息552。然后,将全量图结构信息5310,一次性写入GPU 520的显存530,将全量节点特征信息551和全量模型参数信息552写入SSD 550。
参见图5所示,在已将全量图结构信息5310,一次性写入GPU 520的显存530,将全量节点特征信息551和全量模型参数信息552写入SSD550的情况下,在模型训练之前,例如可以以Pass为单位,对全量图结构信息5310进行批量采样,得到第一批量子图结构信息5312。然后,可以根据第一批量子图结构信息5312,从SSD 550中读取与第一批量子图结构信息5312相关的第一批量节点特征信息541和第一批量模型参数信息542,并将第一批量节点特征信息541和第一批量模型参数信息542写入CPU 540。CPU 540可以存储多个Pass粒度的第一批量节点特征信息541和第一批量模型参数信息542。显存530中例如可以存储一个Pass粒度的第一节点特征信息5320和第一模型参数信息5330。第一节点特征信息5320和第一模型参数信息5330可以从CPU 540读取。在CPU 540中不包括相关信息的情况下,第一节点特征信息5320和第一模型参数信息5330也可以从SSD 550读取,并经由CPU 540的传递写入显存530。第一节点特征信息5320和第一模型参数信息5330可以用于提供Batch粒度的样本节点特征信息5321和样本模型参数信息5331。
需要说明的是,写入显存530的第一节点特征信息5320和第一模型参数信息5330为最近几次训练过程中需要用到节点特征信息和模型参数信息。
参见图5所示,在显存530中的相关信息已准备完成的情况下,在获取样本节点特征信息5321和样本模型参数信息5331的过程中,可以根据图采样得到的样本子图结构信息531 1,以Batch为单位,从显存530中,读取与样本子图结构信息5311相关的一个Batch粒度的样本节点特征信息5321和样本模型参数信息5331,进行模型训练。
根据本公开的实施例,在模型训练的过程中,参见图5所示,深度学习平台510可以接收相应Batch的样本节点特征信息5321和样本模型参数信息5331,并结合图形处理器520的处理,进行图神经网络模型的训练。每一个Batch的训练结束后,可以得到更新后节点特征信息和更新后模型参数信息。可以将该更新后节点特征信息和更新后模型参数信息写入GPU 520的显存530中,并对与该更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息进行更新。
根据本公开的实施例,显存530中存储的一个Pass粒度的第一节点特征信息5320和第一模型参数信息5330可以包括多个Batch粒度的第一节点特征信息5320和第一模型参数信息5330。针对每个Batch粒度的第一节点特征信息5320和第一模型参数信息5330,可以重复执行前述训练过程。在完成一个Pass粒度的模型训练之后,可以将该Pass粒度对应的最新训练得到的第一节点特征信息5320和第一模型参数信息5330写入CPU 540,或经由CPU540的传递写入SSD 550。
根据本公开的实施例,在CPU 540的剩余空间不足的情况下,可以从CPU 540读取使用频次较低的节点的节点特征信息和模型参数信息,并将其转移写入SSD 550。在CPU540的剩余空间较为充足的情况下,可以无需执行将CPU 540中的信息转移写入SSD 550的操作。
根据本公开的实施例,基于SSD-GPU-GPU显存流水线图训练架构,可以不间断的更新GPU显存中的信息。基于该种方式,可以基于多个Pass粒度的第一节点特征信息5320和第一模型参数信息5330,进行模型训练及参数更新。通过将每次最新训练得到的第一节点特征信息5320和第一模型参数信息5330写入CPU 540,或经由CPU 540的传递写入SSD 550,可以在模型训练结束之后,根据SSD 550中的全量节点特征信息551和全量模型参数信息552,确定经训练的图神经网络模型。
需要说明的是,将数据从一个存储单元写入另一个存储单元的写入方式可以包括转移写入、拷贝写入等方式。在某些实施例中,第二预设条件也可以包括第一预设条件。上述单机三级存储流水线图训练架构也可适用于全量图结构信息满足第一预设条件的情况,在此不进行限定。
通过本公开的上述实施例,实现了一种支持包括几十亿节点、百亿边的图数据的图训练架构,该架构基于SSD-GPU-GPU显存实现三级存储,可以扩大图数据的规模,适用于更大规模的图训练场景。此外,SSD-GPU-GPU显存之间的流水线设计,可以最大化挖掘机器算力,充分利用算力和存储资源,提高GPU利用率。又能重叠存储于不同存储单元中的信息在查询和拷贝方面的耗时,可有效提高模型训练速率,优化模型训练性能。
根据本公开的实施例,在全量图结构信息满足第三预设条件的情况下,根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元可以包括:响应于确定全量图结构信息满足第三预设条件,将全量图结构信息写入存储单元。对全量节点特征信息和全量模型参数信息进行分片,得到多个分片节点特征信息和多个分片模型参数信息。将多个分片节点特征信息和多个分片模型参数信息,分别写入多个设备的设备外部存储器,图形处理器为与多个设备相关的图形处理器。将已写入设备外部存储器的分片节点特征信息和分片模型参数信息,分批次写入存储单元。
根据本公开的实施例,第三预设条件可以表征全量图结构信息、全量节点特征信息和全量模型参数信息的数据量总大小已超出由外部存储器-内部存储器-图形处理器的存储单元构成的单机三级存储所提供的空间的大小。第三预设条件可以包括如下中的至少之一:全量图图结构信息对应的节点数目大于第五预设下限值、全量图结构信息对应的边的数目大于第六预设下限值、全量节点特征信息和全量模型参数信息的数据量大小大于第五预设阈值。第五预设下限值大于第三预设上限值,第六预设下限值大于第四预设上限值,第五预设阈值大于第四预设阈值,且可不限于此。第五预设下限值、第六预设下限值以及第五预设阈值可以根据存储单元以及设备外部存储器等的空间大小设定,例如可以设置为预计数据量大小大于设备外部存储器的空间大小的值。
根据本公开的实施例,在确定全量图结构信息满足前述任意一个第三预设条件的情况下,可以将全量图结构信息写入多个设备的存储单元,并根据设备的数目或各个设备的可用存储空间的大小,将全量节点特征信息和全量模型参数信息分割为多个分片节点特征信息和多个分片模型参数信息。在此基础上,还可以结合各个设备的内部存储器和外部存储器的流水线操作,将分片节点特征信息和分片模型参数信息,分批次写入多个设备的存储单元。通过该种方式可以构建多机图训练架构。
例如,第三预设条件可以包括图结构具有百亿节点、百亿边。针对包括百亿节点、百亿边的巨大规模图数据,由于单机内存和显存有限,使用单机三级存储的方式进行图训练可能效果较差。在该种情况下,可以结合多个由外部存储器(如SSD)-内部存储器(如CPU)-图形处理器的存储单元(如GPU显存)构成的单机三级存储流水线图训练架构,构建多机图训练架构。多机图训练架构中每台机器设备内部的数据处理方法可以与单机三级存储流水线图训练架构中的数据处理方法一致,在此不再赘述。实现在存储模块上,全量图结构信息写入多个设备的GPU显存,与全量图结构信息相对应的节点特征信息和节点模型参数分片、分层级的写入多个设备的SSD、CPU和GPU显存中。并实现在训练流程上,图采样、查询、训练等过程均在GPU中进行。在图采样过程中,可以通过NCCL ALL2ALL通信实现分布式多机查询采样。在图模型训练和更新的过程中,可以通过多机NCCL ALL2ALL通信完成图模型参数的查询和更新。
图6A示意性示出了根据本公开一个实施例的多机图训练架构的示意图。
如图6A所示,多机图训练架构中可以包括多个设备,例如可以至少包括第一设备6121、第二设备6122。第一设备6121中可以包括至少一个CPU 6401、至少一个SSD 6501。第二设备6122中可以包括至少一个CPU 6402、至少一个SSD 6502。GPU 620可以为与第一设备6121和第二设备6122均能通信的GPU。需要说明的是,图6A中仅示出了两个设备,每个设备中仅示出了一个CPU和一个SSD及其相互之间的操作方法。在存在更多个设备,每个设备中包括多个CPU和多个SSD的情况下,每个设备及其中的CPU、SSD的操作方法及其相互之间的操作方法均与该第一设备6121及其中的CPU 6401、SSD 6501的操作方法一致,在此不再赘述。
根据本公开的实施例,在进行模型训练之前,可以首先从本地文件或HDFS集群获取模型训练过程中需要使用到的全量图结构信息6310、以及与全量图结构信息6310相关的全量节点特征信息和全量模型参数信息。然后,可以根据设备数目或图数据的数据量大小,对全量节点特征信息和全量模型参数信息进行分片。本实施例中,例如可以得到至少两个分片,如图6A所示,得到的第一个分片例如可以包括分片节点特征信息6511和分片模型参数信息6521,第二个分片例如可以包括分片节点特征信息6512和分片模型参数信息6522。两个分片可以分别写入第一设备6121的SSD 6501,以及第二设备6122的SSD 6502。全量图结构信息6310可以一次性写入与第一设备6121、第二设备6122均相关的GPU 620的显存630。对于写入每个设备的SSD的分片信息,可以基于与单机三级存储流水线图训练架构中相同的方式,将分片节点特征信息6511和分片模型参数信息6521,以及分片节点特征信息6512和分片模型参数信息6522,分批次写入GPU 620的显存630。
根据本公开的实施例,将已写入设备外部存储器的分片节点特征信息和分片模型参数信息,分批次写入存储单元可以包括:在针对全量图结构信息进行批量采样得到第二批量子图结构信息的情况下,从已写入设备外部存储器的分片节点特征信息和分片模型参数信息中,读取与第二批量子图结构信息相对应的第二批量节点特征信息和第二批量模型参数信息,分片节点特征信息包括第四节点特征信息,分片模型参数信息包括第四模型参数信息。确定与第二批量节点特征信息和第二批量模型参数信息相对应的存储设备的设备内部存储器。将第二批量节点特征信息和第二批量模型参数信息写入设备内部存储器。将第四节点特征信息和第四模型参数信息,写入存储单元。
参见图6A所示,在已将全量图结构信息6310,一次性写入GPU 620的显存630,将分片节点特征信息6511和分片模型参数信息6521写入第一设备6121的SSD 6501,将分片节点特征信息6512和分片模型参数信息6522写入第二设备6122的SSD 6502的情况下,在模型训练之前,例如可以以Pass为单位,对全量图结构信息6310进行批量采样,得到第二批量子图结构信息6312。然后,由于针对与全量图结构信息6310相关的全量节点特征信息和全量模型参数信息进行了分片存储,与第二批量子图结构信息5312相对应的第二批量节点特征信息和第二批量模型参数信息可能存储于不同设备的SSD中。因此,可以根据第二批量子图结构信息6312,从第一设备6121的SSD 6501和第二设备6122的SSD6502中,读取与第二批量子图结构信息6312相关的第二批量节点特征信息6411、6412和第二批量模型参数信息6421、6422。
根据本公开的实施例,在读取到第二批量节点特征信息6411、6412和第二批量模型参数信息6421、6422之后,可以首先确定读取到的每一条信息的初始存储设备,如原本存储于第一设备6121的SSD 6501或第二设备6122的SSD 6502中。然后,参见图6A所示,可以将从SSD6501读取的第二批量节点特征信息6411和第二批量模型参数信息6421写入第一设备6121的CPU 6401,将从SSD 6502中读取的第二批量节点特征信息6412和第二批量模型参数信息6422写入第二设备6122的CPU 6402。CPU 6401、6402均可以存储多个Pass粒度的第二批量节点特征信息和第二批量模型参数信息。显存630中例如可以存储一个Pass粒度的第四节点特征信息6320和第四模型参数信息6330。第四节点特征信息6320可以为已写入CPU6401、6402的第二批量节点特征信息6411、6412,也可以为未写入CPU 6401、6402的节点特征信息。第四模型参数信息6330可以为已写入CPU 6401、6402的第二批量模型参数信息6421、6422,也可以为未写入CPU 6401、6402的模型参数信息。
根据本公开的实施例,将第四节点特征信息和第四模型参数信息,写入存储单元可以包括:响应于确定第四节点特征信息和第四模型参数信息已写入设备内部存储器,从设备内部存储器读取第四节点特征信息和第四模型参数信息。将第四节点特征信息和第四模型参数信息,写入存储单元。
参见图6A所示,在确定已写入CPU 6401、6402的第二批量节点特征信息641 1、6412和第二批量模型参数信息6421、6422中包括第四节点特征信息6320和第四模型参数信息6330的情况下,可以从CPU6401、6402读取第四节点特征信息6320和第四模型参数信息6330,并将其写入GPU 620的显存630。
根据本公开的实施例,将第四节点特征信息和第四模型参数信息,写入存储单元还可以包括:响应于确定第四节点特征信息和第四模型参数信息未写入设备内部存储器,从设备外部存储器读取第四节点特征信息和第四模型参数信息。将第四节点特征信息和第四模型参数信息,写入设备内部存储器。将已写入设备内部存储器的第四节点特征信息和第四模型参数信息,写入存储单元。
参见图6A所示,在确定存在部分或全部第四节点特征信息6320以及部分或全部第四模型参数信息6330未写入CPU 6401、6402的情况下,可以从SSD 6501、6502读取未写入CPU 6401、6402的第四节点特征信息6320和第四模型参数信息6330,并将其写入相对应的CPU6401、6402,经由CPU 6401、6402的传递,通过读取SSD 6501、6502和CPU 6401、6402的方式,将第四节点特征信息6320和第四模型参数信息6330写入GPU 620的显存630。
需要说明的是,写入显存630的第四节点特征信息6320和第四模型参数信息6330为最近几次训练过程中需要用到节点特征信息和模型参数信息。
根据本公开的实施例,第四节点特征信息6320和第四模型参数信息6330可以用于提供Batch粒度的样本节点特征信息6321和样本模型参数信息6331。
参见图6A所示,在显存630中的相关信息已准备完成的情况下,在获取样本节点特征信息6321和样本模型参数信息6331的过程中,可以根据图采样得到的样本子图结构信息6311,以Batch为单位,从显存630中,读取与样本子图结构信息6311相关的一个Batch粒度的样本节点特征信息6321和样本模型参数信息6331,进行模型训练。在模型训练的过程中,参见图6A所示,深度学习平台610可以接收相应Batch的样本节点特征信息6321和样本模型参数信息6331,并结合图形处理器620的处理,进行图神经网络模型的训练。
根据本公开的实施例,在每一次训练结束的情况下,可以得到与该次训练过程针对的节点相对应的更新后节点特征信息和更新后模型参数信息。在得到更新后节点特征信息和更新后模型参数信息之后,可以将更新后节点特征信息和更新后模型参数信息写入设备内部存储器,用于为后续训练过程提供最新的样本节点特征信息和新的样本模型参数信息。
根据本公开的实施例,每一个Batch训练结束后,可以得到更新后节点特征信息和更新后模型参数信息。结合图6A所示,可以将该更新后节点特征信息和更新后模型参数信息写入GPU 620的显存630中,对与该更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息进行更新。
根据本公开的实施例,将更新后节点特征信息和更新后模型参数信息写入设备内部存储器可以可以包括:响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的第五节点特征信息和第五模型参数信息已写入设备内部存储器,利用更新后节点特征信息和更新后模型参数信息,分别对第五节点特征信息和第五模型参数信息进行更新。响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入设备内部存储器,将更新后节点特征信息和更新后模型参数信息,写入设备内部存储器。
根据本公开的实施例,结合图6A所示,显存630中存储的一个Pass粒度的第四节点特征信息6320和第四模型参数信息6330可以包括多个Batch粒度的第四节点特征信息6320和第四模型参数信息6330。针对每个Batch粒度的第四节点特征信息6320和第四模型参数信息6330,可以重复执行前述训练过程。在完成一个Pass粒度的模型训练之后,可以将该Pass粒度对应的最新训练得到的第四节点特征信息6320和第四模型参数信息6330写入CPU6401、6402,或经由CPU 6401、6402的传递写入SSD 6501、6502。
根据本公开的实施例,结合图6A所示,在写入过程中,在CPU 6401、6402中已写入第五节点特征信息和第五模型参数信息的情况下,可以利用最新训练得到的第四节点特征信息6320和第四模型参数信息6330确定的更新后节点特征信息和更新后模型参数信息,对已写入CPU 6401、6402中的第五节点特征信息和第五模型参数信息进行更新。在CPU6401、6402中未写入与最新训练得到的第四节点特征信息6320和第四模型参数信息6330相对应的节点特征信息和模型参数信息的情况下,可以将最新训练得到的第四节点特征信息6320和第四模型参数信息6330确定的更新后节点特征信息和更新后模型参数信息,写入CPU6401、6402。通过该种方式,可以CPU 6401、6402中的信息均为最新训练得到的信息。
根据本公开的实施例,也可以将CPU 6401、6402中的信息,写SSD6501、6502,并对SSD 6501、6502中的相关信息进行更新。以便于在后续从CPU 6401、6402或SSD 6501、6502中读取信息以获得样本节点特征信息6321和样本模型参数信息6331时,能够得到最新训练得到的相关信息。
根据本公开的实施例,将更新后节点特征信息和更新后模型参数信息写入设备内部存储器还可以包括:响应于确定设备内部存储器的剩余存储空间小于第二预设空间阈值,将已写入设备内部存储器的第六节点特征信息和第六模型参数信息转移写入设备外部存储器。第六节点特征信息包括与第二目标节点相对应的节点特征信息。第三模型参数信息包括与第二目标节点相对应的模型参数信息。第二目标节点包括于最近使用到的批量节点中不包括的节点。
根据本公开的实施例,结合图6A所示,在CPU 640_1、640_2的剩余空间不足的情况下,可以从CPU 640_1、640_2读取使用频次较低的节点的节点特征信息和模型参数信息,并将其转移写入SSD 650_1、650_2。在CPU 640_1、640_2的剩余空间较为充足的情况下,可以无需执行将CPU 640_1、640_2中的信息转移写入SSD 650_1、650_2的操作。
根据本公开的实施例,结合图6A所示,基于SSD 650_1-GPU 640_1-GPU显存630,以及SSD 650_2-GPU 640_2-GPU显存630均可实现流水线图训练架构。在每一个流水线图训练架构中,均可以结合前述存储及更新方式,不间断的更新GPU显存中的信息。基于该种方式,可以基于多个Pass粒度的第四节点特征信息632_0和第四模型参数信息633_0,进行模型训练及参数更新。通过将每次最新训练得到的第四节点特征信息632_0和第四模型参数信息633_0写入CPU 640_1、640_2,或经由CPU 640_1、640_2的传递写入SSD 650_1、650_2,可以在模型训练结束之后,根据多个设备的SSD 650_1、650_2中的节点特征信息和模型参数信息,确定经训练的图神经网络模型。
根据本公开的实施例,全量图结构信息也可以通过分片的方式存储于多个设备中。为实现该种存储方式,图形处理器可以包括与多个设备相对应多个设备图形处理器.设备图形处理器中可以包括设备存储单元。将全量图结构信息写入存储单元可以包括:对全量图结构信息进行分片,得到多个分片子图结构信息。将多个分片子图结构信息,分别写入与多个设备对应的存储单元。
图6B示意性示出了根据本公开另一个实施例的多机图训练架构的示意图。
如图6B所示,多机图训练架构中可以包括多个设备,例如可以至少包括第三设备600_1、第四设备600_2。第三设备600_1中可以包括至少一个GPU 620_1、至少一个CPU 640_10、至少一个SSD 650_10。第四设备6002中可以包括至少一个GPU 620_2、至少一个CPU640_20、至少一个SSD 650_20。需要说明的是,图6B中仅示出了两个设备,每个设备中仅示出了一个GPU、一个CPU和一个SSD及其相互之间的操作方法。在存在更多个设备,每个设备中包括多个GPU、多个CPU和多个SSD的情况下,每个设备及其中的GPU、CPU、SSD的操作方法及其相互之间的操作方法均与该第三设备600_1及其中的GPU 620_1、CPU 640_10、SSD650_10的操作方法一致,在此不再赘述。
根据本公开的实施例,在将全量图结构信息写入与多个设备相关的GPU的过程中,可以根据设备数目或图数据的数据量大小,首先对全量图结构信息进行分片,分片得到的分片子图结构信息可以首先存储于不同设备上,例如可以存储于不同设备的CPU中。本实施例中,参见图6B所示,对全量图结构信息进行分片后,例如可以至少得到分片子图结构信息631_10、分片子图结构信息631_20。分片子图结构信息631_10可以首先存储于第三设备600_1的CPU 640_10。然后,可以从CPU 640_10中读取分片子图结构信息631_10,并将其写入第三设备600_1的GPU 620_1的显存630_1。相应地,分片子图结构信息631_20可以首先存储于第四设备600_2的CPU 640_20。然后,可以从CPU 640_20中读取分片子图结构信息631_20,并将其写入第四设备600_2的GPU 620_2的显存630_2。
根据本公开的实施例,在图6B所示的场景中,相关节点特征信息和相关模型参数信息的存储及读写方式可以参照前述实施例及图6A所述,在此不再赘述。不同的是,在进行模型训练的过程,在从第三设备600_1的GPU 620_1的显存630_1读取到样本节点特征信息632_11和样本模型参数信息633_11,以及从第四设备600_2的GPU 620_2的显存630_2读取到样本节点特征信息632_21和样本模型参数信息633_21的的情况下,可以对样本节点特征信息632_11、632_21和样本模型参数信息633_11、633_21进行样本shuffle(打乱)操作。然后可以以Batch为单位,每次从经过样本shuffle操作的样本节点特征信息632_11、632_21和样本模型参数信息633_11、633_21中,读取一个Batch粒度的样本信息。深度学习平台可以接收一个Batch粒度的样本信息,进行模型训练,并返回更新信息至相应的设备中。
需要说明的是,将数据从一个存储单元写入另一个存储单元的写入方式可以包括转移写入、拷贝写入等方式。在某些实施例中,第三预设条件也可以包括第二预设条件和第一预设条件。上述多机图训练架构也可适用于全量图结构信息满足第二预设条件和第一预设条件的情况,在此不进行限定。第二批量子图结构信息、第二批量节点特征信息、第二批量模型参数信息可以具有与第一批量子徒结构信息、第一批量节点特征信息、第一批量模型参数信息相同或相似的特征及处理方法。第四节点特征信息、第四模型参数信息可以具有与第一节点特征信息、第一模型参数信息相同或相似的特征及处理方法。第五节点特征信息、第五模型参数信息可以具有与第二节点特征信息、第二模型参数信息相同或相似的特征及处理方法。第六节点特征信息、第六模型参数信息可以具有与第三节点特征信息、第三模型参数信息相同或相似的特征及处理方法。第二目标节点可以留第一目标节点相同或相似的特征。第二预设空间阈值可以与第一预设空间阈值具有相同或相似的确定方式,在此均不再赘述。
通过本公开的上述实施例,实现了一种支持包括百亿节点、百亿边的图数据的图训练架构,该架构基于分库、分层和多机的设计,可支持线性增长的图数据规模,性能可达线性加速比。
根据本公开的实施例,上述单机全显存图训练架构、单机三级存储(SSD-GPU-GPU显存)流水线图训练架构和多机图训练架构均可在paddlepaddle图引擎的基础上实现。通过定义第一预设规则,第二预设规则和第三预设规则,可以为不同规模的图数据匹配不同的架构场景。
通过本公开的上述实施例,实现了一套业界创新的自适应GPU图训练模型框架,可以支持逐渐增大的图数据规模,可以针对不同量级的图数据,自适应选择最优的训练模式,可支持超大规模图训练,有效提高模型训练性能、模型稳定性及GPU利用率,缓解实际业务中大规模图数据训练难的问题。
图7示意性示出了根据本公开实施例的图数据处理方法的流程图。
如图7所示,该方法包括操作S710~S720。
在操作S710,获取待处理图数据。
在操作S720,将待处理图数据输入图神经网络模型,得到输出结果。
根据本公开的实施例,图神经网络模型可以是利用根据本公开实施例所述的图神经网络模型的训练方法训练得到的。
根据本公开的实施例,图神经网络模型已经在监督、半监督、无监督和强化学习设置的广泛问题领域中进行了探索。图神经网络模型可以应用于多种领域,例如,推荐领域。
以上仅是示例性实施例,但不限于此,还可以包括本领域已知的其他图神经网络模型的训练方法和图数据处理方法,只要能够降低通信开销、提高模型训练性能、扩大单机存储能力、充分利用机器算力和存储资源、提高GPU利用率即可。
图8示意性示出了根据本公开实施例的图神经网络模型的训练装置的框图。
如图8所示,图神经网络模型的训练装置800,包括:第一读取模块810、采样模块820、第二读取模块830、第一获得模块840和确定模块850。
第一读取模块810,用于从图形处理器的存储单元读取图结构信息。
采样模块820,用于对图结构信息进行图采样,得到样本子图结构信息。
第二读取模块830,用于从存储单元读取与样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息。
第一获得模块840,用于利用图形处理器处理样本节点特征信息和样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息。
确定模块850,用于根据更新后节点特征信息和更新后模型参数信息,确定经训练的图神经网络模型。
根据本公开的实施例,图神经网络模型的训练装置800还包括,在采样模块820之前:第一获取模块和第一写入模块。
第一获取模块,用于响应于接收到模型训练请求,获取用于训练图神经网络模型的全量图结构信息、与全量图结构信息相对应的全量节点特征信息以及全量模型参数信息。
第一写入模块,用于根据全量图结构信息,将全量图结构信息、全量节点特征信息和全量模型参数信息关联地写入存储单元。
根据本公开的实施例,第一写入模块包括:第一写入子模块。
第一写入子模块,用于响应于确定全量图结构信息满足第一预设条件,将全量图结构信息、全量节点特征信息和全量模型参数信息,写入存储单元,其中,第一预设条件包括如下中的至少之一:全量图结构信息对应的节点数目大于第一预设下限值且小于第一预设上限值、全量图结构信息对应的边的数目大于第二预设下限值且小于第二预设上限值。
根据本公开的实施例,第一写入模块包括:第二写入子模块和第三写入子模块。
第二写入子模块,用于响应于确定全量图结构信息满足第二预设条件,将全量图结构信息写入存储单元,将全量节点特征信息和全量模型参数信息,写入外部存储器。
第三写入子模块,用于将已写入外部存储器的全量节点特征信息和全量模型参数信息,分批次写入存储单元。
根据本公开的实施例,第三写入子模块包括:第一读取单元、第一写入单元和第二写入单元。
第一读取单元,用于在针对全量图结构信息进行批量采样得到第一批量子图结构信息的情况下,从已写入外部存储器的全量节点特征信息和全量模型参数信息中,读取与第一批量子图结构信息相对应的第一批量节点特征信息和第一批量模型参数信息,全量节点特征信息包括第一节点特征信息,全量模型参数信息包括第一模型参数信息。
第一写入单元,用于将第一批量节点特征信息和第一批量模型参数信息写入内部存储器。
第二写入单元,用于将第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,第二写入单元包括:第一读取子单元和第一写入子单元。
第一读取子单元,用于响应于确定第一节点特征信息和第一模型参数信息已写入内部存储器,从内部存储器读取第一节点特征信息和第一模型参数信息。
第一写入子单元,用于将第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,第一写入子单元包括:第二读取子单元、第二写入子单元和第三写入子单元。
第二读取子单元,用于响应于确定第一节点特征信息和第一模型参数信息未写入内部存储器,从外部存储器读取第一节点特征信息和第一模型参数信息。
第二写入子单元,用于将第一节点特征信息和第一模型参数信息,写入内部存储器。
第三写入子单元,用于将已写入内部存储器的第一节点特征信息和第一模型参数信息,写入存储单元。
根据本公开的实施例,图神经网络模型的训练装置800还包括:第二写入模块。
第二写入模块,用于将更新后节点特征信息和更新后模型参数信息写入内部存储器,用于提供新的样本节点特征信息和新的样本模型参数信息。
根据本公开的实施例,第二写入模块包括:第一更新子模块和第四写入子模块。
第一更新子模块,用于响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的第二节点特征信息和第二模型参数信息已写入内部存储器,利用更新后节点特征信息和更新后模型参数信息,分别对第二节点特征信息和第二模型参数信息进行更新。
第四写入子模块,用于响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入内部存储器,将更新后节点特征信息和更新后模型参数信息,写入内部存储器。
根据本公开的实施例,第二写入模块包括:第五写入子模块。
第五写入子模块,用于响应于确定内部存储器的剩余存储空间小于第一预设空间阈值,将已写入第二内部存储器的第三节点特征信息和第三模型参数信息转移写入外部存储器,其中,第三节点特征信息包括与第一目标节点相对应的节点特征信息,第三模型参数信息包括与第一目标节点相对应的模型参数信息,第一目标节点包括于最近使用到的批量节点中不包括的节点。
根据本公开的实施例,第一写入模块包括:第六写入子模块、分片子模块、第七写入子模块和第八写入子模块。
第六写入子模块,用于响应于确定全量图结构信息满足第三预设条件,将全量图结构信息写入存储单元。
分片子模块,用于对全量节点特征信息和全量模型参数信息进行分片,得到多个分片节点特征信息和多个分片模型参数信息。
第七写入子模块,用于将多个分片节点特征信息和多个分片模型参数信息,分别写入多个设备的设备外部存储器,图形处理器为与多个设备相关的图形处理器。
第八写入子模块,用于将已写入设备外部存储器的分片节点特征信息和分片模型参数信息,分批次写入存储单元。
根据本公开的实施例,第八写入子模块包括:第二读取单元、确定单元、第三写入单元和第四写入单元。
第二读取单元,用于在针对全量图结构信息进行批量采样得到第二批量子图结构信息的情况下,从已写入设备外部存储器的分片节点特征信息和分片模型参数信息中,读取与第二批量子图结构信息相对应的第二批量节点特征信息和第二批量模型参数信息,分片节点特征信息包括第四节点特征信息,分片模型参数信息包括第四模型参数信息。
确定单元,用于确定与第二批量节点特征信息和第二批量模型参数信息相对应的存储设备的设备内部存储器。
第三写入单元,用于第二批量节点特征信息和第二批量模型参数信息写入设备内部存储器。
第四写入单元,用于将第四节点特征信息和第四模型参数信息,写入存储单元。
根据本公开的实施例,第四写入单元包括:第三读取子单元和第四写入子单元。
第三读取子单元,用于响应于确定第四节点特征信息和第四模型参数信息已写入设备内部存储器,从设备内部存储器读取第四节点特征信息和第四模型参数信息。
第四写入子单元,用于将第四节点特征信息和第四模型参数信息,写入存储单元。
根据本公开的实施例,第四写入子单元包括:第四读取子单元、第五写入子单元和第六写入子单元。
第四读取子单元,用于响应于确定第四节点特征信息和第四模型参数信息未写入设备内部存储器,从设备外部存储器读取第四节点特征信息和第四模型参数信息。
第五写入子单元,用于将第四节点特征信息和第四模型参数信息,写入设备内部存储器。
第六写入子单元,用于将已写入设备内部存储器的第四节点特征信息和第四模型参数信息,写入存储单元。
根据本公开的实施例,图神经网络模型的训练装置800还包括:第三写入模块。
第三写入模块,用于将更新后节点特征信息和更新后模型参数信息写入设备内部存储器,用于提供新的样本节点特征信息和新的样本模型参数信息。
根据本公开的实施例,第三写入模块包括:第二更新子模块和第九写入子模块。
第二更新子模块,用于响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的第五节点特征信息和第五模型参数信息已写入设备内部存储器,利用更新后节点特征信息和更新后模型参数信息,分别对第五节点特征信息和第五模型参数信息进行更新。
第九写入子模块,用于响应于确定与更新后节点特征信息和更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入设备内部存储器,将更新后节点特征信息和更新后模型参数信息,写入设备内部存储器。
根据本公开的实施例,第三写入模块包括:第十写入子模块。
第十写入子模块,用于响应于确定设备内部存储器的剩余存储空间小于第二预设空间阈值,将已写入设备内部存储器的第六节点特征信息和第六模型参数信息转移写入设备外部存储器,其中,第六节点特征信息包括与第二目标节点相对应的节点特征信息,第三模型参数信息包括与第二目标节点相对应的模型参数信息,第二目标节点包括于最近使用到的批量节点中不包括的节点。
根据本公开的实施例,图形处理器包括与多个设备相对应多个设备图形处理器,设备图形处理器中包括设备存储单元。第六写入子模块包括:分片单元和第五写入单元。
分片单元,用于对全量图结构信息进行分片,得到多个分片子图结构信息。
第五写入单元,用于将多个分片子图结构信息,分别写入与多个设备对应的存储单元。
根据本公开的实施例,第二预设条件包括如下中的至少之一:全量图结构信息对应的节点数目大于第三预设下限值且小于第三预设上限值、全量图结构信息对应的边的数目大于第四预设下限值且小于第四预设上限值,其中,第三预设下限值大于第一预设上限值,第四预设下限值大于第二预设上限值。
根据本公开的实施例,第三预设条件包括如下中的至少之一:全量图图结构信息对应的节点数目大于第五预设下限值、全量图结构信息对应的边的数目大于第六预设下限值,其中,第五预设下限值大于第三预设上限值,第六预设下限值大于第四预设上限值。
图9示意性示出了根据本公开实施例的图神经网络模型的训练装置的框图。
如图9所示,图数据处理方法900包括:第二获取模块910和第二获得模块920。
第二获取模块910,用于获取待处理图数据。
第二获得模块920,用于将待处理图数据输入图神经网络模型,得到输出结果。图神经网络模型是利用根据图神经网络模型的训练装置训练得到的。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序存储于可读存储介质和电子设备其中至少之一上,计算机程序在被处理器执行时实现本公开的图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如图神经网络模型的训练方法和图数据处理方法其中至少一种方法。例如,在一些实施例中,图神经网络模型的训练方法和图数据处理方法其中至少一种方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的图神经网络模型的训练方法和图数据处理方法其中至少一种方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图神经网络模型的训练方法和图数据处理方法其中至少一种方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (22)
1.一种图神经网络模型的训练方法,包括:
从图形处理器的存储单元读取图结构信息;
对所述图结构信息进行图采样,得到样本子图结构信息;
从所述存储单元读取与所述样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;
利用所述图形处理器处理所述样本节点特征信息和所述样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;以及
根据所述更新后节点特征信息和所述更新后模型参数信息,确定经训练的图神经网络模型;
所述方法还包括,在所述对所述图结构信息进行图采样之前:
响应于接收到模型训练请求,获取用于训练所述图神经网络模型的全量图结构信息、与所述全量图结构信息相对应的全量节点特征信息以及全量模型参数信息;以及
根据所述全量图结构信息,将所述全量图结构信息、所述全量节点特征信息和所述全量模型参数信息关联地写入所述存储单元,包括:响应于确定所述全量图结构信息满足第二预设条件,将所述全量图结构信息写入所述存储单元,将所述全量节点特征信息和所述全量模型参数信息,写入外部存储器;以及将已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息,分批次写入所述存储单元;
其中,所述将已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息,分批次写入所述存储单元包括:
在针对所述全量图结构信息进行批量采样得到第一批量子图结构信息的情况下,从已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息中,读取与所述第一批量子图结构信息相对应的第一批量节点特征信息和第一批量模型参数信息,所述全量节点特征信息包括第一节点特征信息,所述全量模型参数信息包括第一模型参数信息;
将所述第一批量节点特征信息和所述第一批量模型参数信息写入内部存储器;
将所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元。
2.根据权利要求1所述的方法,其中,所述根据所述全量图结构信息,将所述全量图结构信息、所述全量节点特征信息和所述全量模型参数信息关联地写入所述存储单元包括:
响应于确定所述全量图结构信息满足第一预设条件,将所述全量图结构信息、所述全量节点特征信息和所述全量模型参数信息,写入所述存储单元,其中,所述第一预设条件包括如下中的至少之一:所述全量图结构信息对应的节点数目大于第一预设下限值且小于第一预设上限值、所述全量图结构信息对应的边的数目大于第二预设下限值且小于第二预设上限值。
3. 根据权利要求1所述的方法,其中,所述将所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元包括:
响应于确定所述第一节点特征信息和所述第一模型参数信息已写入所述内部存储器,从所述内部存储器读取所述第一节点特征信息和所述第一模型参数信息;以及
将所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元。
4.根据权利要求1所述的方法,其中,所述将所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元包括:
响应于确定所述第一节点特征信息和所述第一模型参数信息未写入所述内部存储器,从所述外部存储器读取所述第一节点特征信息和所述第一模型参数信息;
将所述第一节点特征信息和所述第一模型参数信息,写入所述内部存储器;以及
将已写入所述内部存储器的所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元。
5.根据权利要求1-4中任一项所述的方法,还包括:
将所述更新后节点特征信息和所述更新后模型参数信息写入内部存储器,用于提供新的样本节点特征信息和新的样本模型参数信息。
6. 根据权利要求5所述的方法,其中,所述将所述更新后节点特征信息和所述更新后模型参数信息写入内部存储器包括:
响应于确定与所述更新后节点特征信息和所述更新后模型参数信息分别对应的第二节点特征信息和第二模型参数信息已写入所述内部存储器,利用所述更新后节点特征信息和所述更新后模型参数信息,分别对所述第二节点特征信息和所述第二模型参数信息进行更新;以及
响应于确定与所述更新后节点特征信息和所述更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入所述内部存储器,将所述更新后节点特征信息和所述更新后模型参数信息,写入所述内部存储器。
7.根据权利要求5所述的方法,其中,所述将所述更新后节点特征信息和所述更新后模型参数信息写入内部存储器包括:
响应于确定所述内部存储器的剩余存储空间小于第一预设空间阈值,将已写入所述内部存储器的第三节点特征信息和第三模型参数信息转移写入外部存储器,其中,所述第三节点特征信息包括与第一目标节点相对应的节点特征信息,所述第三模型参数信息包括与所述第一目标节点相对应的模型参数信息,所述第一目标节点包括最近使用到的批量节点中不包括的节点。
8.根据权利要求2所述的方法,其中,所述根据所述全量图结构信息,将所述全量图结构信息、所述全量节点特征信息和所述全量模型参数信息关联地写入所述存储单元包括:
响应于确定所述全量图结构信息满足第三预设条件,将所述全量图结构信息写入所述存储单元;
对所述全量节点特征信息和所述全量模型参数信息进行分片,得到多个分片节点特征信息和多个分片模型参数信息;
将所述多个分片节点特征信息和所述多个分片模型参数信息,分别写入多个设备的设备外部存储器,所述图形处理器为与所述多个设备相关的图形处理器;以及
将已写入所述设备外部存储器的所述分片节点特征信息和所述分片模型参数信息,分批次写入所述存储单元。
9.根据权利要求8所述的方法,其中,所述将已写入所述设备外部存储器的所述分片节点特征信息和所述分片模型参数信息,分批次写入所述存储单元包括:
在针对所述全量图结构信息进行批量采样得到第二批量子图结构信息的情况下,从已写入所述设备外部存储器的所述分片节点特征信息和所述分片模型参数信息中,读取与所述第二批量子图结构信息相对应的第二批量节点特征信息和第二批量模型参数信息,所述分片节点特征信息包括第四节点特征信息,所述分片模型参数信息包括第四模型参数信息;
确定与所述第二批量节点特征信息和所述第二批量模型参数信息相对应的存储设备的设备内部存储器;
将所述第二批量节点特征信息和所述第二批量模型参数信息写入所述设备内部存储器;
将所述第四节点特征信息和所述第四模型参数信息,写入所述存储单元。
10. 根据权利要求9所述的方法,其中,所述将所述第四节点特征信息和所述第四模型参数信息,写入所述存储单元包括:
响应于确定所述第四节点特征信息和所述第四模型参数信息已写入所述设备内部存储器,从所述设备内部存储器读取所述第四节点特征信息和所述第四模型参数信息;以及
将所述第四节点特征信息和所述第四模型参数信息,写入所述存储单元。
11.根据权利要求9所述的方法,其中,所述将所述第四节点特征信息和所述第四模型参数信息,写入所述存储单元包括:
响应于确定所述第四节点特征信息和所述第四模型参数信息未写入所述设备内部存储器,从所述设备外部存储器读取所述第四节点特征信息和所述第四模型参数信息;
将所述第四节点特征信息和所述第四模型参数信息,写入所述设备内部存储器;以及
将已写入所述设备内部存储器的所述第四节点特征信息和所述第四模型参数信息,写入所述存储单元。
12.根据权利要求8-11中任一项所述的方法,还包括:
将所述更新后节点特征信息和所述更新后模型参数信息写入设备内部存储器,用于提供新的样本节点特征信息和新的样本模型参数信息。
13. 根据权利要求12所述的方法,其中,所述将所述更新后节点特征信息和所述更新后模型参数信息写入设备内部存储器包括:
响应于确定与所述更新后节点特征信息和所述更新后模型参数信息分别对应的第五节点特征信息和第五模型参数信息已写入所述设备内部存储器,利用所述更新后节点特征信息和所述更新后模型参数信息,分别对所述第五节点特征信息和所述第五模型参数信息进行更新;以及
响应于确定与所述更新后节点特征信息和所述更新后模型参数信息分别对应的节点特征信息和模型参数信息未写入所述设备内部存储器,将所述更新后节点特征信息和所述更新后模型参数信息,写入所述设备内部存储器。
14.根据权利要求12所述的方法,其中,所述将所述更新后节点特征信息和所述更新后模型参数信息写入设备内部存储器包括:
响应于确定所述设备内部存储器的剩余存储空间小于第二预设空间阈值,将已写入所述设备内部存储器的第六节点特征信息和第六模型参数信息转移写入所述设备外部存储器,其中,所述第六节点特征信息包括与第二目标节点相对应的节点特征信息,所述第六模型参数信息包括与所述第二目标节点相对应的模型参数信息,所述第二目标节点包括最近使用到的批量节点中不包括的节点。
15.根据权利要求8所述的方法,其中,所述图形处理器包括与所述多个设备相对应的多个设备图形处理器,所述设备图形处理器中包括设备存储单元;
所述将所述全量图结构信息写入所述存储单元包括:
对所述全量图结构信息进行分片,得到多个分片子图结构信息;以及
将所述多个分片子图结构信息,分别写入与所述多个设备对应的设备存储单元。
16.根据权利要求8所述的方法,其中,所述第二预设条件包括如下中的至少之一:所述全量图结构信息对应的节点数目大于第三预设下限值且小于第三预设上限值、所述全量图结构信息对应的边的数目大于第四预设下限值且小于第四预设上限值,其中,所述第三预设下限值大于第一预设上限值,所述第四预设下限值大于第二预设上限值。
17.根据权利要求16所述的方法,其中,所述第三预设条件包括如下中的至少之一:所述全量图结构信息对应的节点数目大于第五预设下限值、所述全量图结构信息对应的边的数目大于第六预设下限值,其中,所述第五预设下限值大于第三预设上限值,所述第六预设下限值大于第四预设上限值。
18.一种图数据处理方法,包括:
获取待处理图数据;
将待处理图数据输入图神经网络模型,得到输出结果,其中,所述图神经网络模型是根据权利要求1~17中任一项所述的方法训练得到的。
19.一种图神经网络模型的训练装置,包括:
第一读取模块,用于从图形处理器的存储单元读取图结构信息;
采样模块,用于对所述图结构信息进行图采样,得到样本子图结构信息;
第二读取模块,用于从所述存储单元读取与所述样本子图结构信息相对应的样本节点特征信息以及样本模型参数信息;
第一获得模块,用于利用所述图形处理器处理所述样本节点特征信息和所述样本模型参数信息,得到更新后节点特征信息和更新后模型参数信息;以及
确定模块,用于根据所述更新后节点特征信息和所述更新后模型参数信息,确定经训练的图神经网络模型;
所述装置还包括第一获取模块,用于在所述对所述图结构信息进行图采样之前:响应于接收到模型训练请求,获取用于训练所述图神经网络模型的全量图结构信息、与所述全量图结构信息相对应的全量节点特征信息以及全量模型参数信息;以及
第一写入模块,用于根据所述全量图结构信息,将所述全量图结构信息、所述全量节点特征信息和所述全量模型参数信息关联地写入所述存储单元,包括:响应于确定所述全量图结构信息满足第二预设条件,将所述全量图结构信息写入所述存储单元,将所述全量节点特征信息和所述全量模型参数信息,写入外部存储器;以及将已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息,分批次写入所述存储单元;
其中,所述将已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息,分批次写入所述存储单元包括:
在针对所述全量图结构信息进行批量采样得到第一批量子图结构信息的情况下,从已写入所述外部存储器的所述全量节点特征信息和所述全量模型参数信息中,读取与所述第一批量子图结构信息相对应的第一批量节点特征信息和第一批量模型参数信息,所述全量节点特征信息包括第一节点特征信息,所述全量模型参数信息包括第一模型参数信息;
将所述第一批量节点特征信息和所述第一批量模型参数信息写入内部存储器;
将所述第一节点特征信息和所述第一模型参数信息,写入所述存储单元。
20.一种图数据处理装置,包括:
第二获取模块,用于获取待处理图数据;
第二获得模块,用于将待处理图数据输入图神经网络模型,得到输出结果,其中,所述图神经网络模型是根据权利要求19所述的装置训练得到的。
21. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-18中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496871.8A CN115759233B (zh) | 2022-11-24 | 2022-11-24 | 模型的训练方法、图数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496871.8A CN115759233B (zh) | 2022-11-24 | 2022-11-24 | 模型的训练方法、图数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115759233A CN115759233A (zh) | 2023-03-07 |
CN115759233B true CN115759233B (zh) | 2023-10-20 |
Family
ID=85338760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211496871.8A Active CN115759233B (zh) | 2022-11-24 | 2022-11-24 | 模型的训练方法、图数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759233B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139684A (zh) * | 2021-12-02 | 2022-03-04 | 脸萌有限公司 | 图神经网络生成方法、装置、系统、介质以及电子设备 |
CN114897664A (zh) * | 2022-05-19 | 2022-08-12 | 北京百度网讯科技有限公司 | 图模型部署方法及装置、gpu和存储介质 |
CN115345285A (zh) * | 2022-10-18 | 2022-11-15 | 北京白海科技有限公司 | 基于gpu的时序图神经网络训练方法、系统及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151446B2 (en) * | 2015-10-28 | 2021-10-19 | Google Llc | Stream-based accelerator processing of computational graphs |
-
2022
- 2022-11-24 CN CN202211496871.8A patent/CN115759233B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139684A (zh) * | 2021-12-02 | 2022-03-04 | 脸萌有限公司 | 图神经网络生成方法、装置、系统、介质以及电子设备 |
CN114897664A (zh) * | 2022-05-19 | 2022-08-12 | 北京百度网讯科技有限公司 | 图模型部署方法及装置、gpu和存储介质 |
CN115345285A (zh) * | 2022-10-18 | 2022-11-15 | 北京白海科技有限公司 | 基于gpu的时序图神经网络训练方法、系统及电子设备 |
Non-Patent Citations (2)
Title |
---|
GNNLab: A Factored System for Sample-based GNN Training over GPUs;Jianbang Yang et al.;EuroSys:proceedings of the seventeenth european conference on computer systems;第417-434页 * |
Jianbang Yang et al..GNNLab: A Factored System for Sample-based GNN Training over GPUs.EuroSys:proceedings of the seventeenth european conference on computer systems.2022,第417-434页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115759233A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113010896B (zh) | 确定异常对象的方法、装置、设备、介质和程序产品 | |
CN114444619B (zh) | 样本生成方法、训练方法、数据处理方法以及电子设备 | |
CN114357105A (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
CN113887615A (zh) | 图像处理方法、装置、设备和介质 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
CN113240177B (zh) | 训练预测模型的方法、预测方法、装置、电子设备及介质 | |
CN113868434A (zh) | 图数据库的数据处理方法、设备和存储介质 | |
CN113904943A (zh) | 账号检测方法、装置、电子设备和存储介质 | |
CN114897666B (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN115759233B (zh) | 模型的训练方法、图数据处理方法、装置及电子设备 | |
CN115082598B (zh) | 文本图像生成、训练、文本图像处理方法以及电子设备 | |
CN113239054B (zh) | 信息生成方法及相关装置 | |
CN112887426B (zh) | 信息流的推送方法、装置、电子设备以及存储介质 | |
CN110555158A (zh) | 互斥数据处理方法及系统、计算机可读存储介质 | |
CN113961720A (zh) | 预测实体关系的方法和关系预测模型的训练方法、装置 | |
CN111639099A (zh) | 全文索引方法及系统 | |
CN111127230A (zh) | 动态社交圈确定方法、装置、设备及存储介质 | |
CN117131197B (zh) | 一种招标书的需求类别处理方法、装置、设备及存储介质 | |
Beddar-Wiesing | Student Research Abstract: Using Local Activity Encoding for Dynamic Graph Pooling in Stuctural-Dynamic Graphs | |
CN112783507B (zh) | 数据引流回放方法、装置、电子设备及可读存储介质 | |
CN115794984B (zh) | 数据存储方法、数据检索方法、装置、设备以及介质 | |
US20230153250A1 (en) | Access friendly memory architecture of graph neural network sampling | |
CN115935027A (zh) | 目标对象拓扑图的数据处理方法及图分类模型的训练方法 | |
CN116777660A (zh) | 一种用户映射方法、装置、电子设备及存储介质 | |
CN116932935A (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 |