Skip to main content
QUICK REVIEW

[論文レビュー] A Tensor Compiler for Unified Machine Learning Prediction Serving

Supun Nakandala, Karla Saur|arXiv (Cornell University)|Oct 9, 2020
Parallel Computing and Optimization Techniques参考文献 28被引用数 10
ひとこと要約

Hummingbird は、従来の機械学習モデルと特徴量抽出演算子を、CPU や GPU で効率的に実行可能な統合されたテンソル演算にコンパイルするテンソルコンパイラです。深層学習フレームワークを介して実行されるため、手で最適化されたカーネルと比較して競争力のある、あるいはそれを上回るパフォーマンスを達成するとともに、インfra構成の複雑さを軽減し、エンドツーエンドのハードウェア加速を可能にします。

ABSTRACT

Machine Learning (ML) adoption in the enterprise requires simpler and more efficient software infrastructure---the bespoke solutions typical in large web companies are simply untenable. Model scoring, the process of obtaining predictions from a trained model over new data, is a primary contributor to infrastructure complexity and cost as models are trained once but used many times. In this paper we propose HUMMINGBIRD, a novel approach to model scoring, which compiles featurization operators and traditional ML models (e.g., decision trees) into a small set of tensor operations. This approach inherently reduces infrastructure complexity and directly leverages existing investments in Neural Network compilers and runtimes to generate efficient computations for both CPU and hardware accelerators. Our performance results are intriguing: despite replacing imperative computations (e.g., tree traversals) with tensor computation abstractions, HUMMINGBIRD is competitive and often outperforms hand-crafted kernels on micro-benchmarks on both CPU and GPU, while enabling seamless end-to-end acceleration of ML pipelines. We have released HUMMINGBIRD as open source.

研究の動機と目的

  • 企業環境における従来の機械学習モデルのデプロイにおける増大する複雑さとコストに対処すること。
  • 複数のフレームワークやハードウェアターゲットをサポートする際の N×M の爆発的増加を回避するため、異なる特徴量抽出処理とモデル演算子を単一のテンソルベースの抽象化に統合すること。
  • 既存の DNN コンパイラとランタイムを活用することで、従来の ML のための効率的でポータブルかつ最適化された推論を可能にすること。
  • 高レベルのテンソル抽象化が、モデルスコアリングにおいて手で最適化された命令型実装を上回ることを示すこと。

提案手法

  • 決定木や線形モデルなどの従来の ML モデルと、トークン化や正規化などの特徴量抽出処理を、最小限のコアテンソル演算にコンパイルする。
  • 二段階の最適化パイプラインを採用:演算子の合成に基づく論理最適化の後、DNN ランタイムバックエンドによる物理最適化。
  • GEMM や TT を含む、木のアンサンブル用の新規推論戦略を採用し、モデルの特性に応じて最も効率的なものを選択する。
  • PyTorch や TVM などの既存の DNN フレームワークと、それらのハードウェア最適化バックエンド(CPU、GPU)を活用して、コンパイルされたモデルを実行する。
  • 推論ランタイムと統合し、自動的にハードウェアに最適なコード生成と最適化を可能にする。
  • 密度型とスパース型の両方のテンソル演算をサポートし、将来のスパース最適化(例:TACO を介して)に対応する拡張性を備える。

実験結果

リサーチクエスチョン

  • RQ1従来の機械学習モデルと特徴量抽出処理は、統合されたテンソル計算抽象化に効果的にコンパイル可能か?
  • RQ2このテンソルベースのコンパイルは、CPU および GPU における手で最適化された命令型カーネルと比較して、同等または優れたパフォーマンスを達成できるか?
  • RQ3DNN コンパイラとランタイムを活用することで、インfra構成の複雑さが軽減され、従来の ML におけるシームレスなハードウェア加速が可能になるか?
  • RQ4異なるモデルタイプ、入力サイズ、ハードウェアプラットフォームにおいて、コンパイルされたテンソルモデルのパフォーマンスはどのように比較されるか?

主な発見

  • CPU では、scikit-learn と比較して、最も速いパイプラインで 1200× の高速化を達成した一方、最も遅いパイプラインは入力が小さくまたはスパースなため、わずか 60× の遅延増加にとどまった。
  • CPU では、評価された 2,317 個のパイプラインのうち 60% が高速化を達成したが、スパarsity や計算負荷が低い影響で 27% が遅延増加を経験した。
  • GPU アクceleration を適用した場合、パイプラインの 73% が高速化を達成し、最も速いパイプラインでは scikit-learn に対して 1,000× のパフォーマンス向上を達成した。
  • 高レベルのテンソル抽象化を使用しているにもかかわらず、マイクロベンチマークにおいて手で書かれた C++ や CUDA カーネルを上回るパフォーマンスを示した。
  • このアプローチにより、CPU や GPU を含む多様なハードウェア上で、エンドツーエンドのパイプライン加速が可能となり、最小限の工学的オーバーヘッドで実現された。
  • このシステムは拡張可能であり、将来の DNN フレームワークの改善の恩恵を追加作業なしに享受できる。

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

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

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

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