combust/mleap

MLeap: Deploy ML Pipelines to Production

解決的問題

部署機器學習管道通常很困難,因為訓練時使用的環境(如 Apache Spark 或 Scikit-learn)過於龐大,且在生產環境中包含它們成本高昂。MLeap 提供了一種將這些管道導出為可移植格式的方法,無需原始訓練框架的相依性即可執行。

工作原理

MLeap 使用一種稱為 Bundle.ML 的序列化格式(支援 JSON 與 Protobuf)來儲存訓練完成的管道狀態。導出後,該管道可在輕量級的 MLeap Runtime 上執行,此執行時使用 Scala 實作並在 JVM 上運行。這消除了在評分/推論階段對 Spark、Scikit-learn、NumPy 或 Pandas 的需求。

適用對象

需要將 Spark 或 Scikit-learn 訓練的機器學習管道部署至對效能與低開銷有要求的生產環境中的資料科學家與工程師。

主要亮點

  • 框架無關執行:可在單一輕量級 JVM 執行時上執行 Spark 或 Scikit-learn 訓練的管道。
  • 可移植格式:支援 JSON 與 Protobuf 序列化以儲存管道套件。
  • 一致性測試:包含測試以確保 MLeap 管道的輸出與原始 Spark 管道一致。
  • 可擴充性:支援自訂轉換器與資料類型的實作。
  • 廣泛相容性:支援 Spark、Scala、Java、Python、XGBoost 與 TensorFlow 的廣泛版本。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案