Skip to main content
QUICK REVIEW

[论文解读] Efficient Graph Computation for Node2Vec

Dongyan Zhou, Songjie Niu|arXiv (Cornell University)|May 1, 2018
Advanced Graph Neural Networks参考文献 18被引用 12
一句话总结

本文提出 Fast-Node2Vec,一种类似 Pregel 的分布式框架,通过按需计算转移概率并优化高阶顶点,高效地在大规模图上计算 Node2Vec。其在 Spark-Node2Vec 上实现了 7.7–122 倍的加速,在基线方法上最高达 17.2 倍,使得在中等硬件条件下实现百亿顶点图的可扩展、高质量特征学习成为可能。

ABSTRACT

Node2Vec is a state-of-the-art general-purpose feature learning method for network analysis. However, current solutions cannot run Node2Vec on large-scale graphs with billions of vertices and edges, which are common in real-world applications. The existing distributed Node2Vec on Spark incurs significant space and time overhead. It runs out of memory even for mid-sized graphs with millions of vertices. Moreover, it considers at most 30 edges for every vertex in generating random walks, causing poor result quality. In this paper, we propose Fast-Node2Vec, a family of efficient Node2Vec random walk algorithms on a Pregel-like graph computation framework. Fast-Node2Vec computes transition probabilities during random walks to reduce memory space consumption and computation overhead for large-scale graphs. The Pregel-like scheme avoids space and time overhead of Spark's read-only RDD structures and shuffle operations. Moreover, we propose a number of optimization techniques to further reduce the computation overhead for popular vertices with large degrees. Empirical evaluation show that Fast-Node2Vec is capable of computing Node2Vec on graphs with billions of vertices and edges on a mid-sized machine cluster. Compared to Spark-Node2Vec, Fast-Node2Vec achieves 7.7--122x speedups.

研究动机与目标

  • 解决现有 Node2Vec 实现方法在包含数十亿个顶点和边的大规模图上的可扩展性限制。
  • 克服 Spark-Node2Vec 的结果质量差和内存开销高的问题,后者将邻居采样限制在每个顶点最多 30 条边,并导致过多的 shuffle 操作和 RDD 开销。
  • 通过避免 Spark 的只读 RDD 和 I/O 密集型 shuffle 操作,在中等规模的机器集群上实现高效、精确的 Node2Vec 计算。
  • 设计并评估优化技术——FN-Cache 和 FN-Approx——以提升在度分布偏斜图中高阶顶点的性能。
  • 证明仅使用中等计算资源,即可在大规模图上实现高质量、可扩展的 Node2Vec 特征学习。

提出的方法

  • Fast-Node2Vec 使用类似 Pregel 的图计算框架,避免 Spark 的只读 RDD 和高成本的 shuffle 操作,从而降低内存和 I/O 开销。
  • 在随机游走过程中按需计算 Node2Vec 转移概率,而非预先存储,显著降低了大规模图的内存使用。
  • 该框架采用顶点中心计算模型,每个顶点处理传入消息以生成随机游走的下一步。
  • FN-Cache 缓存频繁访问的高阶顶点的计算转移概率,以减少冗余计算。
  • FN-Approx 使用采样方法近似高阶顶点的转移概率,以较小的精度损失换取显著的性能提升。
  • 系统在具有不同度偏斜度的合成 Skew-K 图上进行评估,以研究图结构对优化效果的影响。

实验结果

研究问题

  • RQ1是否可以仅使用中等规模的机器集群,在百亿顶点图上高效计算 Node2Vec?
  • RQ2与预先存储转移概率相比,按需计算转移概率在多大程度上减少了内存开销?
  • RQ3像 FN-Cache 和 FN-Approx 这类优化在偏斜图的高阶顶点上能多大程度上提升性能?
  • RQ4图的度偏斜度如何影响 Fast-Node2Vec 中优化技术的性能表现?
  • RQ5在大规模图上,近似与精确 Node2Vec 计算之间在结果质量与性能之间存在何种权衡?

主要发现

  • Fast-Node2Vec 在大规模图上相较于 Spark-Node2Vec 实现了 7.7–122 倍的加速,显著提升了性能。
  • 采用按需计算转移概率的方式减少了内存开销,避免了存储所有概率的需求,从而实现了对百亿顶点图的可扩展性。
  • FN-Cache 在高度偏斜的图上相较于基线 FN-Base 最高实现 2.68 倍的加速,尤其显著提升了高阶顶点的性能。
  • FN-Approx 在偏斜图上相较于 FN-Base 最高实现 17.2 倍的加速,表现出极强的性能提升,且对结果质量影响极小。
  • 随着图的偏斜度增加(例如 Skew-5),FN-Cache 和 FN-Approx 的优势显著增强,证实了其在具有幂律度分布的真实图中的有效性。
  • 该系统仅使用 12 个节点的集群成功计算了包含最多 10 亿个顶点和边的图上的 Node2Vec,证明了在中等资源环境下的可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。