CN116841762A - 一种图神经网络训练中的定长式边点结合采样机制 - Google Patents

一种图神经网络训练中的定长式边点结合采样机制 Download PDF

Info

Publication number
CN116841762A
CN116841762A CN202310395448.7A CN202310395448A CN116841762A CN 116841762 A CN116841762 A CN 116841762A CN 202310395448 A CN202310395448 A CN 202310395448A CN 116841762 A CN116841762 A CN 116841762A
Authority
CN
China
Prior art keywords
graph
sampling
neural network
shared memory
network training
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
Application number
CN202310395448.7A
Other languages
English (en)
Inventor
王耀彬
张梦洋
唐苹苹
郭明峰
胡丽莎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest University of Science and Technology
Original Assignee
Southwest University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest University of Science and Technology filed Critical Southwest University of Science and Technology
Priority to CN202310395448.7A priority Critical patent/CN116841762A/zh
Publication of CN116841762A publication Critical patent/CN116841762A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种图神经网络训练中的定长式边点结合采样机制,该采样机制包括如下步骤:对图进行节点采样,得到子图;对子图进行边采样,得到新的子图;将得到的子图数据转化为CSR格式;根据GPU共享内存大小,设置所需的共享内存宽度S;将子图数据存入到GPU共享内存之中;进行后续的GNN计算操作。本发明针对目前图神经网络训练中采集机制均无法达到快速并且准确的图特征采集的现状,提出一种图神经网络训练中的定长式边点结合采样机制,通过在节点采样时保留具有连续内存位置的邻居节点避免不规则的内存访问,结合边采样消除冗余的边,以便完成快速并且准确的图特征采集。

Description

