Skip to main content
QUICK REVIEW

[論文レビュー] Scaling Datalog for Machine Learning on Big Data

Yingyi Bu, Vinayak Borkar|arXiv (Cornell University)|Mar 1, 2012
Advanced Database Systems and Queries参考文献 27被引用数 51
ひとこと要約

本論文は、Pregel や反復的 Map-Reduce-Update といった反復的機械学習ワークロードを、最適化されスケーラブルな物理実行計画にコンパイルすることで、一貫した宣言的で Datalog ベースのフレームワークを提案する。実験の結果、Spark や Hadoop といった専用システムと同等のパフォーマンスを達成した一方で、チューニングのしやすさ、再利用性、大規模クラスタ上の機械学習タスク間の統合性が向上していることが示された。

ABSTRACT

In this paper, we present the case for a declarative foundation for data-intensive machine learning systems. Instead of creating a new system for each specific flavor of machine learning task, or hardcoding new optimizations, we argue for the use of recursive queries to program a variety of machine learning systems. By taking this approach, database query optimization techniques can be utilized to identify effective execution plans, and the resulting runtime plans can be executed on a single unified data-parallel query processing engine. As a proof of concept, we consider two programming models--Pregel and Iterative Map-Reduce-Update---from the machine learning domain, and show how they can be captured in Datalog, tuned for a specific task, and then compiled into an optimized physical plan. Experiments performed on a large computing cluster with real data demonstrate that this declarative approach can provide very good performance while offering both increased generality and programming ease.

研究の動機と目的

  • Hadoop などの伝統的なビッグデータプラットフォームでは、再帰や反復をネイティブにサポートしないため、反復的機械学習ワークロードの実装が非効率的で複雑であるという問題に対処すること。
  • Pregel や反復的 Map-Reduce-Update といった多様な機械学習プログラミングモデルを、一貫した宣言的言語で統合することで、重複を減らし保守性を向上させること。
  • 再帰的 Datalog クエリに対するデータベースクエリ最適化技術を活用し、大規模クラスタ上で効率的でデータ並列な実行計画を生成すること。
  • 論理的設計と物理的実行を分離することで、宣言的仕様によるタスク固有のチューニングを可能にすること。
  • 1つの統合されたランタイムエンジンが、多様な機械学習ワークロードを効率的に実行できることを示し、メモリ制限のある環境では専用システムを上回るパフォーマンスを発揮すること。

提案手法

  • Pregel や反復的 Map-Reduce-Update といった高レベルの機械学習プログラミングモデルを、反復的計算とデータフロー論理を表現できる再帰的 Datalog クエリにマッピングすること。
  • 大規模データをクラスタ上で処理できるように拡張された Datalog エンジン(オフラインコアおよび分散実行をサポート)を用いること。
  • 従来の RDBMS 最適化技術を再利用し、再帰と反復処理に特化した、Datalog プログラムから最適化された物理実行計画を生成するクエリ最適化器を適用すること。
  • Hyracks を基盤とするランタイムシステムを用いて、Datalog プログラムを効率的でデータ並列な実行計画にコンパイルし、柔軟なデータ再配分とメッセージ伝達を可能にすること。
  • プランナ/最適化スタックと統合することで、タスク固有のチューニングとリソース意識的な実行を可能にする。
  • Algebricks の代数とリライトルールフレームワークを拡張し、機械学習ワークロードのための汎用的かつ拡張可能なクエリ処理基盤を提供すること。

実験結果

リサーチクエスチョン

  • RQ1再帰的 Datalog クエリを用いて、Pregel や反復的 Map-Reduce-Update に含まれる広範な反復的機械学習アルゴリズムを宣言的に表現できるか?
  • RQ2従来のデータベースクエリ最適化技術を Datalog プログラムに適用することで、機械学習ワークロードに適した効率的でスケーラブルな実行計画を生成できる程度はどの程度か?
  • RQ3実世界の大規模機械学習タスクにおいて、Datalog ベースのシステムは Spark や Hadoop といった専用システムと比較してどの程度のパフォーマンスを示すか?
  • RQ41つの統合されたデータ並列ランタイムが、各モデルタイプに別々のシステムを必要とせずに、多様な機械学習ワークロードを効率的に実行できるか?
  • RQ5宣言的アプローチにより、命令型または一時的な反復フレームワークと比較して、特定の ML タスクにおけるチューニングやリソース割り当てが改善できるか?

主な発見

  • Datalog ベースのシステムは、大規模な実世界データセットにおいて、Spark や Hadoop と同等のパフォーマンスを達成し、統一的で宣言的なアプローチの実現可能性を示した。
  • 同じハードウェア環境下で、Spark は主記憶の制限により失敗したが、Datalog システムは正常に実行されたことから、より優れたメモリ効率性が示された。
  • 実行効率において、Hadoop よりも1桁の高速化が達成されたことから、クエリ最適化器による顕著な最適化の恩恵が得られたことが示された。
  • PageRank やバッチ勾配降下法の Datalog プログラムは短く、非常にチューニングしやすく、論理的仕様のみでタスク固有の最適化が可能であった。
  • ETL と機械学習ワークロードが1つのランタイムで統合され、パイプラインの複雑さとデータ転送のオーバーヘッドが削減された。
  • システムは、特定のデータ分布やリソース割り当てに最適化された物理計画を生成する能力を示し、多様なワークロードにわたる効率的な実行を可能にした。

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

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

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

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