Apache ML FLow

An open source platform for the machine learning lifecycle

MLflow is an open source platform to manage the ML lifecycle, including experimentation, reproducibility, deployment, and a central model registry. MLflow currently offers four components:

MLFlow Tracking

Record and query experiments: code, data, config, and results

MLflow Projects

Package data science code in a format to reproduce runs on any platform

MLflow Models

Deploy machine learning models in diverse serving environments

Model Registry

Store, annotate, discover, and manage models in a central repository

MLflow: an Open Machine Learning Platform

MLflow is inspired by existing ML platforms, but it is designed to be open in two senses:

  1. Open interface: MLflow is designed to work with any ML library, algorithm, deployment tool or language. It’s built around REST APIs and simple data formats (e.g., a model can be viewed as a lambda function) that can be used from a variety of tools, instead of only providing a small set of built-in functionality. This also makes it easy to add MLflow to your existing ML code so you can benefit from it immediately, and to share code using any ML library that others in your organization can run.
  2. Open source: We’re releasing MLflow as an open source project that users and library developers can extend. In addition, MLflow’s open format makes it very easy to share workflow steps and models across organizations if you wish to open source your code.

Mlflow is still currently in alpha, but we believe that it already offers a useful framework to work with ML code, and we would love to hear your feedback. In this post, we’ll introduce MLflow in detail and explain its components.

MLflow Tracking

MLflow Tracking is an API and UI for logging parameters, code versions, metrics and output files when running your machine learning code to later visualize them. With a few simple lines of code, you can track parameters, metrics, and artifacts:

import mlflow

# Log parameters (key-value pairs)

mlflow.log_param(“num_dimensions”, 8)

mlflow.log_param(“regularization”, 0.1)

# Log a metric; metrics can be updated throughout the run

mlflow.log_metric(“accuracy”, 0.1)…

mlflow.log_metric(“accuracy”, 0.45)

# Log artifacts (output files)

mlflow.log_artifact(“roc.png”)

mlflow.log_artifact(“model.pkl”)

Information Sources – https://mlflow.org
https://databricks.com/blog/2018/06/05/introducing-mlflow-an-open-source-machine-learning-platform.html