Graph neural networks (GNN) have shown great success in learning from graph-structured data. They are widely used in various applications, such as recommendation, fraud detection, and search. In these domains, the graphs are typically large, containing hundreds of millions of nodes and several billions of edges. To tackle this challenge, we develop DistDGL, a system for training GNNs in a mini-batch fashion on a cluster of machines. DistDGL is based on the Deep Graph Library (DGL), a popular GNN development framework. DistDGL distributes the graph and its associated data (initial features and embeddings) across the machines and uses this distribution to derive a computational decomposition by following an owner-compute rule. DistDGL follows a synchronous training approach and allows ego-networks forming the mini-batches to include non-local nodes. To minimize the overheads associated with distributed computations, DistDGL uses a high-quality and light-weight min-cut graph partitioning algorithm along with multiple balancing constraints. This allows it to reduce communication overheads and statically balance the computations. It further reduces the communication by replicating halo nodes and by using sparse embedding updates. The combination of these design choices allows DistDGL to train high-quality models while achieving high parallel efficiency and memory scalability. We demonstrate our optimizations on both inductive and transductive GNN models. Our results show that DistDGL achieves linear speedup without compromising model accuracy and requires only 13 seconds to complete a training epoch for a graph with 100 million nodes and 3 billion edges on a cluster with 16 machines. DistDGL is now publicly available as part of DGL:https://github.com/dmlc/dgl/tree/master/python/dgl/distributed.
翻译:图形神经网络( GNN) 显示在从图形结构数据中学习非常成功。 它们被广泛用于各种应用程序, 如建议、 欺诈检测和搜索。 在这些域中, 图表通常非常大, 包含数亿节点和数十亿边缘。 要应对这一挑战, 我们开发 DistDGL, 这是一种在机器群中以小型批量方式培训 GNNs 的系统。 DistDGL 以广受欢迎的 GNNN 开发框架“ 深图库( DGL) ” 为基础。 DustDGL 将图形及其相关数据( 初始功能和嵌入) 分布于机器中, 并使用此分布方式按照所有者- comput 规则进行计算计算计算计算。 DVCDL 遵循同步方法, 并允许以非本地端方式对 GDG 进行计算。 DDG 使用高端/ dVD 模式来尽量减少与分布式计算相关的间接费用, 现在只使用高品质和轻度的平级平流图形分割算法 。 这样可以减少通信和静态的平级数据, 。 通过高压的GDGDDDDDD 计算, 将使得我们可以同时进行高质量和低级的升级的计算。