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
ひとこと要約

本稿では、必要に応じて遷移確率を計算し、高次元の頂点に最適化することで、大規模グラフ上でNode2Vecを効率的に計算するPregelに類似した分散フレームワーク、Fast-Node2Vecを提案する。この手法は、Spark-Node2Vecに対して7.7–122倍の高速化を達成し、最大で17.2倍の高速化を実現し、中程度のハードウェアで10億頂点のグラフに対してもスケーラブルかつ高品質な特徴抽出を可能にする。

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.

研究の動機と目的

  • 10億以上の頂点と辺を有する大規模グラフにおける、既存のNode2Vec実装のスケーラビリティの制限を克服すること。
  • Spark-Node2Vecの結果の品質の低さと高いメモリオーバーヘッドを是正すること。特に、1頂点あたりの隣接エッジ数を30に制限するためのネイバーサンプリングに起因する問題を解消すること。
  • Sparkの読み取り専用RDDとI/O集約的なシャッフル操作を回避することで、中規模のマシンクラスタ上での効率的かつ正確なNode2Vec計算を可能にすること。
  • スケーラブルなグラフにおける高次元頂点の性能向上に寄与する最適化技術—FN-CacheとFN-Approx—の設計および評価を行うこと。
  • 中程度の計算リソースのみを用いても、大規模グラフ上で高品質かつスケーラブルなNode2Vec特徴抽出が可能であることを実証すること。

提案手法

  • Fast-Node2Vecは、Sparkの読み取り専用RDDと高コストなシャッフル操作を回避するため、Pregelに類似したグラフ計算フレームワークを採用し、メモリおよびI/Oオーバーヘッドを低減する。
  • Node2Vecの遷移確率を事前に格納するのではなく、ランダムウォークの実行中に必要に応じて計算することで、大規模グラフにおけるメモリ使用量を顕著に削減する。
  • 各頂点が入力メッセージを処理してランダムウォークの次のステップを生成する頂点中心の計算モデルを採用する。
  • FN-Cacheは、頻繁にアクセスされる高次元頂点の計算済み遷移確率をキャッシュすることで、重複計算を低減する。
  • FN-Approxは、サンプリングを用いて高次元頂点の遷移確率を近似することで、わずかな精度の損失を犠牲にしても大幅な性能向上を達成する。
  • 本システムは、度数の偏りが異なる合成スケールKグラフ(Skew-K)を用いて評価され、グラフ構造が最適化効果に与える影響を調査する。

実験結果

リサーチクエスチョン

  • RQ110億頂点のグラフ上で、中規模のマシンクラスタを用いてNode2Vecを効率的に計算できるか?
  • RQ2事前にすべての遷移確率を格納するのではなく、必要に応じて計算することで、メモリ使用量がどの程度削減されるか?
  • RQ3FN-CacheやFN-Approxのような最適化技術が、偏りのあるグラフにおける高次元頂点の性能にどの程度向上効果をもたらすか?
  • RQ4グラフの度数の偏りが、Fast-Node2Vecにおける最適化技術の性能にどのように影響を与えるか?
  • RQ5大規模グラフにおける近似版と正確版のNode2Vec計算の間で、結果の品質と性能のトレードオフはどのようなものか?

主な発見

  • Fast-Node2Vecは、大規模グラフにおいてSpark-Node2Vecに対して7.7–122倍の高速化を達成し、顕著な性能向上を示した。
  • 必要に応じて遷移確率を計算するアプローチにより、メモリオーバーヘッドが低減され、すべての確率を格納する必要がなくなるため、10億頂点のグラフへのスケーラビリティが実現された。
  • FN-Cacheは、偏りの強いグラフにおいて、ベースラインのFN-Baseに比べて最大2.68倍の高速化を達成し、特に高次元頂点の処理に顕著な恩恵をもたらした。
  • FN-Approxは、偏りのあるグラフにおいてFN-Baseに比べて最大17.2倍の高速化を達成し、結果の品質への影響を最小限に抑えつつ顕著な性能向上を示した。
  • グラフの偏りが増す(例:Skew-5)ほど、FN-CacheおよびFN-Approxの恩恵が顕著に増大し、実世界のスケールフリー度数分布を示すグラフに対しても有効であることが確認された。
  • 本システムは、12ノードのクラスタを用いて最大10億頂点および10億エッジのグラフに対してもNode2Vecを正しく計算でき、中程度のリソース環境でも実現可能であることを実証した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。