Skip to main content
QUICK REVIEW

[論文レビュー] Strategies and Principles of Distributed Machine Learning on Big Data

Eric P. Xing, Qirong Ho|arXiv (Cornell University)|Dec 31, 2015
Stochastic Gradient Optimization Techniques参考文献 60被引用数 13
ひとこと要約

この論文は、大規模データにおける効率的でスケーラブルかつ正しく動作する分散機械学習システムを設計するための4つの基盤的原則—分布戦略、通信ブリッジ、通信メカニズム、通信コンテンツ—を提案する。本論文では、誤差耐性や更新のcompact性といった機械学習固有の特性を活用することで、10〜1000台のマシンにわたる近似的に理想に近いスループット向上を実現する汎用的なMLフレームワークPetuumを紹介する。これにより、深層ニューラルネットワークやトピックモデルといった複雑なモデルの高性能な分散学習が可能になる。

ABSTRACT

The rise of Big Data has led to new demands for Machine Learning (ML) systems to learn complex models with millions to billions of parameters, that promise adequate capacity to digest massive datasets and offer powerful predictive analytics thereupon. In order to run ML algorithms at such scales, on a distributed cluster with 10s to 1000s of machines, it is often the case that significant engineering efforts are required --- and one might fairly ask if such engineering truly falls within the domain of ML research or not. Taking the view that Big ML systems can benefit greatly from ML-rooted statistical and algorithmic insights --- and that ML researchers should therefore not shy away from such systems design --- we discuss a series of principles and strategies distilled from our recent efforts on industrial-scale ML solutions. These principles and strategies span a continuum from application, to engineering, and to theoretical research and development of Big ML systems and architectures, with the goal of understanding how to make them efficient, generally-applicable, and supported with convergence and scaling guarantees. They concern four key questions which traditionally receive little attention in ML research: How to distribute an ML program over a cluster? How to bridge ML computation with inter-machine communication? How to perform such communication? What should be communicated between machines? By exposing underlying statistical and algorithmic characteristics unique to ML programs but not typically seen in traditional computer programs, and by dissecting successful cases to reveal how we have harnessed these principles to design and develop both high-performance distributed ML software as well as general-purpose ML frameworks, we present opportunities for ML researchers and practitioners to further shape and grow the area that lies between ML and systems.

研究の動機と目的

  • 効率の悪いシステム設計に起因する理論的期待値に比べて著しく低いスループットが発生する分散機械学習におけるスケーラビリティのギャップを是正すること。
  • 機械学習研究とシステム工学の溝を埋めるために、分散機械学習システム設計を機械学習の統計的・アルゴリズム的知見に裏付けさせること。
  • 多様なアルゴリズムをサポートしながらも、正しさと収束保証を確保する汎用的で高性能な分散機械学習フレームワークの開発。
  • 10〜1000台のマシンから成るクラスタ上で、最小限の工数で大規模な機械学習モデル(例:ディープラーニング、トピックモデル)を効率的に実行可能にする。
  • 低レベルのシステム複雑性を抽象化するプラットフォームを提供することで、機械学習研究者がモデル論理に集中できるようにするとともに、近似的に理想に近い並列性能を達成すること。

提案手法

  • 4つのコア設計原則を導入する:(1) 機械学習プログラムをどのように分散化するか、(2) 機械学習計算とマシン間通信をどのように統合するか、(3) 通信をどのように行うか、(4) マシン間で何を通信するか。
  • データ並列学習におけるパフォーマンスと正しさのバランスを図るために、Bösen(限定非同期キーバリュー・ストア)でStale Synchronous Parallel(SSP)一貫性モデルを採用する。
  • モデル並列学習のための動的スケジューラStradsを用い、収束に必要な計算を優先し、安全でない並列更新を回避する。
  • 要因分解と集約戦略を適用して通信コストを最小化する—例として、上位レイヤーで要因をブロードキャストし、下位レイヤーで更新を集約することで帯域幅を削減する。
  • CaffeのメモリアクセスルーチンをBösenの分散共有プログラミングインタフェースに置き換えることで、Petuumの上にPoseidon(分散版Caffe)を構築し、コード変更を最小限に抑えつつGPUスケールの分散学習を可能にする。
  • C++およびJava、YARN、HDFSをサポートする統合フレームワークとしてPetuumを設計し、既存のHadoopクラスタ上へのデプロイを可能にしつつ、高いパフォーマンスと正しさを維持する。

実験結果

リサーチクエスチョン

  • RQ110〜1000台のマシンから成るクラスタ上で、アルゴリズムの正しさと収束性を保ちながら、機械学習プログラムを効果的に分散化する方法は何か?
  • RQ2反復的機械学習計算とマシン間通信のギャップを埋めるために、最適なシステム抽象化と一貫性モデルとは何か?
  • RQ3機械学習ワークロードに固有の統計的・構造的特性を活用することで、通信オーバーヘッドをどのように最小化できるか?
  • RQ4通信効率を最大化し、遅延を最小限に抑えるために、マシン間でどのデータを通信すべきかを決定する基準は何か?
  • RQ5汎用的な機械学習フレームワークは、低レベルのシステム複雑性を抽象化しながら、多様な機械学習アルゴリズムで近似的に理想に近いスループット向上を達成できるか?

主な発見

  • Petuumは、機械学習固有のシステム設計原則を適用することで、10〜1000台のマシンにわたる近似的に理想に近いスループット向上を達成し、分散機械学習における一般的な非線形的スループット向上の問題を克服した。
  • Bösenに実装されたStale Synchronous Parallel(SSP)モデルにより、収束性や正しさを損なわず、非同期処理に近いパフォーマンスを実現し、MapReduceおよびバッチ同期実行を上回る性能を発揮した。
  • 動的スケジューラStradsは、収束に必要な計算を優先することで性能を向上させ、非収束的な並列更新を回避した。
  • 要因ブロードキャストと更新集約による通信最適化により、通信コストが$KD$から$S(K+D)$または$KD \ll S(K+D)$にまで削減され、レイヤーに応じて顕著にスケーラビリティが向上した。
  • Petuum上に構築されたPoseidon(Caffeの分散版)により、コード変更を最小限に抑えつつ、GPUスケールのディープラーニングモデルの分散学習が可能になった。既存のCaffeユーザーにとっての使いやすさも維持された。
  • 本フレームワークは、ロジスティック回帰、k-means、ランダムフォレスト、MedLDA、ディープラーニングを含む10種類以上の実行可能MLアルゴリズムをサポートしており、広範な適用可能性と高いパフォーマンスを示した。

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

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

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

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