Staleness-Aware Communication-Avoiding Full-Graph Decentralized Training in Large-Scale Grap

Staleness-Aware Communication-Avoiding Full-Graph Decentralized Training in Large-Scale Graph Neural Networks

图神经网络(gnn)因其在图数据建模方面的成功而出现。然而,GNNs对高效地扩展到大型图很困难。因此,分布式gnn开始发挥作用为避免worker之间昂贵的数据移动所导致的通信,本文提出Sancus,一种过时性感知的通信,避免分散的GNN系统。通过引入一组新的有界嵌入惰性指标和自适应跳过广播,Sancus将去中心化GNN处理抽象为顺序矩阵乘法,并通过缓存使用历史嵌入。理论上,展示了具有收敛保证的嵌入和梯度的有界逼近误差。通过在大规模基准数据集上的不同系统设置,用常见的GNN模型来评估Sancus。与SOTA相比,在不损失精度的情况下,Sancus可以避免高达74%的通信,平均吞吐量至少提高1.86

一研究背景

1)为了缓解随着数据和模型大小不断增加的内存需求,分布式GNN处理是不可避免的补救措施。人们已经对基于采样的分布式GNN训练进行了一些尝试,代价是信息损失[3,16,34]、采样开销[16]和不保证收敛[5]。本文专注于全图神经网络的分布式训练。1

 2)除了大量的内存占用之外,由于耦合的不规则邻域访问和迭代学习过程,分布式gnn是内存密集和计算密集的[33,36]。密集的沟通,不仅包括梯度或参数,还包括嵌入,使分布式GNN训练更具挑战性。如图1所示,训练过程需要不断查询目标节点、它们的邻居以及它们更远的邻居,以在工作节点之间迁移嵌入和梯度。因此,借助GNN聚合中的这种数据移动,由此产生的沟通成本可能占总培训时间的80%甚至更多[3,13,34]。

3)在分布式培训中,工作人员如何通信的底层系统架构是至关重要的,特别是对于具有大量通信开销的gnn。

 本文提出Sancus,一种过时性感知的避免通信的去中心化GNN训练系统,通过自适应跳过广播和缓存过时性有限的历史嵌入。为了绕过gpu之间的非规则数据通信,首先重新审视了gnn -[34]分布的并行算法,以一种完全不同的方式降低通信开销。如图3所示,通过将GNN处理纯粹视为分布式方案中的矩阵乘法操作序列,每个GPU加载分裂子矩阵而不考虑语义。

其次,为进一步避免分散方案下的通信,本文建议将历史嵌入缓存和跳播,将其作为每个分布式过程中来自较早时代的嵌入子矩阵

第三,为了管理在每个GPU上使用混合版本嵌入所导致的系统过时性,本文提出了在集中式方案中广泛使用的有界梯度过时性的泛化

本文在去中心化gnn中提出一套新的有界嵌入陈旧性指标。特别是,Sancus自适应地跳过边界内的嵌入,并自动重用缓存的历史嵌入,以直接避免通信;否则,如果嵌入变得太过时,结果将被广播并在gpu之间的缓存中更新,以保持系统在一定范围内的过时性。

 THE SANCUS FRAMEWORK

首先,我们在3.1节中逐步概述Sancus。算法1介绍了完全过时感知的避免通信的分散式全gnn训练算法。为了进一步阐述避免通信,我们在第3.3节和第3.4节中提出了相应的历史嵌入和跳过广播。为了管理由历史嵌入造成的系统过时性,我们在3.5节中提出了一组关于有界嵌入过时性的新指标。

 1. Overview

本文提出Sancus,一种自适应的过时性感知通信避免分散式GNN系统。从根本上说,Sancus简单而有效,它基于一种避免矩阵阻塞的通用通信算法,用于并行计算,在分散GNN训练期间缓存和重用陈旧的历史嵌入,并相应地跳过广播。

我们在图4中概述了Sancus。主要有以下步骤:(1)数据加载,(2)过时边界检查,(3)嵌入广播,(4)GNN模型计算,以及(5)结果缓存。在这里,我们阐明了这些步骤:(1)首先,整个图的整个稀疏邻接矩阵和密集嵌入矩阵被分割为矩阵块,然后加载到单个工作者。每个worker都保存着自己完整模型的副本;(2)在每个GPU上,在广播最后的计算结果之前,我们检查历史嵌入的陈旧程度是否在建议的范围内。如果过时性在范围内,则跳过嵌入广播,并将缓存的历史嵌入重用于此迭代的模型计算;(3)否则,如果过期度超过限制,则将最新的结果广播给所有worker并在缓存中更新;(4)因此,将最新的嵌入或缓存的历史嵌入加载到GNN模型进行计算;(5) #最后,在广播之前,更新的嵌入被分派到下一次迭代的过时性检查。

2Staleness-Aware Communication-Avoiding Decentralized Training

首先,提出了算法1中避免分散全图gnn训练的全面的过时性感知通信,并详细阐述了其细节。 有三个键:(1)工作状态  F(i)配备表示工作状态。状态被记录为ACTIVE或STALE,以支持3.4节中的跳过广播操作。(2)利用缓存存储来自其他工作节点的历史嵌入,可以在未来的迭代中重复使用,以避免通信;(3)容忍有界的嵌入过时性,以管理系统过时性,其中每个工作人员可以使用来自不同迭代的嵌入。

 3. Skip-Broadcast

在去中心化方案中,问题是如何调整一对多广播等通信操作,以支持有界过时的历史嵌入。由于这种去中心化方案[34]的大多数实现都基于批量同步,因此直接实施历史嵌入具有挑战性。因此,我们提出了一个通信原语来实现,它不需要集中的参数服务器。特别地,设计了一种跳跃式广播(Skip-Broadcast)方案,允许在训练过程中无缝地重构通信拓扑结构。

 4.Bounded Embedding Staleness

通过跳过广播来支持过时的嵌入,worker可能会嵌入与其他worker不同的迭代。针对这种混合版本问题,Sancus支持有界嵌入过时性。尽管在随机梯度下降(SGD)的传统分布式ML中对有界梯度陈旧性进行了深入研究[7,17,38],但其主要目的是帮助SGD收敛,减轻陈旧梯度的负面影响。然而,我们积极利用陈旧的嵌入来避免通信。通过引入一组新的有界嵌入过时性指标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值