Skip to main content
QUICK REVIEW

[論文レビュー] GraphLab: A Distributed Framework for Machine Learning in the Cloud

Yucheng Low, Joseph E. Gonzalez|arXiv (Cornell University)|Jul 5, 2011
Graph Theory and Algorithms参考文献 41被引用数 21
ひとこと要約

GraphLab は、機械学習におけるスパースな依存関係、反復計算、非同期更新を効率的に表現すると同時に、順序付けられた一貫性を保証するドメイン固有の並列抽象化を導入する。64ノードのEC2クラスタ上で評価された結果、Hadoop よりも20–60倍の高速化を達成し、手動で最適化されたMPI実装と同等の性能を発揮した。これにより、クラウドインfra構造上でのスケーラブルで正しく、かつ高性能な機械学習が可能になった。

ABSTRACT

Machine Learning (ML) techniques are indispensable in a wide range of fields. Unfortunately, the exponential increase of dataset sizes are rapidly extending the runtime of sequential algorithms and threatening to slow future progress in ML. With the promise of affordable large-scale parallel computing, Cloud systems offer a viable platform to resolve the computational challenges in ML. However, designing and implementing efficient, provably correct distributed ML algorithms is often prohibitively challenging. To enable ML researchers to easily and efficiently use parallel systems, we introduced the GraphLab abstraction which is designed to represent the computational patterns in ML algorithms while permitting efficient parallel and distributed implementations. In this paper we provide a formal description of the GraphLab parallel abstraction and present an efficient distributed implementation. We conduct a comprehensive evaluation of GraphLab on three state-of-the-art ML algorithms using real large-scale data and a 64 node EC2 cluster of 512 processors. We find that GraphLab achieves orders of magnitude performance gains over Hadoop while performing comparably or superior to hand-tuned MPI implementations.

研究の動機と目的

  • マップレッド や Dryad といった既存の並列抽象化が、機械学習アルゴリズムに共通するスパースな依存関係を効率的に表現できないという非効率性を是正すること。
  • レースコンディション やメッセージ渡しといった低レベルの並列性の問題を抽象化することで、分散機械学習の実装の複雑さを軽減すること。
  • 高レベルな抽象化を通じて、反復的機械学習アルゴリズムを、効率的で、証明可能に正しい、かつスケーラブルに実行できるようにすること。
  • 機械学習研究者が使いやすい状態を保ちながら、手動で最適化されたMPIコードと同等の性能を達成すること。

提案手法

  • GraphLab 抽象化は、頂点と辺からなるグラフとして機械学習アルゴリズムをモデル化する。頂点は計算ユニットを表し、辺はデータ依存関係を表す。
  • システムは、実行中にグローバルに情報を集約するための sync 操作を備えた、非同期的で反復的な計算をサポートする。
  • 2つの分散エンジンを実装している:静的スケジューリングに使用するグラフ彩色に基づく Chromatic Engine、および分散ロックと遅延隠蔽を用いた動的で優先順位付き実行を実現する Locking Engine。
  • 適切な調整により、反復的機械学習アルゴリズムにおける統計的正しさを保つために、順序付けられた一貫性を確保する。
  • 大規模クラスタ向けに最適化されたC++ API を使用しており、効率的なメモリアクセスと通信をサポートする。
  • 動的グラフ構造をサポートし、Amazon EC2 などのクラウド環境と統合して、エラスティックなスケーリングを実現する。

実験結果

リサーチクエスチョン

  • RQ1スパースな依存関係や反復的更新を特徴とする多様な機械学習アルゴリズムの計算パターンを、高レベルな並列抽象化が効率的に表現できるか?
  • RQ2非同期で分散された環境において、性能を損なわずに順序付けられた一貫性をどのように維持できるか?
  • RQ3一般用途のフレームワーク(例:Hadoop)に比べて、ドメイン固有の抽象化が機械学習ワークロードでどれほど優れているか?
  • RQ4手動で最適化されたMPI実装と同等の性能を達成しながら、機械学習研究者にとって使いやすい抽象化が可能か?

主な発見

  • 64ノードのEC2クラスタ(512プロセッサ)を用いて、実世界の機械学習ワークロードでHadoopより20–60倍の高速化を達成した。
  • システムは、熟練した調整が施されたMPI実装と同等の性能を示し、高レベルな抽象化が効率性を犠牲にしなくてもよいことを実証した。
  • CoSeg 実験において、プロセッサ数を8から64に増やした際の実行時間はたった11%増加にとどまり、優れたスケーラビリティを示した。
  • パartitioning の質に強く依存する性能特性を示したが、保留中のロック数の上限を増やすことで、劣悪なパartitioning 条件下でも性能が著しく向上した。
  • Amazon EC2 上では、細かめの課金方式において、Hadoop よりもより優れた価格性能比と価格正確性比を達成した。
  • sync 操作により、非同期反復中におけるグローバルな集約が効率的に行えるようになり、反復的機械学習アルゴリズムの収束を支援した。

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

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

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

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