CINXE.COM
ML lifecycle management using MLflow | Databricks on AWS
<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en-US" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]--> <head> <!-- cookie consent --> <!-- Combined Onetrust and Rudderstack Implementation Scripts --> <!-- OneTrust Cookies Consent Notice start for databricks.com --> <script type="text/javascript" src="https://www.databricks.com/sites/default/files/onetrust/DB_OtAutoBlock.js?v=1" ></script> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="92466579-1717-44d3-809d-a05fb02843ed" ></script> <script type="text/javascript" src="https://www.databricks.com/wp-content/plugins/databricks/js/onetrust.js?ver=1.0.0" id="db-onetrust-script" ></script> <link rel="stylesheet" id="db-onetrust-style" href="https://www.databricks.com/wp-content/uploads/db_onetrust.css" media="all" /> <!-- OneTrust Cookies Consent Notice end for databricks.com --> <!-- Setting Rudderstack Write Key --> <script> window.rudderstackKey = "2SOR9fvSr5Fi6tN2ihPbVHnX1SZ"; </script> <!-- Rudderstack Initialization + Onetrust Integration + Rudderstack Custom Events --> <script type="text/javascript" src="https://www.databricks.com/sites/default/files/rudderstack/v1/db-rudderstack-events.js" ></script> <!-- cookie consent --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=9" /> <meta content="Learn about how Databricks uses MLflow to manage the end-to-end machine learning lifecycle." name="description" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> <meta property="og:image" content="https://www.databricks.com/wp-content/uploads/2020/04/og-databricks.png"> <meta property="og:image:type" content="image/png"> <meta property="og:title" content="ML lifecycle management using MLflow"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:type" content="website"> <meta property="og:url" content="https://docs.databricks.com"> <meta property="og:description" content="" id="og-description"> <meta name="twitter:image" content="https://www.databricks.com/wp-content/uploads/2020/04/og-databricks.png"> <meta name="twitter:site" content="@databricks"> <meta name="twitter:creator" content="@databricks"> <meta property="twitter:description" content=""> <title>ML lifecycle management using MLflow | Databricks on AWS</title> <link rel="canonical" href="https://docs.databricks.com/en/mlflow/index.html"> <!-- Start hreflang tag --> <link rel="alternate" hreflang="en" href="https://docs.databricks.com/en/mlflow/index.html" /> <link rel="alternate" hreflang="pt" href="https://docs.databricks.com/pt/mlflow/index.html" /> <link rel="alternate" hreflang="ja" href="https://docs.databricks.com/ja/mlflow/index.html" /> <link rel="alternate" hreflang="x-default" href="https://docs.databricks.com/en/mlflow/index.html" /> <!-- End hreflang tag --> <link rel="shortcut icon" href="../_static/favicon.ico" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl; j.setAttributeNode(d.createAttribute('data-ot-ignore')); f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T85FQ33');</script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl; j.setAttributeNode(d.createAttribute('data-ot-ignore')); f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TWTKQQ');</script> <!-- End Google Tag Manager --> <!-- go/brand fonts --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <!-- DM Mono: 400, italics, DM Sans: 400, 700, italics, no optical size--> <link href="https://fonts.googleapis.com/css2?family=DM+Mono:ital@0;1&family=DM+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet"> <!-- go/brand fonts --> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=c44120be" /> <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=21342a0b" /> <link rel="stylesheet" type="text/css" href="../_static/css/dropdown.css?v=46590757" /> <link rel="stylesheet" type="text/css" href="../_static/css/searchunify/main.css?v=96405b38" /> <script type="text/javascript"> // Set the static root for the theme window.STATIC_ROOT = `../_static`; var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '1.0', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: 'false' }; </script> <!--theme scripts--> <script defer data-ot-ignore type="text/javascript" src="../_static/jquery.js?v=5be48651"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/underscore.js?v=ff3b9a9a"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/doctools.js?v=695de88e"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/language_data.js?v=a1340169"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/vendor/jquery.waypoints.min.js?v=aa86c767"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/localized.js?v=e71e2bb8"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/clipboard.js?v=ba7e99af"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/theme-nav.js?v=3af59ba7"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/code-language-tabs.js?v=cb6ea2f5"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/embedded-notebook.js?v=45f58fb2"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/right-nav.js?v=301278ed"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/custom.js?v=db7f62de"></script> <script defer data-ot-ignore type="text/javascript" src="../_static/js/searchunify/search-loader.js?v=05d3e7ac"></script> <script type="text/javascript"> // Replace this with sphinxext-opengraph window.onload = function () { var description = document .querySelector('meta[name="description"]') .getAttribute("content"); let titleText = document.querySelector("h1").textContent; document .querySelector('meta[property="og:title"]') .setAttribute("content", titleText); document .querySelector('meta[property="og:description"]') .setAttribute("content", description); document .querySelector('meta[property="twitter:description"]') .setAttribute("content", description); }; </script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="top" title="Databricks on AWS" href="../index.html" /> <link rel="up" title="AI and machine learning on Databricks" href="../machine-learning/index.html" /> <link rel="next" title="MLOps workflows on Databricks" href="../machine-learning/mlops/mlops-workflow.html" /> <link rel="prev" title="RAG (Retrieval Augmented Generation) on Databricks" href="../generative-ai/retrieval-augmented-generation.html" /> </head> <body class="wy-body-for-nav" role="document"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T85FQ33" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TWTKQQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <nav class="wy-nav-top header su_header" role="navigation" aria-label="top navigation"> <nav class="wy-nav-top header su_header" role="navigation" aria-label="top navigation"> <div class="container-logo"> <ul class="mobile-menu-toggle"> <li class="menu-toggle"> <i data-toggle="wy-nav-top" class="wy-nav-top-menu-button db-icon db-icon-menu pull-left"></i> <a href="https://www.databricks.com/" class="wy-nav-top-logo"><img src="../_static/small-scale-lockup-full-color-rgb.svg" width="137" height="21" alt="Databricks" /></a> </li> </ul> <ul class="su_nav-menu"> <li class="menu-toggle"> <i data-toggle="wy-nav-top" class="wy-nav-top-menu-button db-icon db-icon-menu pull-left"></i> <a href="https://www.databricks.com/" class="wy-nav-top-logo"><img src="../_static/small-scale-lockup-full-color-rgb.svg" width="137" height="21" alt="Databricks" /></a></li> <li><a href="https://help.databricks.com/s/">Help Center</a></li> <li class="active"> <a href="https://docs.databricks.com/en/index.html" >Documentation</a > </li> <li><a href="https://kb.databricks.com/">Knowledge Base</a></li> </ul> </div> <div class="su_nav-right"> <ul class="su_link-mobile"> <!-- Mobile header code can go here --> </ul> <ul class="right-try-list"> <li><a href="https://community.databricks.com">Community</a></li> <li><a href="https://help.databricks.com">Support</a></li> <li><a href="mailto:doc-feedback@databricks.com?subject=Documentation Feedback">Feedback</a></li> <li class="try-databrick-item"><a href="https://signup.databricks.com/?dbx_source=docs">Try Databricks</a></li> </ul> </div> </nav> </nav> <div class="su_sub-header"> <div class="top-bar__container"> <div class="su_sub-header-inner top-bar"> <div class="su_subnav-menu-right"> <div id="auto" style="width: 100%;"> <div ng-controller="SearchautoController"> <div bind-html-compile="autocompleteHtml"> <form class="su__search-box-1" disabled="disabled"> <input class="su__search-input" type="search" name="Search box" id="su__search-b" placeholder="Search Documentation" disabled="disabled"/> <button class="su__search-button" type="submit" class="button button-success" disabled="disabled"> <svg width="24" height="24" viewBox="0 0 24 24"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" fill="#333"></path> </svg> </button> </form> </div> </div> </div> </div> <div class="top-bar__selectors"> <div class="translation-selector dropdown" translate="no"> <a href="javascript:void(0)" aria-haspopup="true"><img src="../_static/icons/globe.png" /><span class="translation-selector__current">English</span></a> <ul aria-label="submenu"> <li> <a href="../../en/mlflow/index.html" hreflang="en">English</a> </li> <li> <a href="../../ja/mlflow/index.html" hreflang="ja">日本語</a> </li> <li> <a href="../../pt/mlflow/index.html" hreflang="pt">Português</a> </li> </ul> </li> </div> <div class="cloud-selector dropdown" translate="no"> <a href="javascript:void(0)" aria-haspopup="true"><img src="../_static/icons/aws.svg" />Amazon Web Services</a> <ul aria-label="submenu"> <li> <a href='https://learn.microsoft.com/azure/databricks/mlflow/'><img src="../_static/icons/azure.svg" />Microsoft Azure</a> </li> <li> <a href="https://docs.gcp.databricks.com/mlflow/index.html"><img src="../_static/icons/gcp.svg" />Google Cloud Platform</a> </li> </ul> </li> </div> <script data-ot-ignore> const lang = ["en", "ja", "pt"]; const currentLanguage = window.location.pathname.split("/")[1]; const langIndex = lang.indexOf(currentLanguage); if (langIndex !== -1) { // Fixup cloud selector const languageSelector = document.querySelector(".translation-selector__current"); const languageLink = document.querySelector(`.translation-selector > ul a[hreflang="${currentLanguage}"]`); if (languageSelector && languageLink) { languageSelector.textContent = languageLink.textContent; languageLink.parentElement.parentElement.removeChild(languageLink.parentElement); } // Fixup links in cloud selector Array.from(document.querySelectorAll(`.cloud-selector > ul a`)).forEach(link => { link.pathname = `/${currentLanguage}${link.pathname}`; }); } </script> <script type="text/plain" class="optanon-category-C0003"> if (langIndex !== -1) { document.cookie = `lang=${currentLanguage}; expires=Fri, 31 Dec 9999 23:59:59 GMT;";` } </script> </div> </div> </div> </div> <page class="js-page-container"> <nav data-toggle="wy-nav-shift" class="wy-nav-side su_nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search"> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <a href="../index.html" class="main-navigation-home">Databricks on AWS</a> <p class="caption"><span class="caption-text">Get started</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../getting-started/index.html">Get started</a></li> <li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">What is Databricks?</a></li> <li class="toctree-l1"><a class="reference internal" href="../databricksiq/index.html">DatabricksIQ</a></li> <li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">Release notes</a></li> </ul> <p class="caption"><span class="caption-text">Load & manage data</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../database-objects/index.html">Work with database objects</a></li> <li class="toctree-l1"><a class="reference internal" href="../connect/index.html">Connect to data sources</a></li> <li class="toctree-l1"><a class="reference internal" href="../compute/index.html">Connect to compute</a></li> <li class="toctree-l1"><a class="reference internal" href="../discover/index.html">Discover data</a></li> <li class="toctree-l1"><a class="reference internal" href="../query/index.html">Query data</a></li> <li class="toctree-l1"><a class="reference internal" href="../ingestion/index.html">Ingest data</a></li> <li class="toctree-l1"><a class="reference internal" href="../files/index.html">Work with files</a></li> <li class="toctree-l1"><a class="reference internal" href="../transform/index.html">Transform data</a></li> <li class="toctree-l1"><a class="reference internal" href="../jobs/index.html">Schedule and orchestrate workflows</a></li> <li class="toctree-l1"><a class="reference internal" href="../lakehouse-monitoring/index.html">Monitor data and AI assets</a></li> <li class="toctree-l1"><a class="reference internal" href="../data-sharing/index.html">Share data securely</a></li> </ul> <p class="caption"><span class="caption-text">Work with data</span></p> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../data-engineering.html">Data engineering</a></li> <li class="toctree-l1 current"><a class="reference internal" href="../machine-learning/index.html">AI and machine learning</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/ml-tutorials.html">Tutorials</a></li> <li class="toctree-l2"><a class="reference internal" href="../large-language-models/ai-playground.html">AI playground</a></li> <li class="toctree-l2"><a class="reference internal" href="../large-language-models/ai-functions.html">AI functions in SQL</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/serve-models.html">Serve models</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/train-model/index.html">Train models</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/serve-data-ai.html">Serve data for AI</a></li> <li class="toctree-l2"><a class="reference internal" href="../generative-ai/agent-evaluation/index.html">Evaluate AI</a></li> <li class="toctree-l2"><a class="reference internal" href="../generative-ai/agent-framework/build-genai-apps.html">Build gen AI apps</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">MLOps and MLflow</a><ul> <li class="toctree-l3"><a class="reference internal" href="../machine-learning/mlops/mlops-workflow.html">MLOps workflows on Databricks</a></li> <li class="toctree-l3"><a class="reference internal" href="quick-start-python.html">Get started with MLflow experiments</a></li> <li class="toctree-l3"><a class="reference internal" href="../machine-learning/track-model-development/index.html">MLflow experiment tracking</a></li> <li class="toctree-l3"><a class="reference internal" href="models.html">Log, load, register, and deploy MLflow models</a></li> <li class="toctree-l3"><a class="reference internal" href="../machine-learning/manage-model-lifecycle/index.html">Manage model lifecycle</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/foundation-models/retired-models-policy.html">Gen AI model maintenance policy</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/integrations.html">Integrations</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/graph-analysis.html">Graph and network analysis</a></li> <li class="toctree-l2"><a class="reference internal" href="../machine-learning/reference-solutions/index.html">Reference solutions</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../generative-ai/tutorials/ai-cookbook/index.html">Generative AI tutorial</a></li> <li class="toctree-l1"><a class="reference internal" href="../ai-bi/index.html">Business intelligence</a></li> <li class="toctree-l1"><a class="reference internal" href="../sql/index.html">Data warehousing</a></li> <li class="toctree-l1"><a class="reference internal" href="../notebooks/index.html">Notebooks</a></li> <li class="toctree-l1"><a class="reference internal" href="../delta/index.html">Delta Lake</a></li> <li class="toctree-l1"><a class="reference internal" href="../languages/index.html">Developers</a></li> <li class="toctree-l1"><a class="reference internal" href="../integrations/index.html">Technology partners</a></li> </ul> <p class="caption"><span class="caption-text">Administration</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../admin/index.html">Account and workspace administration</a></li> <li class="toctree-l1"><a class="reference internal" href="../security/index.html">Security and compliance</a></li> <li class="toctree-l1"><a class="reference internal" href="../data-governance/index.html">Data governance (Unity Catalog)</a></li> <li class="toctree-l1"><a class="reference internal" href="../lakehouse-architecture/index.html">Lakehouse architecture</a></li> </ul> <p class="caption"><span class="caption-text">Reference & resources</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../reference/api.html">Reference</a></li> <li class="toctree-l1"><a class="reference internal" href="../resources/index.html">Resources</a></li> <li class="toctree-l1"><a class="reference internal" href="../whats-coming.html">What’s coming?</a></li> <li class="toctree-l1"><a class="reference internal" href="../archive/index.html">Documentation archive</a></li> </ul> </div> <div role="contentinfo"> <p class="build_info notranslate"data-last-edit="November 25, 2024"> Updated Nov 27, 2024 </p> <script> window.addEventListener('DOMContentLoaded',function(){ var h1=document.querySelector('h1'); var bi=document.querySelector('[data-last-edit]'); if(h1 && bi){ var ver = document.createElement('p'); ver.className = 'version_info'; ver.textContent = bi.getAttribute('data-last-edit'); h1.parentElement.insertBefore(ver, h1.nextElementSibling); } }); </script> <p> <a id='feedbacklink' href="mailto:doc-feedback@databricks.com?subject=Documentation Feedback">Send us feedback</a> </p> </div> </div> </nav> <main class="wy-grid-for-nav su_nav-grid"> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <div class="wy-nav-content su__nav_content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation" class="wy-breadcrumbs-wrapper"> <ul class="wy-breadcrumbs"> <li><a href="../index.html">Documentation</a> <span class="db-icon db-icon-chevron-right"></span></li> <li><a href="../machine-learning/index.html">AI and machine learning on Databricks</a> <span class="db-icon db-icon-chevron-right"></span></li> <li>ML lifecycle management using MLflow</li> <li class="wy-breadcrumbs-aside"> </li> </ul> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="ml-lifecycle-management-using-mlflow"> <h1>ML lifecycle management using MLflow<a class="headerlink" href="#ml-lifecycle-management-using-mlflow" title="Permalink to this headline"> </a></h1> <p>This article describes how MLflow is used in Databricks for machine learning lifecycle management. It also includes examples that introduce each MLflow component and links to content that describe how these components are hosted within Databricks.</p> <p>ML lifecycle management in Databricks is provided by managed <a class="reference external" href="https://www.mlflow.org/">MLflow</a>. Databricks provides a fully managed and hosted version of MLflow integrated with enterprise security features, high availability, and other Databricks workspace features such as experiment and run management and notebook revision capture.</p> <p>First-time users should begin with <a class="reference internal" href="quick-start-python.html"><span class="doc">Get started with MLflow experiments</span></a>, which demonstrates the basic MLflow tracking APIs.</p> <div class="section" id="what-is-mlflow"> <h2>What is MLflow?<a class="headerlink" href="#what-is-mlflow" title="Permalink to this headline"> </a></h2> <p>MLflow is an open source platform for managing the end-to-end machine learning lifecycle. It has the following primary components:</p> <ul class="simple"> <li><p>Tracking: Allows you to track experiments to record and compare parameters and results.</p></li> <li><p>Models: Allow you to manage and deploy models from a variety of ML libraries to a variety of model serving and inference platforms.</p></li> <li><p>Projects: Allow you to package ML code in a reusable, reproducible form to share with other data scientists or transfer to production.</p></li> <li><p>Model Registry: Allows you to centralize a model store for managing models’ full lifecycle stage transitions: from staging to production, with capabilities for versioning and annotating. Databricks provides a managed version of the Model Registry in Unity Catalog.</p></li> <li><p>Model Serving: Allows you to host MLflow models as REST endpoints. Databricks provides a unified interface to deploy, govern, and query your served AI models.</p></li> </ul> <p>MLflow supports <a class="reference external" href="https://www.mlflow.org/docs/latest/java_api/index.html">Java</a>, <a class="reference external" href="https://www.mlflow.org/docs/latest/python_api/index.html">Python</a>, <a class="reference external" href="https://www.mlflow.org/docs/latest/R-api.html">R</a>, and <a class="reference external" href="https://docs.databricks.com/api/workspace/experiments">REST</a> APIs.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>If you’re just getting started with Databricks, consider using MLflow on <a class="reference internal" href="../getting-started/community-edition.html"><span class="doc">Databricks Community Edition</span></a>, which provides a simple managed MLflow experience for lightweight experimentation. Remote execution of MLflow projects is not supported on Databricks Community Edition. We plan to impose moderate limits on the number of experiments and runs. For the initial launch of MLflow on Databricks Community Edition no limits are imposed.</p> </div> </div> <div class="section" id="mlflow-tracking"> <h2>MLflow tracking<a class="headerlink" href="#mlflow-tracking" title="Permalink to this headline"> </a></h2> <p>MLflow on Databricks offers an integrated experience for tracking and securing training runs for machine learning and deep learning models.</p> <ul class="simple"> <li><p><a class="reference internal" href="../machine-learning/track-model-development/index.html"><span class="doc">Track model development using MLflow</span></a></p></li> <li><p><a class="reference internal" href="databricks-autologging.html"><span class="doc">Databricks Autologging</span></a></p></li> </ul> </div> <div class="section" id="model-lifecycle-management"> <h2>Model lifecycle management<a class="headerlink" href="#model-lifecycle-management" title="Permalink to this headline"> </a></h2> <p><a class="reference external" href="https://www.mlflow.org/docs/latest/model-registry.html">MLflow Model Registry</a> is a centralized model repository and a UI and set of APIs that enable you to manage the full lifecycle of MLflow Models. Databricks provides a hosted version of the MLflow Model Registry in Unity Catalog. Unity Catalog provides centralized model governance, cross-workspace access, lineage, and deployment. For details about managing the model lifecycle in Unity Catalog, see <a class="reference internal" href="../machine-learning/manage-model-lifecycle/index.html"><span class="doc">Manage model lifecycle in Unity Catalog</span></a>.</p> <p>If your workspace is not enabled for Unity Catalog, you can use the <a class="reference internal" href="../machine-learning/manage-model-lifecycle/workspace-model-registry.html"><span class="doc">Workspace Model Registry</span></a>.</p> <div class="section" id="model-registry-concepts"> <h3>Model Registry concepts<a class="headerlink" href="#model-registry-concepts" title="Permalink to this headline"> </a></h3> <ul class="simple"> <li><p><strong>Model</strong>: An MLflow Model logged from an experiment or run that is logged with one of the model flavor’s <code class="docutils literal notranslate"><span class="pre">mlflow.<model-flavor>.log_model</span></code> methods. After a model is logged, you can register it with the Model Registry.</p></li> <li><p><strong>Registered model</strong>: An MLflow Model that has been registered with the Model Registry. The registered model has a unique name, versions, model lineage, and other metadata.</p></li> <li><p><strong>Model version</strong>: A version of a registered model. When a new model is added to the Model Registry, it is added as Version 1. Each model registered to the same model name increments the version number.</p></li> <li><p><strong>Model alias</strong>: An alias is a mutable, named reference to a particular version of a registered model. Typical uses of aliases are to specify which model versions are deployed in a given environment in your model training workflows or to write inference workloads that target a specific alias. For example, you could assign the “Champion” alias of your “Fraud Detection” registered model to the model version that should serve the majority of production traffic, and then write inference workloads that target that alias (that is, make predictions using the “Champion” version).</p></li> <li><p><strong>Model stage</strong> (workspace model registry only): A model version can be assigned one or more stages. MLflow provides predefined stages for the common use cases: <strong>None</strong>, <strong>Staging</strong>, <strong>Production</strong>, and <strong>Archived</strong>. With the appropriate permission you can transition a model version between stages or you can request a model stage transition. Model version stages are not used in Unity Catalog.</p></li> <li><p><strong>Description</strong>: You can annotate a model’s intent, including a description and any relevant information useful for the team such as algorithm description, dataset employed, or methodology.</p></li> </ul> </div> <div class="section" id="example-notebooks"> <h3>Example notebooks<a class="headerlink" href="#example-notebooks" title="Permalink to this headline"> </a></h3> <p>For an example that illustrates how to use the Model Registry to build a machine learning application that forecasts the daily power output of a wind farm, see the following:</p> <ul class="simple"> <li><p><a class="reference internal" href="models-in-uc-example.html"><span class="doc">Models in Unity Catalog example</span></a></p></li> <li><p><a class="reference internal" href="workspace-model-registry-example.html"><span class="doc">Workspace Model Registry example</span></a></p></li> </ul> </div> </div> <div class="section" id="model-deployment"> <h2>Model deployment<a class="headerlink" href="#model-deployment" title="Permalink to this headline"> </a></h2> <p><a class="reference internal" href="../machine-learning/model-serving/index.html"><span class="doc">Mosaic AI Model Serving</span></a> provides a unified interface to deploy, govern, and query AI models. Each model you serve is available as a REST API that you can integrate into your web or client application.</p> <p>Model serving supports serving:</p> <ul class="simple"> <li><p><a class="reference internal" href="../machine-learning/model-serving/custom-models.html"><span class="doc">Custom models</span></a>. These are Python models packaged in the MLflow format. They can be registered either in Unity Catalog or in the workspace model registry. Examples include scikit-learn, XGBoost, PyTorch, and Hugging Face transformer models.</p></li> <li><p>State-of-the-art open models made available by <a class="reference internal" href="../machine-learning/foundation-models/index.html"><span class="doc">Foundation Model APIs</span></a>. These models are curated foundation model architectures that support optimized inference. Base models, like Meta-Llama-3.1-70B-Instruct, BGE-Large, and Mistral-7B are available for immediate use with <strong>pay-per-token</strong> pricing, and workloads that require performance guarantees and fine-tuned model variants can be deployed with <strong>provisioned throughput</strong>.</p></li> <li><p><a class="reference internal" href="../generative-ai/external-models/index.html"><span class="doc">External models</span></a>. These are models that are hosted outside of Databricks. Examples include generative AI models like, OpenAI’s GPT-4, Anthropic’s Claude, and others. Endpoints that serve external models can be centrally governed and customers can establish rate limits and access controls for them.</p></li> </ul> <p>You also can deploy MLflow models for offline inference, see <a class="reference internal" href="../machine-learning/model-inference/index.html"><span class="doc">Deploy models for batch inference</span></a>.</p> <div class="toctree-wrapper compound"> </div> </div> </div> </div> </div> <div class="suapp-rating"> <div id="suPageRateApp"> <su-app></su-app> </div> </div> <hr> <footer> <div role="contentinfo"> <p class="copyright"> © Databricks 2024. All rights reserved. Apache, Apache Spark, Spark, and the Spark logo are trademarks of the <a href="http://www.apache.org/">Apache Software Foundation</a>. </p> <p> <a id='feedbacklink' href="mailto:doc-feedback@databricks.com?subject=Documentation Feedback">Send us feedback</a> | <a href="https://www.databricks.com/legal/privacynotice">Privacy Notice</a> | <a href="https://www.databricks.com/terms-of-use">Terms of Use</a> | <a href="https://www.databricks.com/legal/modern-slavery-policy-statement">Modern Slavery Statement</a> | <a href="https://www.databricks.com/legal/supplemental-privacy-notice-california-residents">California Privacy</a> | <a href="javascript: OneTrust.ToggleInfoDisplay()">Your Privacy Choices</a> <img alt="" src="https://www.databricks.com/sites/default/files/2022-12/gpcicon_small.png" data-ot-ignore="1" class="dbgpcicon inline-block max-h-[15px] w-auto" width="31" height="15"> </p> </div> </footer> </div> </div> </section> </main> </page> </body> </html>