Skip to main content
QUICK REVIEW

[論文レビュー] Factorbird - a Parameter Server Approach to Distributed Matrix Factorization

Sebastian Schelter, Venu Satuluri|arXiv (Cornell University)|Nov 3, 2014
Stochastic Gradient Optimization Techniques参考文献 25被引用数 28
ひとこと要約

Factorbird は、ロックフリーな Hogwild! スタイルの SGD を用いたパラメータサーバー基盤の分散行列因子分解システムであり、380億個を超える非ゼロ要素を持つ巨大な行列にスケーリングすることを目的としている。データ行列とモデル行列を共同でパーティショニングすることで、競合とネットワークトラフィックを最小限に抑え、高いスループットを達成しており、229M × 195M の Twitter インタラクション行列上で 400億パラメータのモデルを効果的に学習した。これは、これまでに報告された中で最大の要因分解である。

ABSTRACT

We present Factorbird, a prototype of a parameter server approach for factorizing large matrices with Stochastic Gradient Descent-based algorithms. We designed Factorbird to meet the following desiderata: (a) scalability to tall and wide matrices with dozens of billions of non-zeros, (b) extensibility to different kinds of models and loss functions as long as they can be optimized using Stochastic Gradient Descent (SGD), and (c) adaptability to both batch and streaming scenarios. Factorbird uses a parameter server in order to scale to models that exceed the memory of an individual machine, and employs lock-free Hogwild!-style learning with a special partitioning scheme to drastically reduce conflicting updates. We also discuss other aspects of the design of our system such as how to efficiently grid search for hyperparameters at scale. We present experiments of Factorbird on a matrix built from a subset of Twitter's interaction graph, consisting of more than 38 billion non-zeros and about 200 million rows and columns, which is to the best of our knowledge the largest matrix on which factorization results have been reported in the literature.

研究の動機と目的

  • 単一マシンのメモリ容量を超える大規模な行列因子分解モデルを学習するためのスケーラブルで拡張可能なシステムの設計。
  • リアルタイム推薦システム向けにバッチ処理とストリーミング処理の両方をサポートする。
  • 分散 SGD における更新競合とネットワークトラフィックを、インテelligェントなデータおよびモデルパーティショニングによって最小限に抑える。
  • 1回の学習実行でスケーラブルなハイパーパramータサーチを可能にする。
  • 協調フィルタリングにおける、これまでに知られている最大の行列の因子分解の実現可能性を示すこと。非ゼロ要素は 380億個を超える。

提案手法

  • 複数のマシンにまたがってグローバルなモデルパラメータを格納・更新するパラメータサーバー・アーキテクチャを採用する。
  • 同期のオーバーヘッドがなく、同時に複数の更新が可能なロックフリーで非同期的な SGD(Hogwild! スタイル)を適用する。
  • 共同パーティショニング戦略を採用:1つの要因行列を学習マシンに分散して配置し、もう一方の行列を入力データと同一場所に配置することで、更新の局所化とネットワークトラフィックの削減を実現する。
  • グローバルバイアス、ユーザー固有バイアス、アイテム固有バイアスを含む重み付き損失関数を導入し、スパースで部分的に観測されたデータにおける予測精度を向上させる。
  • 高スループット(1秒間に 420万コマンド)のアクセスを可能にする memcached を共有パラメータストアとして活用し、低遅延なパラメータアクセスを実現する。
  • 1回の学習実行で複数の構成に対するグリッドサーチを実行できる仕組みにより、スケーラブルなハイパーパramータチューニングを可能にする。

実験結果

リサーチクエスチョン

  • RQ1パラメータサーバー・アーキテクチャは、数十億個の非ゼロ要素を持つ行列に、効率的にスケーリング可能か?
  • RQ2特に大規模かつスパースな環境下で、同期処理なしに、分散 SGD における更新競合をどのように最小化できるか?
  • RQ3モデルとデータ行列の共同パーティショニング戦略は、ネットワークトラフィックと更新競合を顕著に削減できるか?
  • RQ4複数回の独立した学習実行なしに、大規模なハイパーパramータサーチを効率的に行えるか?
  • RQ5実世界の推薦システムにおける行列因子分解の実用的上限スケールは何か?

主な発見

  • Factorbird は、非ゼロ要素が 385億個を超える 22900万 × 19500万の行列上で、400億パラメータのモデルを効果的に学習した。これは、これまでの文献で報告された中で最大の行列因子分解である。
  • 学習中、memcached に対して平均して 1秒間に 420万コマンドのアクセスが可能であり、1秒間に約 4億パラメータの更新が行われた。
  • 50台の学習マシン(各マシンに 16コアと 16GB RAM)を用いて、全訓練データセットを1回の SGD ステップで処理するのに約 2.5 時間を要した。
  • モデルは、ヨーロッパの政治家、ポップアーティスト、米国のスポーツ選手といったクラスタを効果的に捉えており、意味的な構造の有効な表現学習が行われたことが示された。
  • 共同パーティショニング戦略により、更新競合とネットワークトラフィックが顕著に削減され、高いスループットとスケーラビリティが実現された。
  • 1回の学習実行で大規模なハイパーパラメータサーチが可能であることが実証され、チューニングのオーバーヘッドが大幅に削減された。

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

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

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

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