Graph embedding maps graph nodes to low-dimensional vectors, and is widely adopted in machine learning tasks. The increasing availability of billion-edge graphs underscores the importance of learning efficient and effective embeddings on large graphs, such as link prediction on Twitter with over one billion edges. Most existing graph embedding methods fall short of reaching high data scalability. In this paper, we present a general-purpose, distributed, information-centric random walk-based graph embedding framework, DistGER, which can scale to embed billion-edge graphs. DistGER incrementally computes information-centric random walks. It further leverages a multi-proximity-aware, streaming, parallel graph partitioning strategy, simultaneously achieving high local partition quality and excellent workload balancing across machines. DistGER also improves the distributed Skip-Gram learning model to generate node embeddings by optimizing the access locality, CPU throughput, and synchronization efficiency. Experiments on real-world graphs demonstrate that compared to state-of-the-art distributed graph embedding frameworks, including KnightKing, DistDGL, and Pytorch-BigGraph, DistGER exhibits 2.33x-129x acceleration, 45% reduction in cross-machines communication, and > 10% effectiveness improvement in downstream tasks.
翻译:图嵌入将图节点映射为低维向量,广泛应用于机器学习任务。十亿级边图数据的日益普及凸显了在大规模图(如拥有超过十亿条边的Twitter链接预测)上学习高效且有效的嵌入的重要性。现有大多数图嵌入方法难以实现高数据可扩展性。本文提出一种通用、分布式、以信息为中心的随机游走框架DistGER,该框架可扩展至嵌入十亿级边图。DistGER增量式计算信息导向随机游走,并进一步利用多邻近感知、流式并行图划分策略,同时实现局部划分质量与跨机器工作负载平衡的优异表现。DistGER还通过优化访问局部性、CPU吞吐量和同步效率,改进了分布式Skip-Gram学习模型以生成节点嵌入。在真实世界图上的实验表明,与包括KnightKing、DistDGL和Pytorch-BigGraph在内的最先进分布式图嵌入框架相比,DistGER实现了2.33倍至129倍的加速、跨机器通信量减少45%,并在下游任务中取得超过10%的效果提升。