Skip to main content
QUICK REVIEW

[論文レビュー] ParMAC: distributed optimisation of nested functions, with application to learning binary autoencoders

Miguel Á. Carreira-Perpiñán, Mehdi Alizadeh|arXiv (Cornell University)|May 30, 2016
Advanced Neural Network Applications参考文献 49被引用数 4
ひとこと要約

ParMAC は、クラスタ上でサブモデルと補助座標を分離することで、通信量を低減しながら効率的な分散最適化を実現する、ネストされた機械学習モデル向けの分散最適化フレームワークである。10000万個の高次元点のバイナリオートエンコーダーを128プロセッサで学習する際、通信量が最小限で、理論的収束保証も有し、ほぼ完全なスケールアップを達成した。

ABSTRACT

Many powerful machine learning models are based on the composition of multiple processing layers, such as deep nets, which gives rise to nonconvex objective functions. A general, recent approach to optimise such "nested" functions is the method of auxiliary coordinates (MAC). MAC introduces an auxiliary coordinate for each data point in order to decouple the nested model into independent submodels. This decomposes the optimisation into steps that alternate between training single layers and updating the coordinates. It has the advantage that it reuses existing single-layer algorithms, introduces parallelism, and does not need to use chain-rule gradients, so it works with nondifferentiable layers. With large-scale problems, or when distributing the computation is necessary for faster training, the dataset may not fit in a single machine. It is then essential to limit the amount of communication between machines so it does not obliterate the benefit of parallelism. We describe a general way to achieve this, ParMAC. ParMAC works on a cluster of processing machines with a circular topology and alternates two steps until convergence: one step trains the submodels in parallel using stochastic updates, and the other trains the coordinates in parallel. Only submodel parameters, no data or coordinates, are ever communicated between machines. ParMAC exhibits high parallelism, low communication overhead, and facilitates data shuffling, load balancing, fault tolerance and streaming data processing. We study the convergence of ParMAC and propose a theoretical model of its runtime and parallel speedup. We develop ParMAC to learn binary autoencoders for fast, approximate image retrieval. We implement it in MPI in a distributed system and demonstrate nearly perfect speedups in a 128-processor cluster with a training set of 100 million high-dimensional points.

研究の動機と目的

  • 通信コストの高い分散システムにおいて、深層ネットワークやオートエンコーダーなどのネストされた非凸機械学習モデルをスケーリングする課題に対処すること。
  • 補助座標法(MAC)を分散環境に拡張し、通信量を最小限に抑えつつ並列性と収束性を維持すること。
  • データシャーディング、フェイルセーフ、ストリーミングデータ処理をサポートするクラスタ上で、大規模モデル(特にバイナリオートエンコーダー)の効率的学習を可能にすること。
  • 分散ネスト最適化における実行時間と並列スケールアップの理論的モデルを構築すること。

提案手法

  • ParMAC は、処理マシンを円環トポロジに配置し、サブモデルの並列確率的更新と補助座標の並列更新を交互に実行する。
  • マシン間で送信されるのはサブモデルパラメータのみであり、生データや座標値は共有されないため、通信オーバーヘッドが著しく削減される。
  • MPI(Message Passing Interface)を用いて分散制御を実装し、効率的なデータ交換のためのブロッキングおよびノンブロッキング送信/受信ルーチンを活用する。
  • データと計算をマシンに分散させることでフェイルセーフ性と負荷分散を実現し、動的再構成も可能である。
  • 微分可能・非微分可能な層の両方に対応し、バックプロパゲーションを避けるために補助座標を用いて最適化を分離する。
  • 計算コストと通信コストに基づく理論的実行時間およびスケールアップモデルを導出し、128ノードクラスタ上で実験的に検証した。

実験結果

リサーチクエスチョン

  • RQ1大規模クラスタ上で通信量を最小限に抑えながら、機械学習におけるネスト最適化問題を効率的にスケーリングできるか?
  • RQ2データや座標を送信せずに、補助座標法(MAC)をメッセージパassing環境に適応できるか?
  • RQ3分散ネスト最適化における計算、通信、スケールアップの理論的関係は何か?
  • RQ4ParMAC は、1億点のバイナリオートエンコーダー学習といった大規模学習タスクで、ほぼ完全なスケールアップを達成できるか?

主な発見

  • 10000万個の高次元点のバイナリオートエンコーダー学習において、128プロセッサクラスタ上でのParMACは、計算コストに比べて通信コストが無視できるほど低く、ほぼ完全なスケールアップを達成した。
  • 実験的スケールアップ結果は、理論的スケールアップモデルの予測と非常に良く一致しており、実世界の設定でもその正確性が裏付けられた。
  • 生データや座標値ではなくサブモデルパラメータのみを通信することで、ParMAC はマシン間通信を最小限に抑え、並列処理の利点を保持した。
  • フレームワークはデータシャッフル、負荷分散、フェイルセーフ、ストリーミングデータ処理をサポートしており、大規模で実世界の展開に適している。
  • 非微分可能または離散的層を持つモデルの学習を可能にし、MAC の適用範囲を勾配ベース手法を超えて拡張した。

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

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

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

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