Why an ML Platform?
- It’s difficult to keep track of experiments.
- It’s difficult to reproduce code.
- There’s no standard way to package and deploy models.
MLflow is a platform to streamline machine learning development, including tracking experiments, packaging code into reproducible runs, and sharing and deploying models by using a set of lightweight APIs.
Features
- MLflow can be used with any existing machine learning application or library (TensorFlow, PyTorch, XGBoost, etc).
- It can used in any environment you currently run ML code (e.g. in notebooks, standalone applications or the cloud).
Current Components
MLflow Tracking
An API to log parameters, code, and results in machine learning experiments and compare them using an interactive UI.
MLflow Projects
A code packaging format for reproducible runs using Conda and Docker, so you can share your ML code with others.
MLflow Models
A model packaging format and tools that let you easily deploy the same model (from any ML library) to batch and real-time scoring on platforms such as Docker, Apache Spark, Azure ML and AWS SageMaker.