一种图神经网络训练中的定长式边点结合采样机制
技术领域
本发明属于机器学习中神经网络算法应用领域,尤其涉及一种图神经网络训练中的定长式边点结合采样机制。
背景技术
图神经网络(Graph Neural Networks,GNN) 通过将深度学习算法和图计算算法相融合,凭借其对图形结构数据进行学习和建模的能力,已开始广泛应用于诸多领域,被认为是推动人工智能领域迈入“认知智能”阶段的核心力量。图神经网络计算框架将成为未来深度学习计算框架的新主流。GNN的核心思想是学习一种映射,将图结构中的节点及其邻居节点的特征映射为该节点的低维隐特征表示。
采样机制是指通过部分增量更新(mini-batch)策略并有条件地选择部分邻居,优化常规训练方案,从而降低内存和计算开销。图神经网络训练中所选用的采样机制是图神经网络训练效率的关键影响因素之一。
目前在学术界对于现有的图神经网络系统采用的采样机制主要有节点采样(node-wise sampling),逐层采样(layer-wise sampling)和子图采样(subgraph-basedsampling)。节点采样的最主要代表有麦吉尔大学William L Hamilton等人提出的GraphSAGE和清华大学Jianfei Chen等人提出的VR-GCN。与节点采样所对应的边采样的主要代表有腾讯人工智能实验室Yu Rong等人提出的Dropedge和美国加利福尼亚州洛杉矶加利福尼亚大学C.Zheng等人提出的NeuralSparse。边采样已被用于缓解GNN的过拟合(over-fitting)和过平滑(over-smoothing)训练问题。例如,DropEdge在每次训练时会随机删除掉原始图中固定比例的边,采样出不同的子集。DropEdge的结果表明,这种动态随机边采样提升了多个浅层和深层GCN模型的性能,然而现在却很少有通过边采样加速GNN训练的方案。作为训练中的一个关键过程,采样算法通过有条件地选择部分节点作为训练模型,可以有效降低内存和计算方面的开销。
在采样的过程中,当前这些方案基本采用了节点采样或边采样其中的一种。所述的节点采样是指按照某一种规则采样节点以及他的邻居节点,如果采样的邻居节点的特征数据很分散,那么会导致GPU的查找速度过慢。而所述的边采样是指按照某一种规则舍弃图中的某些边,也就是通过舍弃边达到提升SpMM内核计算速率,从而加速图神经网络的训练过程。但是如果舍弃掉图中重要的边,会导致丢失图的重要特征,图神经网络训练的准确度会受到很大的影响。
他们的共同特点都是在图神经网络的模型计算之前根据不同的采样机制得到具有该图重要特征的子图,利用子图进行图神经网络的模型计算。
但是当前的图神经网络中的采样机制均无法带来快速并且准确的图特征采集,从而导致图神经网络训练的速度和准确度较低。其原因在于使用节点采样和边采样时,不同的采样规则会导致图的重要节点和边的特征丢失,进而导致图神经网络训练的准确度不高。使用节点采样时,如果采样的邻居节点比较分散,那么用于图神经网络训练的节点特征收集速率也会受到很大的影响。
发明内容
本发明的目的在于提供一种图神经网络训练中的定长式边点结合采样机制,旨在解决目前图神经网络中的特征采集机制在使用不同采样方法时,采样得到的特征子图不够精确,采样过程不够迅速。
本发明是这样实现的,一种图神经网络训练中的定长式边点结合采样机制包括如下步骤:
步骤一、对图进行节点采样,得到子图;
步骤二、对子图进行边采样,得到新的子图;
步骤三、将得到的子图数据转化为CSR格式;
步骤四、根据GPU共享内存大小,设置所需的共享内存宽度S;
步骤五、将子图数据存入到GPU共享内存之中;
步骤六、进行后续的GNN计算操作。
进一步,步骤一所述的对图进行节点采样,得到子图:
步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;
步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。
进一步,所述的步骤二通过边采样步骤1得到的子图,消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率。
进一步,所述的步骤三将步骤2中得到的子图数据转化为标准的CSR格式。
进一步,所述的步骤四分析GPU共享内存的大小,确定需要的共享内存宽度S。
进一步,所述的步骤五将步骤三得到的子图数据存储到GPU的共享内存之中。
进一步,所述的步骤六利用GPU共享内存中存储的子图数据进行后续的GNN计算操作。
本发明的有益效果如下:
(1)本发明从采样机制的源头上避免了训练图中不重要的节点,减少对GPU内存的不规则访问,进而降低了GNN训练过程中的访问和计算开销,提高了GNN训练的速率。(2)本发明结合边采样消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率,在保证样本正确性的情况下提升硬件效能,进而对GNN框架的性能带来整体性提升。(3)本发明可以面向不同的图进行定长式边点结合采样,并且以CSR格式对图数据进行存储,适用于多种目标平台,具有通用性。
附图说明
图1是本发明实施例提供的定长式边点结合采样机制的流程图。
图2是本发明实施例提供的使用节点采样选取邻居分布邻近的节点子图的过程。
图3是本发明实施例提供的使用边采样消除较远的邻居节点和冗余边过程。
图4是本发明实施例提供的定长式边点结合采样机制的GNN训练流程。
实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明的定长式边点结合采样机制的流程,如图所示,本发明是这样实现的,一种图神经网络训练中的定长式边点结合采样机制包括如下步骤:
S101:对图进行节点采样,得到子图;
S102:对子图进行边采样,得到新的子图;
S103:将得到的子图数据转化为CSR格式;
S104:根据GPU共享内存大小,设置所需的共享内存宽度S;
S105:将子图数据存入到GPU共享内存之中;
S106:进行后续的GNN计算操作。
进一步,步骤S101所述的对图进行节点采样,得到子图:
步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;
步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。
进一步,所述的步骤S102通过边采样步骤1得到的子图,消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率。
进一步,所述的步骤S103将步骤S102中得到的子图数据转化为标准的CSR格式。
进一步,步骤S104分析GPU共享内存的大小,确定需要的共享内存宽度S。
进一步,所述的步骤S105将步骤S103得到的子图数据存储到GPU的共享内存之中。
进一步,所述的步骤S106利用GPU共享内存中存储的子图数据进行后续的GNN计算操作。
实施例:Reddit数据集包含232965个帖子,平均度为492。使用现成的300维GloVeCommon Crawl单词向量,对于每个帖子,使用特征包含:(1)帖子标题的平均嵌入 ;(2)帖子所有评论的平均嵌入;(3)帖子的分数;(4)帖子的评论数量。从而导致了巨大的计算和存储复杂性。因此,在时间和资源的限制下,完全批量地制作一个完整的巨型图序列将不再有效,甚至不可行。此时一种典型的做法就是采样,它重复地从原始图形中采样子图作为小批量的输入,减少了单个小批量计算,同时仍然收敛到预期的精度。Reddit社交网络数据集上实现的定长式边点结合采样机制步骤如下。
步骤一、对图进行节点采样,得到子图:
因为Reddit数据集过大,在时间和资源的限制下,完全批量地对该数据集进行训练是不大可行的,因此我们采用了节点采用的方法,得到了多个子图,其中包含顶点和其对应的邻居节点,如图2所示。为了从采样机制的源头上避免了训练图中不重要的节点,减少对GPU内存的不规则访问,进而降低了GNN训练过程中的访问和计算开销,提高了GNN训练的速率,我们从得到的多个子图中选取邻居节点分布邻近的子图。
步骤二、对子图进行边采样,得到新的子图。由步骤一我们已经得到了具有图重要特征的子图,但是为了充分利用GPU的共享内存和进一步的加速GPU上GNN的模型计算,我们继续对子图进行边采样。我们利用了这样一个事实,即GNN模型可以容忍边缘的丢失,并丢弃冗余边缘以获得更好的缓存局部性和更快的运行时间。如图3所示,结合边采样消除较远的邻居节点和冗余的边,在保证样本正确性的同时提升硬件效能,进而对GNN框架的性能带来整体性提升。
步骤三、将得到的子图数据转化为CSR格式。由于CSR格式的高效性和简单性,CSR格式已经被几乎所有支持稀疏操作的平台所采用。所以将数据转化为CSR格式可以有利于现有的支持现有的稀疏系统使用,而无需转换格式导致产生巨大的开销。
步骤四、根据GPU共享内存大小,设置所需的共享内存宽度S。为了充分的利用GPU的共享内存,我们将子图数据存储到GPU共享内存中,以便之后操作调用。我们需要根据不同GPU的共享内存大小,设置所需的共享内存宽度S。同时,我们设置的共享宽度S也有利于减少多线程之间的资源占用,从而提升SpMM的计算速度。
步骤五、将子图数据存入到GPU共享内存之中。根据在步骤四中我们已经设置好的所需共享内存宽度S,将子图数据存入到GPU共享内存中,提高了GPU共享内存的使用效率。
步骤六、进行后续的GNN计算操作。
通过上述步骤,我们已经完成了定长式边点结合采样,高效并且准确的得到了具有图数据集重要特征的子图数据。利用GPU共享内存中存储的子图数据进行后续的GNN计算操作。
以上所提出的定长式边点结合采样机制的GNN训练流程如图4所示。由于节点采样的采样规则不同,如果采样的邻居节点的特征数据很分散,那么会导致GPU的查找速度过慢。边采样过程中如果舍弃掉图中重要的边,会导致丢失图的重要特征,图神经网络训练的准确度会受到很大的影响。因此,提出使用定长式边点结合采样机制,通过节点采样和边采样的有机结合,达到快速并且准确的图特征采集。避免以上两种采样方式所带来的瓶颈问题。从而达到更加符合GNN训练过程中快速采集特征数据的体系结构特征,不仅能够有效地加速特征采集的执行过程,更能提高系统的整体运行效能。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性的劳动即可做出的各种修改或变形仍在本发明的保护范围之内。

