4 个月前

GraphVite:一种高性能的CPU-GPU混合系统用于节点嵌入

GraphVite:一种高性能的CPU-GPU混合系统用于节点嵌入

摘要

学习节点的连续表示最近在学术界和工业界引起了越来越多的关注,这归因于其在各种应用中的简单性和有效性。现有的大多数节点嵌入算法和系统都能够处理包含数十万或数百万个节点的网络。然而,如何将其扩展到包含数千万甚至数亿个节点的网络仍然是一个具有挑战性的问题。本文提出了一种高性能的CPU-GPU混合系统——GraphVite,用于训练节点嵌入,通过协同优化算法和系统来实现这一目标。在CPU端,通过在网络中在线进行随机游走并行生成增强的边样本,作为训练数据。在GPU端,提出了一种新颖的并行负采样方法,利用多个GPU同时训练节点嵌入,而无需大量的数据传输和同步。此外,还提出了一种高效的协作策略,以进一步降低CPU和GPU之间的同步成本。在多个真实世界网络上的实验表明,GraphVite非常高效。对于包含100万个节点和500万个边的网络,在配备4个GPU的单机上仅需约1分钟即可完成训练;而对于包含6600万个节点和18亿个边的网络,则需要大约20小时。与当前最快的系统相比,GraphVite的速度提高了约50倍,且没有牺牲性能。

代码仓库

DeepGraphLearning/graphvite
pytorch
GitHub 中提及

基准测试

基准方法指标
link-prediction-on-fb15kSimplE
Hits@1: 0.721
Hits@10: 0.876
Hits@3: 0.818
MR: 74
MRR: 0.779
training time (s): 2105
link-prediction-on-fb15k-237RotatE
Hits@1: 0.217
Hits@10: 0.511
Hits@3: 0.347
MR: 176
MRR: 0.314
training time (s): 857
link-prediction-on-wn18SimplE
Hits@1: 0.944
Hits@10: 0.954
Hits@3: 0.950
MR: 412
MRR: 0.948
training time (s): 1042
node-classification-on-youtubeLINE
Macro-F1@2%: 33.69
Micro-F1@2%: 40.61
runtime (s): 70.09

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
GraphVite:一种高性能的CPU-GPU混合系统用于节点嵌入 | 论文 | HyperAI超神经