一种基于分层优化范式的大规模图深度学习计算框架制造技术

技术编号:25600565 阅读:49 留言:0更新日期:2020-09-11 23:57
本发明专利技术提供了一种基于分层优化范式的大规模图深度学习计算框架,涉及深度学习技术领域。包括基于块的数据流转换,用于将图形的顶点和边数据分割成小块;数据流图的优化,用于生成一个调度策略;GPU上内核的传播,用于高效的内核传播操作;多GPU的并行处理,用于一个服务器中多个GPU的并行计算。本发明专利技术支持大规模的图神经网络(GNNs),不仅可以简单表达模型,而且支持可伸缩和高效的GPUs并行处理引擎。为了表示包含图传播和深度神经网络(DNN)计算的GNN各层递归计算,本发明专利技术采用了一种具有分散‑边应用‑聚合‑顶点应用的神经网络(Separation‑UDF_Edge‑Aggregation‑UDF_Vertex with Neural Networks,SUAU‑NN)顶点程序抽象。

【技术实现步骤摘要】
一种基于分层优化范式的大规模图深度学习计算框架
本专利技术属于深度学习
,具体涉及一种基于分层优化范式的大规模图深度学习计算框架。
技术介绍
深度学习以深度神经网络的形式被成功地运用到了许多领域,如语音、视觉、自然语言处理等。在这些领域中,底层数据的表示通常采用规则的网格结构,这种结构在大量的数据并行时有利于硬件加速(如GPU)。受社交网络、知识图谱、生物信息学和神经科学中图形数据重要性的驱动,将深度学习模型应用在不规则图形结构的数据上是一个新兴的趋势。将先进的预测结果用到目标应用中,如分类、嵌入、问答系统。这些基于图的神经网络通常将神经网络模型应用于图中与顶点和边相关的特征,并传播和聚合结果以生成下一级特征。但是,现有的解决方案都不能很好地支持GNNs,现有的图形处理引擎,通常提供一个聚合+应用+分散式(Gather-Apply-Scatter,GAS)的顶点程序模型,其是无法表达和支持图结构的神经网络框架。深度学习框架被设计为数据流图去表达神经网络,如TensorFlow、PyTorch、MxNet、CNTK等,但是并不能直接支持图传播模型。此外,它们都没有提供处理大规模图所需的可伸缩性,也不支持基于GPU的图传播操作符的有效实现。当前缺乏对这些需求的支持严重限制了充分挖掘大规模GNN潜力的能力,同时在系统层面上也为DNN与大型图结构的结合提出了巨大的挑战。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供了一种基于分层优化范式的大规模图深度学习计算框架,其支持大规模的GNNs,不仅可以简单表达模型,而且支持可伸缩和高效的GPUs并行处理引擎。本专利技术是将数据流与顶点程序模型抽象相结合成新的模型,允许在顶点或边数据(以张量形式被处理)中通过使用数据流抽象表达神经网络计算,而不是那些为传统图形处理而设计的抽象(如PageRank、连通组件、最短路径等算法)。为了表示包含图传播和DNN计算的GNN各层递归计算,本专利技术采用了一种具有SUAU-NN顶点程序抽象。本专利技术将图形传播引擎支持的特殊操作符引入到数据流图中,并优化其在GPU上的执行。因此,本专利技术的方案更倾向于利用每个顶点数据访问中的并行性来更好地提升内存访问效率。本专利技术所采用的技术方案是:一种基于分层优化范式的大规模图深度学习计算框架,是使用顶点程序抽象和图形传播过程的自定义操作符扩展TensorFlow实现的。与小图上GPU支持的TensorFlow相比,本专利技术的速度提高了4倍左右。其包括:基于块的数据流转换、数据流图的优化、GPU上内核的传播、多GPU的并行处理,其中:所述基于块的数据流转换用于将图形的顶点和边数据分割成小块,这些小块将装入GPU设备内存中,并与处理块粒度计算的操作符一起构造一个数据流图;所述数据流图的优化用于生成一个调度策略;所述GPU上内核的传播用于高效的内核传播操作;所述多GPU的并行处理用于一个服务器中多个GPU的并行计算。优选地,所述基于块的数据流转换还包括将SUAU-NN模型中实现的算法转换为块粒度数据流图的前端,使GPU中的大型图上的GNN计算成为可能。SUAU-NN在GNN的每一层定义的四个前馈计算阶段:Separation,UDF_Edge,Aggregation和UDF_Vertex。SUAU-NN分别为UDF_Edge和UDF_Vertex提供了两个用户定义函数(UDFs),用于声明神经网络对边和顶点的计算。UDF_Edge函数定义了每条边上的计算,以边和p为输入,其中边是边数据的抽象,p包含了GNN模型的可学习参数。每条边都是张量的元组[src,dest,data],其表示由边连接的源顶点和目标顶点的数据,以及与边相关的数据(如:边权重)。该函数可对边和p应用神经网络模型,并输出与边相关的中间张量值。UDF_Vertex函数定义了一个顶点上的计算,它以一个张量数据顶点、顶点聚合累加器(accum)和可学习参数p为输入,通过应用神经网络模型返回新的顶点数据。SUAU-NN抽象建立在数据流框架之上,因此用户可以通过连接底层框架提供的数学操作(如:add,tanh,softmax,matmul),象征性地定义UDFs中的数据流图。另外两个阶段是Separation和Aggregation,其执行数据传播并为UDF_Edge和UDF_Vertex的输入准备数据收集。它们由系统隐式地触发和执行,不需要用户提供显式的UDFs;优选地,所述数据流图的优化还包括最小化主机和GPU设备内存之间的数据交换,以及最大限度地重用GPU内存中的数据块,同时以流方式重叠数据移动和计算,并识别融合操作和删除冗余计算的因子;优选地,所述GPU上内核的传播还包括支持基于流的处理,在GPU中重叠数据移动和计算。其还包括散点内核(SeparationKernel)和聚集内核(AggregationKernel)。Separation操作符将顶点特征数据从源和目标传递到边。Aggregation操作符通过用户提供的累加函数收集目标顶点的边特征向量,并将其缩减为每个目标顶点的单个向量;优选地,所述多GPU的并行处理还包括通过多级PCI-Express(PCIe)接口层次结构连接到CPU/DRAM(主机内存),实现多GPU互连,以及使用一种基于环的流机制,通过在GPU之间直接交换数据块来避免从主机内存中移动冗余数据;采用上述技术方案后,本专利技术与
技术介绍
相比,具有如下优点:第一,支持大规模基于图的神经网络模型计算;第二,支持许多不同类型的基于图的神经网络;第三,提供了一个新的程序抽象,将其映射并优化为数据流,可以在GPU上高效执行;第四,支持高效、可伸缩的图神经网络并行训练。附图说明图1(a)为SUAU-NN模型前馈计算的四阶段执行流程;图1(b)为基于G-GCN分层优化的数据流图;图2为多GPU架构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例参考图1和图2,本专利技术公开了一种基于分层优化范式的大规模图深度学习计算框架,包括:基于块的数据流转换、数据流图的优化、GPU上内核的传播、多GPU的并行处理。大规模图深度学习实施方式如下所示:1)基于块的数据流转换:为了实现超越GPU物理限制的可伸缩性,其将附有顶点和边的图数据划分为块,将模型中表示的GNN算法转化为具有块粒度操作符的数据流图,这使得可以在单个或多个GPU上实现基于块的并行流处理。首先从Separation阶段开始,每个顶点的张量数据顶点被传递到相邻的边上,构成边数据,包含源和目标顶点数据。随后的UDF_Edge阶段调用UDF_Edge在边数据上定义的并行计算函数,为每条边生成一个中间张量值作为输出。然后,Aggregation阶段沿着边传播这些输出,并通过交换和关联累加操作将它们聚合本文档来自技高网
...

