Skip to main content
Version: Preview

MLflow

Experimental
Creates:
AssetsLineage

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The MLflow plugin discovers registered models, experiments and training datasets from an MLflow tracking server. Every registered model becomes a Model asset carrying the run behind its newest version: hyperparameters, latest metric values, the experiment it came from and the input features of its signature. Experiments become Experiment assets and the datasets logged to a model's run become Dataset assets.

Lineage links each Experiment to the models it produced (PRODUCES) and each Dataset to the models trained on it (FEEDS). A dataset read from s3:// or gs:// is also linked to the bucket asset the S3 or GCS plugin creates. Run metrics are recorded as asset.metric.<name> statistics.

Authentication

The tracking server is contacted anonymously unless username and password (MLflow's basic auth) or token (a bearer token, for servers behind a proxy) are set. Set one or the other, not both.

Model Signatures

Features are read from the run's mlflow.log-model.history tag. When the run has none, the plugin reads the MLmodel file of the logged model (MLflow 3, models:/ sources) or of the run's artifacts, which needs a tracking server that stores or proxies its own artifacts (--serve-artifacts). A model whose signature cannot be found is still discovered, without features.

Example Configuration


tracking_uri: "https://mlflow.company.com"
username: "marmot"
password: "mlflow_secure_pass"
include_experiments: true
include_datasets: true
include_metrics: true
tags:
- "mlflow"
- "ml-platform"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
include_datasetsboolfalseDiscover the datasets logged to each model's run
include_experimentsboolfalseDiscover experiments as assets
include_metricsboolfalseRecord the run metrics of each model
max_modelsintfalseMaximum number of registered models to discover (0 = unlimited)
passwordstringfalsePassword for basic authentication
tagsTagsConfigfalseTags to apply to discovered assets
tokenstringfalseBearer token for authentication
tracking_uristringtrueMLflow tracking server URL, also used as the model registry
usernamestringfalseUsername for basic authentication
verify_sslboolfalseVerify the server TLS certificate

Available Metadata

The following metadata fields are available:

FieldTypeDescription
aliasesmap[string]stringAlias to version number
artifact_locationstringWhere the experiment's runs store artifacts
artifact_uristringWhere the run's artifacts are stored
column_namestringFeature or column name
contextstringWhat the dataset was used for (training, eval)
created_atstringWhen the model or experiment was created
data_typestringMLflow data type
descriptionstringRegistered model description
digeststringContent digest MLflow computed for the dataset
experimentstringName of the experiment the run belongs to
experiment_idstringExperiment id
hyperparametersmap[string]stringParameters logged to the run
is_nullableboolWhether the input is optional
latest_versionstringHighest version number
lifecycle_stagestringLifecycle stage (active)
metricsmap[string]anyLatest value of each metric logged to the run
profileanyProfile MLflow computed for the dataset, such as row counts
run_idstringRun that produced the latest version
run_namestringName of that run
sourceanyWhere the dataset was read from
source_typestringKind of source the dataset was read from
stagestringStage of the latest version, when one is set
statusstringStatus of the latest version
tagsmap[string]stringRegistered model or experiment tags
updated_atstringWhen the model or experiment was last updated
urlstringLink to the model or experiment in the MLflow UI
version_countintNumber of versions