Claims (7)

1.一种图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的图神经网络训练中的定长式边点结合采样机制包括如下步骤:
步骤一、对图进行节点采样,得到子图;
步骤二、对子图进行边采样,得到新的子图;
步骤三、将得到的子图数据转化为CSR格式;
步骤四、根据GPU共享内存大小,设置所需的共享内存宽度S;
步骤五、将子图数据存入到GPU共享内存之中;
步骤六、进行后续的GNN计算操作。
2.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的对图进行节点采样,得到子图:
步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;
步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。
3.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的步骤二通过边采样步骤一得到的子图,消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率。
4.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的步骤三将步骤二中得到的子图数据转化为标准的CSR格式。
5.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的步骤四分析GPU共享内存的大小,确定需要的共享内存宽度S。
6.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的步骤五将步骤三得到的子图数据存储到GPU的共享内存之中。
7.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的步骤六利用GPU共享内存中存储的子图数据进行后续的GNN计算操作。
CN202310395448.7A 2023-04-14 2023-04-14 一种图神经网络训练中的定长式边点结合采样机制 Pending CN116841762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310395448.7A CN116841762A (zh) 2023-04-14 2023-04-14 一种图神经网络训练中的定长式边点结合采样机制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310395448.7A CN116841762A (zh) 2023-04-14 2023-04-14 一种图神经网络训练中的定长式边点结合采样机制