【技术保护点】
1.一种基于分层优化范式的大规模图深度学习计算框架,其特征在于,包括:基于块的数据流转换、数据流图的优化、GPU上内核的传播、多GPU的并行处理,其中:/n所述基于块的数据流转换用于将图形的顶点和边数据分割成小块,这些小块将被装入GPU设备内存中,并与处理块粒度计算的操作符一起构造一个数据流图;/n所述数据流图的优化用于生成一个调度策略;/n所述GPU上内核的传播用于高效的内核传播操作;/n所述多GPU的并行处理用于一个服务器中多个GPU的并行计算。/n

【技术特征摘要】
1.一种基于分层优化范式的大规模图深度学习计算框架,其特征在于,包括:基于块的数据流转换、数据流图的优化、GPU上内核的传播、多GPU的并行处理,其中:
所述基于块的数据流转换用于将图形的顶点和边数据分割成小块,这些小块将被装入GPU设备内存中,并与处理块粒度计算的操作符一起构造一个数据流图;
所述数据流图的优化用于生成一个调度策略;
所述GPU上内核的传播用于高效的内核传播操作;
所述多GPU的并行处理用于一个服务器中多个GPU的并行计算。


2.一种基于分层优化范式的大规模图深度学习计算框架,其特征在于:所述基于块的数据流转换还包括将SUAU-NN模型中实现的算法转换为块粒度数据流图的前端,使GPU中的大型图上的GNN计算成为可能;SUAU-NN在GNN的每一层定义的四个前馈计算阶段:Separation,UDF_Edge,Aggregation和UDF_Vertex;SUAU-NN分别为UDF_Edge和UDF_Vertex提供了两个用户定义函数(UDFs),用于声明神经网络对边和顶点的计算。


3.一种基于...

【专利技术属性】
技术研发人员:王彬洪万福钱智毅
申请(专利权)人:厦门渊亭信息科技有限公司
类型:发明
国别省市:福建;35

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

1