Skip to main content
QUICK REVIEW

[論文レビュー] PyTorch-BigGraph: A Large-scale Graph Embedding System

Adam Lerer, Ledell Wu|arXiv (Cornell University)|Mar 28, 2019
Advanced Graph Neural Networks参考文献 40被引用数 204
ひとこと要約

PyTorch-BigGraph (PBG) は、分割、分散実行、バッチネガティブサンプリング、およびハイブリッドパラメータサーバーアプローチを用いて、ノード数十億、エッジ兆の規模のグラフ埋め込みをスケールさせ、スケーラビリティを向上させつつ競争力のある性能を達成します。

ABSTRACT

Graph embedding methods produce unsupervised node features from graphs that can then be used for a variety of machine learning tasks. Modern graphs, particularly in industrial applications, contain billions of nodes and trillions of edges, which exceeds the capability of existing embedding systems. We present PyTorch-BigGraph (PBG), an embedding system that incorporates several modifications to traditional multi-relation embedding systems that allow it to scale to graphs with billions of nodes and trillions of edges. PBG uses graph partitioning to train arbitrarily large embeddings on either a single machine or in a distributed environment. We demonstrate comparable performance with existing embedding systems on common benchmarks, while allowing for scaling to arbitrarily large graphs and parallelization on multiple machines. We train and evaluate embeddings on several large social network graphs as well as the full Freebase dataset, which contains over 100 million nodes and 2 billion edges.

研究の動機と目的

  • 産業規模のグラフ(ノード数十億、エッジ兆)に対してスケーラブルなグラフ埋め込みの必要性を動機付ける。
  • PyTorch-BigGraph (PBG) とそのスケーラビリティ機構を紹介する。
  • PBG が大規模グラフへスケールしつつ標準ベンチマークで競争力のある性能を達成することを示す。
  • Freebase、LiveJournal、YouTube、Twitter でのスケーラビリティと効率性を検証する。
  • 大規模グラフ埋め込みパイプラインのオープンソース公開と実用的ガイダンスを提供する。

提案手法

  • 関係ごとの変換を用いた因子化スコアリング関数 f を用いてエッジをモデル化する多関係グラフ埋め込みフレームワークを導入する。
  • メモリ制約に合わせて隣接行列を P 個のバケットに分割し、1 バケットずつ学習して分散実行を可能にする。
  • ロックサーバーとパーティションサーバーに基づく並列化を用いて機械間のトレーニングを調整し、非同期パラメータサーバーを介して少数のグローバルパラメータを共有する。
  • メモリ効率の良いバッチネガティブサンプリングを実装し、1 バッチ内でネガティブを再利用してメモリ帯域を削減する。
  • Adagrad とマージンベースのランキング目的関数を用いて、サンプリングと関係演算子(例:TransE、DistMult、ComplEx、RESCAL)を設定可能に最適化する。
  • パーシャル(分割)と非分割エンティティタイプ、および各関係のエッジ設定のモジュール化を含む、単一機械および分散トレーニングをサポートする。

実験結果

リサーチクエスチョン

  • RQ1分割と分散トレーニングを用いて、エンベディング品質を犠牲にすることなく、 billions のノードと trillions のエッジを持つ大規模グラフを効果的に埋め込むことができるか。
  • RQ2分割戦略、ネガティブサンプリング、関係演算子が実世界の大規模グラフおよび知識グラフのスケーラビリティとモデル精度にどう影響するか。
  • RQ3複数の機械とパーティションに跨って PBG をスケールする際のトレーニング時間、メモリ使用量、収束のトレードオフは 무엇か。
  • RQ4異なるスコアリング演算子(TransE、ComplEx など)を用いた場合、社会ネットワークと知識グラフといった多様なグラフタイプで PBG はどのように性能を発揮するか。
  • RQ5大規模埋め込みの公開(例:全 Freebase グラフ)を、品質とリソース使用で許容範囲内に抑えて実用化できるか。

主な発見

モデル / 設定MRR(生データ)MRR(フィルタ済み)Hits@10補足
RESCAL0.1890.3540.587FB15k baseline
TransE0.2650.5940.785PBG with TransE (FB15k)
HolE0.2320.5240.739FB15k
ComplEx0.2420.7900.872FB15k
R-GCN+---Knowledge-graph related baseline
StarSpace--0.838Baseline comparison
Reciprocal ComplEx-N3--0.910Baseline comparison
PBG (TransE)0.2650.5940.785PBG variant on FB15k
PBG (ComplEx)0.2420.7900.872PBG variant on FB15k
  • PBG は、既存の埋め込みシステムと同等の性能を標準ベンチマークで維持しつつ、十億規模のノードと兆級のエッジを持つグラフへスケールする。
  • 分割はメモリ使用量を大幅に削減(例:全 Freebase グラフで 88% の削減)し、埋め込み品質の低下は最小限。
  • 複数機械にまたぐ分散実行により、Freebase で 8 台のマシンを用いた場合にウォールクロック時間が最大で約 4 倍のスピードアップを達成し、大規模グラフでほぼ線形のスケーリングを示す。
  • ネガティブをバッチ内で再利用することで訓練速度を大幅に向上させ、ネガティブの数が増加しても効率性を維持する。
  • LiveJournal、YouTube、Twitter といった大規模実世界グラフ上で競争力のリンク予測とノード分類性能を達成し、埋め込みは下流タスクの特徴量として有用なままである。
  • Freebase 知識グラフ上では、TransE と ComplEx を用いた PBG が確立済みのベースラインと比較して競争力のある MRR と Hits@10 を達成しており、分割と分散トレーニングで全 Freebase グラフへのスケーリングが実現可能。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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