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 的广泛版本。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目