Managed MLflow - Databricks

MLflow Model Registry is now available. Click to learn more.

Managed MLflow

Managing the complete Machine Learning Lifecycle

Managed MLflow is built on top of MLflow, an open source platform developed by Databricks to help manage the complete Machine Learning lifecycle with enterprise reliability, security, and scale.

Benefits

EXPERIMENT TRACKING

Run experiments with any ML library, framework, or language, and automatically keep track of parameters, metrics, code, and models from each experiment. With Managed MLflow on Databricks, you can track, share, visualize, and manage experiments securely from within the Databricks Workspace and notebooks.

MODEL MANAGEMENT

Use one central place to share ML models, collaborate on moving them from experimentation to online testing and production, integrate with approval and governance workflows, and monitor ML deployments and their performance.

FLEXIBLE DEPLOYMENT

Quickly deploy production models for batch inference on Apache SparkTM, or as REST APIs using built-in integration with Docker containers, Azure ML, or Amazon SageMaker. With Managed MLflow on Databricks, you can operationalize and monitor production models using Databricks Jobs Scheduler and auto-managed Clusters to scale as needed based on business needs.

Features

MLFLOW TRACKING

MLflow Tracking: Automatically log parameters, code versions, metrics, and artifacts for each run using Python, REST, R API, and Java API

MLflow Tracking Server: Get started quickly with a built-in tracking server to log all runs and experiments in one place. No configuration needed on Databricks.

Experiment Management: Create, secure, organize, search, and visualize experiments from within the Workspace with access control and search queries.

MLflow Run Sidebar: Automatically track runs from within notebooks and capture a snapshot of your notebook for each run, so that you can always go back to previous versions of your code.

Logging Data with Runs: Log parameters, data sets, metrics, artifacts and more as runs to local files, to a SQLAlchemy compatible database, or remotely to a tracking server.

Delta Lake Integration: Track large-scale data sets that fed your models with Delta Lake snapshots.

Artifact Store: Store large files such as S3 buckets, shared NFS file system, and models in Amazon S3, Azure Blob Storage, Google Cloud Storage, SFTP server, NFS, and local file paths.

MLFLOW PROJECTS

MLflow Projects: MLflow projects allow to specify the software environment that is used to execute your code. MLflow currently supports the following project environments: Conda environment, Docker container environment, and system environment. Any Git repo or local directory can be treated as an MLflow project.

Remote Execution Mode: Run MLflow Projects from Git or local sources remotely on Databricks clusters using the Databricks CLI to quickly scale your code.

MLFLOW MODEL REGISTRY

Central Repository: Register MLflow models with the MLflow Model Registry. A registered model has a unique name, version, stage, and other metadata.

Model Versioning: Automatically keep track of versions for registered models when updated.

Model Stage: Assigned preset or custom stages to each model version, like “Staging” and “Production” to represent the lifecycle of a model.

CI/CD Workflow Integration: Record stage transitions, request, review and approve changes as part of CI/CD pipelines for better control and governance.

Model Stage Transitions: Record new registration events or changes as activities that automatically log users, changes, and additional metadata such as comments.

MLFLOW MODELS

MLflow Models: A standard format for packaging machine learning models that can be used in a variety of downstream tools—for example, real-time serving through a REST API or batch inference on Apache Spark.

Model Customization: Use Custom Python Models and Custom Flavors for models from an ML library that is not explicitly supported by MLflow’s built-in flavors.

Built-In Model Flavors: MLflow provides several standard flavors that might be useful in your applications, like Python and R functions, H20, Keras, MLeap, PyTorch, Scikit-learn, Spark MLlib, TensorFlow, and ONNX.Built-In Deployment Tools: Quickly deploy on Databricks via Apache Spark UDF for, a local machine, or several other production environments such as Microsoft Azure ML, Amazon SageMaker, and building Docker Images for Deployment.

Comparing MLflow Offerings

Open Source
MLflow
Managed MLflow
on Databricks

Experiment Tracking

MLflow tracking API
MLflow tracking server Self-hosted Fully managed
Notebooks integration
Workspace integration

Reproducible Projects

MLflow Projects
Git & Conda integration
Scalable cloud/clusters for project runs

Model Management

MLflow Model Registry
Model Versioning
Stage Transitions and Comments
CI/CD Workflows Integration
Model Stage

Flexible Deployment

MLflow Models
Built-in batch inference
Built-in streaming analytics

Security & Management

High availability
Automated updates
Role-based access control

How It Works

MLflow is a lightweight set of APIs and user interfaces that can be used with any ML framework throughout the Machine Learning workflow. It includes four components:

  • MLflow Tracking: Record and query experiments: code, data, config, and results.
  • MLflow Projects: Packaging format for reproducible runs on any platform.
  • MLflow Models: General format for sending models to diverse deployment tools.
  • MLflow Model Registry: Centralized repository to collaboratively manage MLflow models throughout the full lifecycle.

Managed MLflow on Databricks is a fully managed version of MLflow providing practitioners with reproducibility and experiment management across Databricks Notebooks, Jobs, and data stores, with the reliability, security, and scalability of the Unified Data Analytics Platform.

Customer Stories

Watch their story

Brandless is an e-commerce company that manufactures and sells an assortment of products under its own Brandless label.

Resources