当前位置: 中文主页 > 成果介绍

张岩峰

Personal profile

个人简介

研究组主页:https://idc-neu.github.io/  个人主页:https://neuzhangyf.github.io/ 张岩峰,东北大学教授,博士生导师,东北大学与美国麻省州立大学联合培养博士,入选国家级高层次青年人才计划,辽宁省杰青,沈阳市科技优才领军人才,“兴沈英才计划”中青年科技创新人才,CCF数据库专委会、分布式计算与系统专委会、...

more+

成果介绍

NeutronStar:一种基于混合依赖管理的分布式图神经网络训练系统 [SIGMOD 2022]

发布时间:2022-11-19  点击次数:

本文介绍一种可以高效地处理大规模图神经网络分布式训练框架该论文成果论文 NeutronStar: Distributed GNN Training with Hybrid Dependency Management已经被SIGMOD2022接受为 Data Management Track


背景

图神经网络算法结合了深度神经网络技术与图广播操作,因其强大的表达能力而广泛应用于自然语言处理,知识图谱,和生物信息学等领域。考虑到真实世界图数据的大规模,我们需要构建基于大规模并行分布式系统来处理GNN计算

 


图片


DNN训练中输入的训练数据之间没有依赖关系图片分类任务中, 输入图片数据集可以被均匀地划分到不同的子集中做并行训练不同训练子集之间不需要交换信息(数据并行策略)与之相对应,图神经网络计算需要处理复杂的顶点依赖关系(即一个顶点和其所有直接入邻居之间的依赖关系),由于神经网络往往由多个图广播和NN计算层串联因此图神经网络系统需要在训练过程中处理复杂的多层依赖关系


图片  


目前涌现出许多分布式图神经网络系统,如AliGraphDistDGLROCDistGNN等等这些系统根据其依赖管理方式可以分成两类基于依赖缓存的系统 AliGraphDistDGL等等。和基于依赖通信的系统如DistGNNROC等等基于依赖缓存的方法将训练点均匀划分到集群中,然后在将顶点所依赖的训练子图和顶点标签存储到本地。在训练过程中,顶点不在需要动态地从其他机器获取到所依赖的顶点属性和顶点表示。基于依赖通信的方法将训练顶点和其直接依赖均匀地划分。在训练过程中,不同子图通过通信动态地获取顶点依赖featurerepresentation现有系统有效地支持了大规模图神经网络的分布式训练然而这两种方法在性能和实用性方面仍然受到诸多问题

 

 基于依赖缓存的系统,前向计算与反向计算都可以在单个机器内执行,因此可以较好地匹配基于数据并行的深度学习系统。然而,由于不同顶点可以存在相同的数据依赖,不同机器上的训练子图可能存在重叠,因此造成冗余计算问题。

 基于依赖通信的系统通过通信处理机器之间的依赖关系这样一来,冗余计算问题被去除,然而其通信代价高昂,且由于计算图被切断,我们无法直接使用现有自动梯度计算库实现自动梯度反向传播操作

混合依赖图处理策略


图片


一系列实验之后我们发现这两种方法在性能上各有优劣其性能受数据集模型设置和环境配置多方面影响

 


图片



因此我们提出一种混合依赖管理策略Hybrid与传统使用单一策略的方法不同Hybrid合并了基于依赖缓存和基于依赖通信的策略来最大化性能。我们的方法的关键在于基于给定输入图,执行环境和模型设置,我们评估每一个依赖点在基于依赖缓存和基于依赖通信策略下的开销然后选择最合适的处理策略

 

NeutronStar


图片


基于此,我们提出NeuTronStar,一个基于GPU加速的分布式图神经网络系统混合依赖处理策略基础之上NeutronStar解耦NN计算与依赖处理操作并提出一种灵活的自动微分框架。这样一来NeutronStar可以使用现有GPU-优化的自动微分库来实现NN计算此外,NeutronStar还实现了一系列优化来高效地管理依赖并调度计算任务。chunk-based图划分,环形任务调度,无锁的并行消息队列通信计算重叠等等。 此外NeutronStar还提供pythonAPI以提供较好的易用性

 

实验评估

我们在一个16节点的阿里云GPU集群上评估了NeutronStar的性能。实验系统包括DistDGLROC和基于NeutronStar代码库实现的基于依赖缓存DepCache的和基于依赖通信(DepComm)的分布式训练系统


 


图片



上图显示了Google,Pokec, liveJournal, reddit, Orkut, Wiki, Twitter 数据集上执行GCNGINGAT算法的性能实验结果表明,与其他系统和策略相比NeutronStar展示出了非常优异的性能具体地,是DistDGL1.8314.25ROC1.815.29DepCache2.0315.02DepComm1.512.21

 

总结

我们设计并实现了NeutronStar一个支持依赖缓存/依赖通信混合依赖管理,灵活自动微分框架,丰富GPU-CPU异构优化和通信优化的分布式图神经网络训练系统与现有工作相比,NeutronStar具有较高的性能较好的可扩展性和较为均衡的通信计算资源利用


扫描查看移动版

访问量:     最后更新时间:--