combust/mleap
MLeap: Deploy ML Pipelines to Production
What it solves
Deploying machine learning pipelines is often difficult because the environments used for training (like Apache Spark or Scikit-learn) are heavy and expensive to include in a production environment. MLeap provides a way to export these pipelines into a portable format that can be executed without needing the original training framework's dependencies.
How it works
MLeap uses a serialization format called Bundle.ML (available in JSON and Protobuf) to save the state of a trained pipeline. Once exported, the pipeline can be run on the lightweight MLeap Runtime, which is implemented in Scala and runs on the JVM. This removes the need for Spark, Scikit-learn, NumPy, or Pandas during the scoring/inference phase.
Who it’s for
Data scientists and engineers who need to deploy ML pipelines trained in Spark or Scikit-learn to production environments where performance and low overhead are required.
Highlights
- Framework Agnostic Execution: Run pipelines trained in Spark or Scikit-learn on a single, lightweight JVM runtime.
- Portable Formats: Supports JSON and Protobuf serialization for pipeline bundles.
- Parity Testing: Includes tests to ensure the output of MLeap pipelines matches the original Spark pipelines.
- Extensible: Allows for the implementation of custom transformers and data types.
- Broad Compatibility: Supports a wide range of versions for Spark, Scala, Java, Python, XGBoost, and TensorFlow.
Related
- Project
- Project
- Project
- Project
- Project