MLflow
Official · maintained by Marmotmarmotdata/mlflow Discover registered models, experiments and training datasets from MLflow tracking servers
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, with PRODUCES and FEEDS lineage between them. A dataset read from s3:// or gs:// is linked to the bucket asset the S3 or GCS plugin creates.
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.
In the UI
Point-and-click, no config file needed.
- 1 Open Runs Create pipeline
- 2 Pick MLflow from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-mlflow-pipeline
runs:
- mlflow:
tracking_uri: "<tracking_uri>"$ marmot ingest -c ingest.yamlNot using plugins? Other ways to populate Marmot
Configuration
12 top-level fields. * marks required fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
tracking_uri string MLflow tracking server URL, also used as the model registry
username string Username for basic authentication
password password Password for basic authentication
token password Bearer token for authentication
verify_ssl bool Verify the server TLS certificate
- default
- true
include_experiments bool Discover experiments as assets
- default
- true
include_datasets bool Discover the datasets logged to each model's run
- default
- true
include_metrics bool Record the run metrics of each model
- default
- true
max_models int Maximum number of registered models to discover (0 = unlimited)
- default
- 0
Assets emitted
Metadata this plugin attaches to each discovered asset.
Model
MLflowModelFieldsThe metadata fields the MLflow plugin emits for registered model assets.
description stringRegistered model description
tags objectRegistered model tags
created_at stringWhen the registered model was created
updated_at stringWhen the registered model was last updated
latest_version stringHighest version number
version_count intNumber of versions
aliases objectAlias to version number
stage stringStage of the latest version, when one is set
run_id stringRun that produced the latest version
run_name stringName of that run
experiment_id stringExperiment the run belongs to
experiment stringName of that experiment
artifact_uri stringWhere the run's artifacts are stored
status stringStatus of the latest version
hyperparameters objectParameters logged to the run
metrics objectLatest value of each metric logged to the run
url stringLink to the model in the MLflow UI
Experiment
MLflowExperimentFieldsThe metadata fields emitted for experiment assets.
experiment_id stringExperiment id
artifact_location stringWhere the experiment's runs store artifacts
lifecycle_stage stringLifecycle stage (active)
tags objectExperiment tags
created_at stringWhen the experiment was created
updated_at stringWhen the experiment was last updated
url stringLink to the experiment in the MLflow UI
Dataset
MLflowDatasetFieldsThe metadata fields emitted for dataset assets, one per dataset logged to the run behind a model.
digest stringContent digest MLflow computed for the dataset
source_type stringKind of source the dataset was read from
source objectWhere the dataset was read from
context stringWhat the dataset was used for (training, eval)
profile objectProfile MLflow computed for the dataset, such as row counts
Column
MLflowColumnFieldsThe per-feature fields embedded in a model or dataset asset's schema.
column_name stringFeature or column name
data_type stringMLflow data type
is_nullable boolWhether the input is optional