Publications (1)

Publication Number Publication Date
CN116841762A true CN116841762A (zh) 2023-10-03

Family

ID=88165933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310395448.7A Pending CN116841762A (zh) 2023-04-14 2023-04-14 一种图神经网络训练中的定长式边点结合采样机制

Country Status (1)

Country Link
CN (1) CN116841762A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370619A (zh) * 2023-12-04 2024-01-09 支付宝(杭州)信息技术有限公司 图的分片存储和子图采样方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370619A (zh) * 2023-12-04 2024-01-09 支付宝(杭州)信息技术有限公司 图的分片存储和子图采样方法及装置
CN117370619B (zh) * 2023-12-04 2024-02-23 支付宝(杭州)信息技术有限公司 图的分片存储和子图采样方法及装置

Similar Documents

Publication Publication Date Title
CN109983481B (zh) 用于从采样服务器中采样的系统、方法和装置
Deng et al. An efficient online direction-preserving compression approach for trajectory streaming data
CN116841762A (zh) 一种图神经网络训练中的定长式边点结合采样机制
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
WO2023071592A1 (zh) 面向超大搜索空间的网络结构搜索方法、系统及介质
CN116089883B (zh) 用于提高已有类别增量学习新旧类别区分度的训练方法
CN110119408A (zh) 地理空间实时流数据下移动对象连续查询方法
CN110264392B (zh) 一种基于多gpu的强连通图检测方法
CN116112563A (zh) 一种基于流行度预测的双策略自适应缓存替换方法
CN109636709B (zh) 一种适用于异构平台的图计算方法
Amarasiri et al. HDGSOM: a modified growing self-organizing map for high dimensional data clustering
CN116938323B (zh) 一种基于强化学习的卫星转发器资源分配方法
CN109741421B (zh) 一种基于gpu的动态图着色方法
CN107908696A (zh) 一种并行高效的基于网格与密度的多维空间数据聚类算法griden
CN117272195A (zh) 基于图卷积注意力网络的区块链异常节点检测方法及系统
Kharinov et al. Object detection in color image
He et al. A fast simulated annealing strategy for community detection in complex networks
CN114118443A (zh) 基于Optane DIMM的大规模图嵌入训练方法及系统
CN106970840A (zh) 一种结合任务调度的软硬件划分方法
CN112950451A (zh) 一种基于GPU的极大k-truss发现算法
CN110059378B (zh) 一种基于GPU并行计算的自动制造系统Petri网状态生成方法
CN110188098B (zh) 一种基于双层锚点图投影优化的高维向量数据可视化方法及系统
CN115829047A (zh) 量子程序最终映射的确定方法、装置及量子计算机
CN112817982A (zh) 一种基于lsm树的动态幂律图存储方法
CN110188219A (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