Skip to main content
QUICK REVIEW

[論文レビュー] Extending Relational Query Processing with ML Inference

Konstantinos Karanasos, Matteo Interlandi|arXiv (Cornell University)|Nov 1, 2019
Advanced Database Systems and Queries参考文献 19被引用数 16
ひとこと要約

Ravenは、ONNXランタイムと統一された中間表現(IR)を介して、SQL Server内に機械学習推論を深く統合し、リレーショナル演算子とML演算子の間でクロス最適化を実現する。これにより、ネイティブ実行と高度なクエリ最適化を活用し、スタンドアロンの推論フレームワークと比較して最大24倍の性能向上を達成する。

ABSTRACT

The broadening adoption of machine learning in the enterprise is increasing the pressure for strict governance and cost-effective performance, in particular for the common and consequential steps of model storage and inference. The RDBMS provides a natural starting point, given its mature infrastructure for fast data access and processing, along with support for enterprise features (e.g., encryption, auditing, high-availability). To take advantage of all of the above, we need to address a key concern: Can in-RDBMS scoring of ML models match (outperform?) the performance of dedicated frameworks? We answer the above positively by building Raven, a system that leverages native integration of ML runtimes (i.e., ONNX Runtime) deep within SQL Server, and a unified intermediate representation (IR) to enable advanced cross-optimizations between ML and DB operators. In this optimization space, we discover the most exciting research opportunities that combine DB/Compiler/ML thinking. Our initial evaluation on real data demonstrates performance gains of up to 5.5x from the native integration of ML in SQL Server, and up to 24x from cross-optimizations--we will demonstrate Raven live during the conference talk.

研究の動機と目的

  • 企業用RDBMS環境における高パフォーマンスで安全かつ管理可能なML推論を実現する課題に対処すること。
  • データベース内ML推論が、専用MLフレームワークと比較して性能で同等または上回ることを検証すること。
  • MLスコアリングとモデルパイプラインのネイティブサポートを備えたリレーショナル代数およびクエリ最適化を拡張すること。
  • セキュリティ、監査、高可用性などのエンタープライズデータベース機能に完全統合された、標準SQLによるMLモデルのシームレスなデプロイと実行を可能にすること。
  • 統一実行フレームワーク内でのリレーショナル演算子(例:結合、集計)とML演算子(例:推論、特徴量抽出)の間で、新たなクロス最適化を検討すること。

提案手法

  • Ravenは、SQLクエリとPython MLパイプラインを、リレーショナル演算子とML演算子を含む統一された中間表現(IR)に静的解析で捕捉する。
  • システムは、IR内でML推論をスキャンおよび結合演算子にプッシュダウンするなど、新規のクロス演算子最適化を適用し、データ移動を最小限に抑えて効率を向上させる。
  • Ravenは、ONNXランタイムをSQL Serverにネイティブ統合し、低オーバーヘッドでプロセス内実行が可能なONNX互換モデルを実行可能にする。
  • 対応しないモデルパイプラインの場合は、外部言語ランタイム(例:Python/R)やDockerおよびRESTエンドポイントによるコンテナ化推論を介した外部プロセス実行にフォールバックする。
  • 最適化されたIRはSQL Server上でコンパイル・実行され、データ処理およびモデル処理の両方でネイティブ並列実行とクエリ実行エンジンを活用する。
  • 性能は、さまざまなデータサイズとモデルタイプを対象に、RavenとスタンドアロンのONNXランタイム、外部実行方法を比較して測定される。

実験結果

リサーチクエスチョン

  • RQ1RDBMS内でのMLモデルスコアリングは、専用ML推論フレームワークと同等またはそれ以上の性能を達成できるか?
  • RQ2リレーショナル演算子とML演算子の間のクロス最適化は、エンドツーエンドの推論遅延をどの程度削減できるか?
  • RQ3リレーショナルデータベースエンジンにML推論をネイティブに統合することで、どの程度のオーバーヘッドが生じるか?
  • RQ4クエリ最適化、キャッシュ、並列実行といったネイティブデータベース機能が、ML推論性能をどの程度向上できるか?
  • RQ5統一IRは、多様なMLフレームワークとデータ処理パイプラインの間で最適化をどのように可能にするか?

主な発見

  • RavenがSQL Server内にONNXランタイムをネイティブ統合することで、スタンドアロンのONNXランタイム実行と比較して最大5.5倍の高速化を達成した。
  • リレーショナル演算子とML演算子の間のクロス最適化により、最大24倍のパフォーマンス向上が得られ、特に大規模データ処理において顕著だった。
  • 小規模データセット(例:100タプル)では、SQL Server内のモデルおよびセッションキャッシュのおかげで、スタンドアロンのONNXランタイムと比較して最大10倍の高速化を達成した。
  • 大規模データセット(100万〜1000万タプル)では、SQL ServerがスキャンおよびPREDICT演算子の両方を自動並列化するため、ONNXランタイム(ORT)と比較して約5倍の高速化を達成した。
  • 外部プロセス実行(Raven Ext)のオーバーヘッドは、1回の呼び出しあたり約0.5秒であったが、対応しないパイプラインに対しても実用的であった。
  • Ravenにおけるバッチ推論は、1タプルごとの推論と比較して1桁のパフォーマンス向上を達成した。最適なバッチサイズは重要なチューニングパrameterであった。

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

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

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

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