combust/mleap

MLeap: Deploy ML Pipelines to Production

何を解決するか

機械学習パイプラインのデプロイは、通常、時間と労力を要し、困難です。なぜなら、Apache SparkやScikit-learnなどのフレームワークでトレーニングされたパイプラインは、本番環境で実行するために、その完全で重い依存関係(例:SparkContextやpandas)が必要になるからです。MLeapは、これらのパイプラインをポータブルで軽量な形式にエクスポートする方法を提供し、元のトレーニング時依存関係なしに実行可能にします。

どうやって動くか

MLeapは、Bundle.MLと呼ばれるシリアル化形式と、Scalaで実装された高性能な実行エンジンを導入しています。データサイエンティストは、SparkまたはScikit-learnでパイプラインをトレーニングし、一度だけMLeapのシリアル化ツールを使ってエクスポートすることで、JVM上で軽量なMLeap Runtimeで実行できます。これにより、スコアリングフェーズでの元のトレーニングフレームワークへの依存が排除されます。

誰向けか

SparkやScikit-learnでトレーニングした機械学習パイプラインを、軽量で高性能な実行エンジンが必要な本番環境にデプロイする必要があるデータサイエンティストやエンジニア。

特徴

  • フレームワーク非依存の実行: Spark、sklearn、numpy、pandasを必要とせずに、JVM上でSparkまたはScikit-learnでトレーニングされたパイプラインを実行可能。
  • ポータブルフォーマット: シリアル化にJSONとProtobufをサポート。
  • 同一性テスト: SparkとMLeapのパイプライン間の整合性を保証する完全な同一性テストを含む。
  • 拡張可能: カスタムトランスフォーマーやデータ型の実装を可能にする。
  • 広範な互換性: Spark、Scala、Java、Pythonのさまざまなバージョンをサポートし、XGBoostやTensorFlowとの統合も可能。

MLeapは、機械学習パイプラインの本番デプロイにおける主要な課題を解決する強力なツールです。— @mleap

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト