Skip to main content
QUICK REVIEW

[論文レビュー] AC/DC: In-Database Learning Thunderstruck

Mahmoud Abo Khamis, Hung Q. Ngo|arXiv (Cornell University)|Mar 20, 2018
Machine Learning and Algorithms参考文献 18被引用数 10
ひとこと要約

AC/DC は、正規化されたデータベース上の要因分解集計を用いて最適化問題を分解することで、データベース統合型勾配降下ソルバとして、機械学習の高速化を実現する。スパースなグループ化集計、関数的依存関係に配慮した再パラメータ化、共有計算を活用することで、TensorFlow や libFM、MADlib といった競合ソリューションと比較して最大 300 倍の高速化を達成。1 コアで 154K 特徴量のモデルを 30 分未塔で学習可能である。

ABSTRACT

We report on the design and implementation of the AC/DC gradient descent solver for a class of optimization problems over normalized databases. AC/DC decomposes an optimization problem into a set of aggregates over the join of the database relations. It then uses the answers to these aggregates to iteratively improve the solution to the problem until it converges. The challenges faced by AC/DC are the large database size, the mixture of continuous and categorical features, and the large number of aggregates to compute. AC/DC addresses these challenges by employing a sparse data representation, factorized computation, problem reparameterization under functional dependencies, and a data structure that supports shared computation of aggregates. To train polynomial regression models and factorization machines of up to 154K features over the natural join of all relations from a real-world dataset of up to 86M tuples, AC/DC needs up to 30 minutes on one core of a commodity machine. This is up to three orders of magnitude faster than its competitors R, MadLib, libFM, and TensorFlow whenever they finish and thus do not exceed memory limitation, 24-hour timeout, or internal design limitations.

研究の動機と目的

  • カテゴリカル特徴量の one-hot 編碼に依存する従来のデータベース内機械学習システムにおける性能ボトルネックを解消すること。
  • 正規化されたデータベース関係上で、多項式回帰や因子分解機械学習などの非線形モデルを効率的に学習可能にするための手法を提供すること。
  • 関数的依存関係と要因分解クエリ処理を活用することで、大規模最適化における計算複雑度を低減すること。
  • データベースクエリ実行と勾配降下最適化を統合し、単一で低複雑度の実行計画に統一すること。
  • 数百万のタプルと数万の特徴量を含むデータセットにスケーリングする際、既存システムのメモリ制限やタイムアウト制限を克服すること。

提案手法

  • AC/DC は最適化問題を、カテゴリカル特徴量のためのグループ化集計と連続的特徴量のためのスカラ集計に分解し、データベース関係の自然結合上ですべての集計を計算する。
  • one-hot 編碼のメモリおよび計算オーバーヘッドを回避するため、グループ化集計を用いたスパースデータ表現を採用する。
  • 高度なクエリ最適化技術を用いて、特徴量の組み合わせごとの集計計算を要因分解し、完全結合計算と比較して漸近的に低い複雑度を達成する。
  • 共有結合計画上の効率的集計を可能にする特殊なデータ構造を用いて中間結果を再利用することで、複数の集計クエリ間で計算を共有する。
  • 関数的依存関係に基づくモデルの再パラメータ化により特徴空間の次元数を低減し、複雑な正則化項を単位行列の和とドット積の和に変換する。
  • 収束ステップでは Eigen ライブラリを統合し、データベース実行フレームワーク内での効率的な行列逆算と勾配更新を実現する。

実験結果

リサーチクエスチョン

  • RQ1one-hot 編碼を回避し、代わりにスパースなグループ化集計を用いることで、データベース内機械学習の性能を著しく向上させられるか?
  • RQ2要因分解された集計計算は、完全結合実行と比較して、データベース最適化の漸近的複雑度をどの程度低減できるか?
  • RQ3関数的依存関係に基づくモデル再パラメータ化は、データベース環境下での勾配降下の性能とスケーラビリティにどのような影響を与えるか?
  • RQ4複数の集計クエリ間で計算を共有することで、大規模学習ワークロードにおいて桁違いの性能向上を達成できるか?
  • RQ5実世界の大規模な高基数データセットにおいて、AC/DC は TensorFlow や libFM、MADlib といった最先端システムと比較して、速度、メモリ使用量、スケーラビリティの観点でどの程度優れているか?

主な発見

  • AC/DC は 8600 万件のタプルと 154,595 個の特徴量を持つリッジ線形回帰モデルを、1 コアで 30 分未満で学習し、すべての競合を上回った。
  • 同じデータセットにおいて、AC/DC は libFM に対して 152.70× の高速化、MADlib に対して 3.87× の高速化を達成した。MADlib は大規模な断片でメモリ制限により失敗したが、AC/DC は問題なく処理を完了した。
  • スパースなグループ化表現のおかげで、one-hot 編碼と比較して非ゼロ集計数を 259 倍削減(約 119 億から 4600 万に)した。
  • 関数的依存関係の活用により、グループ化集計数を 20% 減少させ、因子分解機械学習では最大 3.87× の性能向上を達成したが、収束ステップの複雑度は増加した。
  • AC/DC の集計計算ステップが合計実行時間の最大 99% を占め、カテゴリカル特徴量の増加に対して非線形スケーリングを示した。多項式回帰では、特徴量が 65 倍に増加しても、実行時間は 13.7 倍の遅延にとどまった。
  • TensorFlow は on-the-fly one-hot 編碼によりカテゴリカル特徴量の増加に対しても安定した性能を示したが、AC/DC はそれでも桁違いの高速性を維持しており、1 エポック分の計算でも顕著な差が見られた。

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

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

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

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