关于框架学习:PGLBox-超大规模-GPU-端对端图学习训练框架正式发布
作者 | PGLBox项目组 导读 PGLBox是百度研发的基于GPU的大规模图模型训练框架,反对数百亿节点和边的图模型全GPU训练,已在百度宽泛部署。相比业界支流的分布式 CPU 解决方案,PGLBox 具备超高性能、超大规模、算法丰盛、灵便易用、落地宽泛等劣势。与传统的基于GPU的分布式解决方案相比,PGLBox能够在雷同的老本下晋升27倍的训练速度。 全文2232字,预计浏览工夫6分钟。 图神经网络(Graph Neural Network,GNN)是近年来呈现的一种利用深度学习间接对图构造数据进行学习的办法。通过在图的节点和边上制订聚合的策略,GNN 可能学习到图构造数据中节点以及边外在法则和更加深层次的语义特色。图神经网络不仅成为学术界钻研热点,而且曾经在工业界广泛应用落地。特地在搜寻、举荐、地图等畛域,采纳大规模分布式图引擎对异构图构造进行建模,这曾经成为技术倒退的新趋势。目前,分布式图学习框架通常在 CPU 集群上部署分布式图服务以及参数服务器,来反对大规模图构造的存储以及特色的更新。然而,基于 CPU 算力的图学习框架在建设老本、训练速度、稳定性以及简单算法反对等方面都存在有余。 因而,百度飞桨推出了可能同时反对简单图学习算法+超大图+超大离散模型的 GPU 大规模图学习训练框架 PGLBox。该框架联合了百度挪动生态模型团队在大规模业务技术的深耕,凝聚飞桨图学习 PGL 丰盛的算法能力与利用教训,并依靠飞桨深度学习平台通用的训练框架能力与灵便组网能力。不仅继承了飞桨后期开源的 Graph4Rec[1]的超大规模、灵便易用和适用性广的长处[2],而且训练性能取得了显著晋升,图算法能力反对更宽泛。 01 超高性能 GPU 分布式图学习训练框架随着图数据规模的一直增大,基于 CPU 分布式的解决方案须要大量的跨机器通信,导致训练速度慢且稳定性差。为了解决这个问题,PGLBox 将图存储、游走、采样、训练全流程 GPU 化,并实现流水线架构,极致晋升异构硬件效率,大幅晋升了图学习算法的训练速度。同时,针对 NVLink 拓扑、网卡拓扑非全互联问题,实现智能化直达通信,进一步晋升训练能力。相比基于 MPI CPU 分布式的传统计划,训练速度晋升 27 倍。PGLBox 实现了多级存储体系,对图、节点属性和图模型进行差异化存储,即图构造全显存、节点属性二级存储和图模型三级存储,将图规模晋升了一个数量级。为了均衡磁盘、内存、显存之间的占用,PGLBox 实现了平衡训练,对 Pass 大小平滑解决,削峰填谷,升高峰值显存,使得在单机状况下,可反对的图规模失去大幅晋升。 02 全面降级预置的图示意学习算法 图节点的属性是多种多样的,能够是文本、图像,也能够是用户画像、地理位置等,如何更好地建模节点特色是图示意学习的一个重要挑战。随着预训练模型席卷 NLP、CV等畛域,预训练 Transformer 是节点属性建模不可或缺的一部分。而简单构造的 Transformer 等预训练模型的引入所减少的大量计算量,是以往 CPU 分布式图示意学习框架不可承受的。得益于 PGLBox 同时兼备 GPU 的运算能力和大规模图的反对,让咱们可能同时实现大规模预训练模型 + 大规模图构造信息 + 大规模离散特色的端对端对立建模。在大规模图数据,通过三级存储加载之后,咱们能够通过加载不同的大规模预训练模型(例如 ERNIE 语言大模型、ERNIE-ViL 跨模态大模型等)来建模更丰盛的节点信息。对于大规模离散特色如用户ID、商品ID等,咱们能够同时利用到 PGLBox 提供的 GPU 参数服务器能力来建模。最初通过图信息汇聚的 Graph Transformer 图神经网络模块实现信息聚合,失去图的最终示意,并配合上游工作实现跨模态异构图端对端优化。 ...