[論文レビュー] AGL: a Scalable System for Industrial-purpose Graph Machine Learning
AGL は、一般的なクラスタ上で k-hop 隣接領域と MapReduce を使用して GNN の完全なトレーニングと推論を提供する、産業グラフ機械学習のスケーラブルで障害耐性のあるシステムです。
Machine learning over graphs have been emerging as powerful learning tools for graph data. However, it is challenging for industrial communities to leverage the techniques, such as graph neural networks (GNNs), and solve real-world problems at scale because of inherent data dependency in the graphs. As such, we cannot simply train a GNN with classic learning systems, for instance parameter server that assumes data parallel. Existing systems store the graph data in-memory for fast accesses either in a single machine or graph stores from remote. The major drawbacks are in three-fold. First, they cannot scale because of the limitations on the volume of the memory, or the bandwidth between graph stores and workers. Second, they require extra development of graph stores without well exploiting mature infrastructures such as MapReduce that guarantee good system properties. Third, they focus on training but ignore the optimization of inference over graphs, thus makes them an unintegrated system. In this paper, we design AGL, a scalable, fault-tolerance and integrated system, with fully-functional training and inference for GNNs. Our system design follows the message passing scheme underlying the computations of GNNs. We design to generate the $k$-hop neighborhood, an information-complete subgraph for each node, as well as do the inference simply by merging values from in-edge neighbors and propagating values to out-edge neighbors via MapReduce. In addition, the $k$-hop neighborhood contains information-complete subgraphs for each node, thus we simply do the training on parameter servers due to data independency. Our system AGL, implemented on mature infrastructures, can finish the training of a 2-layer graph attention network on a graph with billions of nodes and hundred billions of edges in 14 hours, and complete the inference in 1.2 hour.
研究の動機と目的
- 数十億のノードと数千億のエッジを含む産業規模のグラフに対して、グラフニューラルネットワーク(GNN)のスケーリングという課題に取り組む。
- 障害耐性とスケーラビリティを確保するため、成熟したインフラストラクチャ(MapReduce、パラメータサーバ)に基づく統合的なシステム設計(トレーニングと推論)を提案する。
- データ独立性を可能にし、サブグラフ上でのトレーニングを簡素化するために、k-hop 隣接領域の概念を導入する。
- 隣接領域のスケーラブルな生成、トレーニング、および推論を実現するために、3 つの主要モジュール(GraphFlat、GraphTrainer、GraphInfer)を開発する。
- 大規模属性グラフにおけるトレーニングと推論の両方の効率とスループットを向上させる。
提案手法
- GNN のメッセージパッシングのパラダイムを用いて、各ターゲットノードに対して情報完備の k-hop 隣接領域を定義・生成する。
- GraphFlat を実装して、k-hop 隣接領域を分散的に生成し、分散ファイルシステム上に格納された protobuf に平坦化する。
- GraphFlat において、ハブノードへの対処と負荷分散のために、再インデックス作成、サンプリング、 inverted indexing を適用する。
- GraphTrainer を、パイプライン、剪定、およびエッジ分割の最適化を備えた、コモディティハードウェア上で k-hop 隣接領域を訓練する分散パラメータサーバ風のフレームワークとして開発する。
- 埋め込みを層ごとに伝搬させる MapReduce ベースのメッセージパッシング・パイプラインと階層的なモデル分割によって分散推論を実行するよう GraphInfer を設計する。
実験結果
主な発見
- AGL は、6.23e9 ノード、3.38e11 エッジのグラフで、100 ワーカーを用いて 14 時間で 2 層の Graph Attention Network (GAT) のトレーニングが可能である。
- 同じグラフでの推論は 1.2 時間で完了する。
- このシステムは、シングルマシンのトレーニングと比較して CPU クラスター上でほぼ線形のスピードアップを達成する(モンスター機での DGL/PyG と比較して)。
- GraphFlat と GraphTrainer および GraphInfer は、MapReduce とパラメータサーバー基盤を活用して、産業規模のグラフに対する障害耐性のある、スケーラブルなトレーニングと推論を提供する。
- GraphInfer はノード間での埋め込み再利用から恩恵を受け、DGL や AliGraph のようなアーキテクチャと比較して推論効率を最大化する。
- このアプローチは、実際の産業シーンでのグラフ埋め込みの最大規模のデプロイメントの一つを表している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。