Skip to main content

MLflow 2.4.0

· 3 min read
MLflow maintainers

MLflow 2.4.0 includes several major features and improvements

Features:

  • [Tracking] Introduce dataset tracking APIs: mlflow.data and mlflow.log_input() (#8186, @prithvikannan)
  • [Tracking] Add mlflow.log_table() and mlflow.load_table() APIs for logging evaluation tables (#8523, #8467, @sunishsheth2009)
  • [Tracking] Introduce mlflow.get_parent_run() fluent API (#8493, @annzhang-db)
  • [Tracking / Model Registry] Re-introduce faster artifact downloads on Databricks (#8352, @dbczumar; #8561, @harupy)
  • [UI] Add dataset tracking information to MLflow Tracking UI (#8602, @prithvikannan, @hubertzub-db)
  • [UI] Introduce Artifact View for comparing inputs, outputs, and metadata across models (#8602, @hubertzub-db)
  • [Models] Extend mlflow.evaluate() to support LLM tasks (#8484, @harupy)
  • [Models] Support logging subclasses of Chain and LLMChain in mlflow.langchain flavor (#8453, @liangz1)
  • [Models] Add support for LangChain Agents to the mlflow.langchain flavor (#8297, @sunishsheth2009)
  • [Models] Add a mlflow.sentence_transformers flavor for SentenceTransformers (#8479, @BenWilson2; #8547, @Loquats)
  • [Models] Add support for multi-GPU inference and efficient weight loading for mlflow.transformers flavor (#8448, @ankit-db)
  • [Models] Support the max_shard_size parameter in the mlflow.transformers flavor (#8567, @wenfeiy-db)
  • [Models] Add support for audio transcription pipelines in the mlflow.transformers flavor (#8464, @BenWilson2)
  • [Models] Add support for audio classification to mlflow.transformers flavor (#8492, @BenWilson2)
  • [Models] Add support for URI inputs in audio models logged with the mlflow.transformers flavor (#8495, @BenWilson2)
  • [Models] Add support for returning classifier scores in mlflow.transformers pyfunc outputs (#8512, @BenWilson2)
  • [Models] Support optional inputs in model signatures (#8438, @apurva-koti)
  • [Models] Introduce an mlflow.models.set_signature() API to set the signature of a logged model (#8476, @jerrylian-db)
  • [Models] Persist ONNX Runtime InferenceSession options when logging a model with mlflow.onnx.log_model() (#8433, @leqiao-1)

Bug fixes:

  • [Tracking] Terminate Spark callback server when Spark Autologging is disabled or Spark Session is shut down (#8508, @WeichenXu123)
  • [Tracking] Fix compatibility of mlflow server with Flask<2.0 (#8463, @kevingreer)
  • [Models] Convert mlflow.transformers pyfunc scalar string output to list of strings during batch inference (#8546, @BenWilson2)
  • [Models] Fix a bug causing outdated pyenv versions to be installed by mlflow models build-docker (#8488, @Hellzed)
  • [Model Registry] Remove aliases from storage when a Model Version is deleted (#8459, @arpitjasa-db)

Documentation updates:

  • [Docs] Publish a new MLOps Quickstart for model selection and deployment (#8462, @lobrien)
  • [Docs] Add MLflavors library to Community Model Flavors documentation (#8420, @benjaminbluhm)
  • [Docs] Add documentation for Registered Model Aliases (#8445, @arpitjasa-db)
  • [Docs] Fix errors in documented mlflow models CLI command examples (#8480, @vijethmoudgalya)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.