Skip to main content

· One min read
MLflow maintainers

MLflow 2.11.3 is a patch release that addresses a security exploit with the Open Source MLflow tracking server and miscellaneous Databricks integration fixes

Bug fixes:

  • [Security] Address an LFI exploit related to misuse of url parameters (#11473, @daniellok-db)
  • [Databricks] Fix an issue with Databricks Runtime version acquisition when deploying a model using Databricks Docker Container Services (#11483, @WeichenXu123)
  • [Databricks] Correct an issue with credential management within Databricks Model Serving (#11468, @victorsun123)
  • [Models] Fix an issue with chat request validation for LangChain flavor (#11478, @BenWilson2)
  • [Models] Fixes for LangChain models that are logged as code (#11494, #11436 @sunishsheth2009)

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

· One min read
MLflow maintainers

MLflow 2.11.2 is a patch release that introduces corrections for the support of custom transformer models, resolves LangChain integration problems, and includes several fixes to enhance stability.

Bug fixes:

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

· One min read
MLflow maintainers

MLflow 2.11.1 is a patch release, containing fixes for some Databricks integrations and other various issues.

Bug fixes:

Small bug fixes and documentation updates:

#11336, #11335, @harupy; #11303, @B-Step62; #11319, @BenWilson2; #11306, @daniellok-db

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

· 7 min read
MLflow maintainers

MLflow 2.11.0 includes several major features and improvements

With the MLflow 2.11.0 release, we're excited to bring a series of large and impactful features that span both GenAI and Deep Learning use cases.

New Deep Learning Focused Improvements in the MLflow UI

The MLflow Tracking UI got an overhaul to better support the review and comparison of training runs for Deep Learning workloads. From grouping to large-scale metric plotting throughout the iterations of a DL model's training cycle, there are a large number of quality of life improvements to enhance your Deep Learning MLOps workflow.

Support for PEFT, unrestrictive Pipeline logging, and weight-less model logging in transformers

Support for the popular PEFT library from HuggingFace is now available in the mlflow.transformers flavor. In addition to PEFT support, we've removed the restrictions on Pipeline types that can be logged to MLflow, as well as the ability to, when developing and testing models, log a transformers pipeline without copying foundational model weights. These enhancements strive to make the transformers flavor more useful for cutting-edge GenAI models, new pipeline types, and to simplify the development process of prompt engineering, fine-tuning, and to make iterative development faster and cheaper. Give the updated flavor a try today! (#11240, @B-Step62)

Autologging for TensorFlow and PyTorch now supports checkpointing of model weights

We've added support to both PyTorch and TensorFlow for automatic model weights checkpointing (including resumption from a previous state) for the auto logging implementations within both flavors. This highly requested feature allows you to automatically configure long-running Deep Learning training runs to keep a safe storage of your best epoch, eliminating the risk of a failure late in training from losing the state of the model optimization. (#11197, #10935, @WeichenXu123)

ChatModel interface for a unified Chat experience with pyfunc models

We've added a new interface to Pyfunc for GenAI workloads. The new ChatModel interface allows for interacting with a deployed GenAI chat model as you would with any other provider. The simplified interface (no longer requiring conformance to a Pandas DataFrame input type) strives to unify the API interface experience. (#10820, @daniellok-db)

Keras 3 support in MLflow

We now support Keras 3. This large overhaul of the Keras library introduced new fundamental changes to how Keras integrates with different DL frameworks, bringing with it a host of new functionality and interoperability. To learn more, see the Keras 3.0 Tutorial to start using the updated model flavor today! (#10830, @chenmoneygithub)

Mistral AI models are now available in the MLflow Deployments Server

Mistral AI has been added as a native provider for the MLflow Deployments Server. You can now create proxied connections to the Mistral AI services for completions and embeddings with their powerful GenAI models. (#11020, @thnguyendn)

MLflow now supports the OpenAI 1.x SDK

We've added compatibility support for the OpenAI 1.x SDK. Whether you're using an OpenAI LLM for model evaluation or calling OpenAI within a LangChain model, you'll now be able to utilize the 1.x family of the OpenAI SDK without having to point to deprecated legacy APIs. (#11123, @harupy)

Features:

  • [UI] Revamp the MLflow Tracking UI for Deep Learning workflows, offering a more intuitive and efficient user experience (#11233, @daniellok-db)
  • [Data] Introduce the ability to log datasets without loading them into memory, optimizing resource usage and processing time (#11172, @chenmoneygithub)
  • [Models] Introduce logging frequency controls for TensorFlow, aligning it with Keras for consistent performance monitoring (#11094, @chenmoneygithub)
  • [Models] Add PySpark DataFrame support in mlflow.pyfunc.predict, enhancing data compatibility and analysis options for batch inference (#10939, @ernestwong-db)
  • [Models] Introduce new CLI commands for updating model requirements, facilitating easier maintenance, validation and updating of models without having to re-log (#11061, @daniellok-db)
  • [Models] Update Embedding API for sentence transformers to ensure compatibility with OpenAI format, broadening model application scopes (#11019, @lu-wang-dl)
  • [Models] Improve input and signature support for text-generation models, optimizing for Chat and Completions tasks (#11027, @es94129)
  • [Models] Enable chat and completions task outputs in the text-generation pipeline, expanding interactive capabilities (#10872, @es94129)
  • [Tracking] Add node id to system metrics for enhanced logging in multi-node setups, improving diagnostics and monitoring (#11021, @chenmoneygithub)
  • [Tracking] Implement mlflow.config.enable_async_logging for asynchronous logging, improving log handling and system performance (#11138, @chenmoneygithub)
  • [Evaluate] Enhance model evaluation with endpoint URL support, streamlining performance assessments and integrations (#11262, @B-Step62)
  • [Deployments] Implement chat & chat streaming support for Cohere, enhancing interactive model deployment capabilities (#10976, @gabrielfu)
  • [Deployments] Enable Cohere streaming support, allowing real-time interaction functionalities for the MLflow Deployments server with the Cohere provider (#10856, @gabrielfu)
  • [Docker / Scoring] Optimize Docker images for model serving, ensuring more efficient deployment and scalability (#10954, @B-Step62)
  • [Scoring] Support completions (prompt) and embeddings (input) format inputs in the scoring server, increasing model interaction flexibility (#10958, @es94129)

Bug Fixes:

  • [Model Registry] Correct the oversight of not utilizing the default credential file in model registry setups (#11261, @B-Step62)
  • [Model Registry] Address the visibility issue of aliases in the model versions table within the registered model detail page (#11223, @smurching)
  • [Models] Ensure load_context() is called when enforcing ChatModel outputs so that all required external references are included in the model object instance (#11150, @daniellok-db)
  • [Models] Rectify the keras output dtype in signature mismatches, ensuring data consistency and accuracy (#11230, @chenmoneygithub)
  • [Models] Resolve spark model loading failures, enhancing model reliability and accessibility (#11227, @WeichenXu123)
  • [Models] Eliminate false warnings for missing signatures in Databricks, improving the user experience and model validation processes (#11181, @B-Step62)
  • [Models] Implement a timeout for signature/requirement inference during Transformer model logging, optimizing the logging process and avoiding delays (#11037, @B-Step62)
  • [Models] Address the missing dtype issue for transformer pipelines, ensuring data integrity and model accuracy (#10979, @B-Step62)
  • [Models] Correct non-idempotent predictions due to in-place updates to model-config, stabilizing model outputs (#11014, @B-Step62)
  • [Models] Fix an issue where specifying torch.dtype as a string was not being applied correctly to the underlying transformers model (#11297, #11295, @harupy)
  • [Tracking] Fix mlflow.evaluate col_mapping bug for non-LLM/custom metrics, ensuring accurate evaluation and metric calculation (#11156, @sunishsheth2009)
  • [Tracking] Resolve the TensorInfo TypeError exception message issue, ensuring clarity and accuracy in error reporting for users (#10953, @leecs0503)
  • [Tracking] Enhance RestException objects to be picklable, improving their usability in distributed computing scenarios where serialization is essential (#10936, @WeichenXu123)
  • [Tracking] Address the handling of unrecognized response error codes, ensuring robust error processing and improved user feedback in edge cases (#10918, @chenmoneygithub)
  • [Spark] Update hardcoded io.delta:delta-spark_2.12:3.0.0 dependency to the correct scala version, aligning dependencies with project requirements (#11149, @WeichenXu123)
  • [Server-infra] Adapt to newer versions of python by avoiding importlib.metadata.entry_points().get, enhancing compatibility and stability (#10752, @raphaelauv)
  • [Server-infra / Tracking] Introduce an environment variable to disable mlflow configuring logging on import, improving configurability and user control (#11137, @jmahlik)
  • [Auth] Enhance auth validation for mlflow.login(), streamlining the authentication process and improving security (#11039, @chenmoneygithub)

Documentation Updates:

  • [Docs] Introduce a comprehensive notebook demonstrating the use of ChatModel with Transformers and Pyfunc, providing users with practical insights and guidelines for leveraging these models (#11239, @daniellok-db)
  • [Tracking / Docs] Stabilize the dataset logging APIs, removing the experimental status (#11229, @dbczumar)
  • [Docs] Revise and update the documentation on authentication database configuration, offering clearer instructions and better support for setting up secure authentication mechanisms (#11176, @gabrielfu)
  • [Docs] Publish a new guide and tutorial for MLflow data logging and log_input, enriching the documentation with actionable advice and examples for effective data handling (#10956, @BenWilson2)
  • [Docs] Upgrade the documentation visuals by replacing low-resolution and poorly dithered GIFs with high-quality HTML5 videos, significantly enhancing the learning experience (#11051, @BenWilson2)
  • [Docs / Examples] Correct the compatibility matrix for OpenAI in MLflow Deployments Server documentation, providing users with accurate integration details and supporting smoother deployments (#11015, @BenWilson2)

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

· 2 min read
MLflow maintainers

MLflow 2.10.1 is a patch release, containing fixes for various bugs in the transformers and langchain flavors, the MLflow UI, and the S3 artifact store. More details can be found in the patch notes below.

Bug fixes:

  • [UI] Fixed a bug that prevented datasets from showing up in the MLflow UI (#10992, @daniellok-db)
  • [Artifact Store] Fixed directory bucket region name retrieval (#10967, @kriscon-db)
  • Bug fixes for Transformers flavor
    • [Models] Fix an issue with transformer pipelines not inheriting the torch dtype specified on the model, causing pipeline inference to consume more resources than expected. (#10979, @B-Step62)
    • [Models] Fix non-idempotent prediction due to in-place update to model-config (#11014, @B-Step62)
    • [Models] Fixed a bug affecting prompt templating with Text2TextGeneration pipelines. Previously, calling predict() on a pyfunc-loaded Text2TextGeneration pipeline would fail for string and List[string] inputs. (#10960, @B-Step62)
  • Bug fixes for Langchain flavor
    • Fixed errors that occur when logging inputs and outputs with different lengths (#10952, @serena-ruan)

Documentation updates:

Small bug fixes and documentation updates:

#10930, #11005, @serena-ruan; #10927, @harupy

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

· 5 min read
MLflow maintainers

MLflow 2.10.0 includes several major features and improvements!

In MLflow 2.10, we're introducing a number of significant new features that are preparing the way for current and future enhanced support for Deep Learning use cases, new features to support a broadened support for GenAI applications, and some quality of life improvements for the MLflow Deployments Server (formerly the AI Gateway).

New MLflow Website

We have a new home. The new site landing page is fresh, modern, and contains more content than ever. We're adding new content and blogs all of the time.

Model Signature Supports Objects and Arrays (#9936, @serena-ruan)

Objects and Arrays are now available as configurable input and output schema elements. These new types are particularly useful for GenAI-focused flavors that can have complex input and output types. See the new Signature and Input Example documentation to learn more about how to use these new signature types.

Langchain Autologging (#10801, @serena-ruan)

LangChain has autologging support now! When you invoke a chain, with autologging enabled, we will automatically log most chain implementations, recording and storing your configured LLM application for you. See the new Langchain documentation to learn more about how to use this feature.

Prompt Templating for Transformers Models

The MLflow transformers flavor now supports prompt templates. You can now specify an application-specific set of instructions to submit to your GenAI pipeline in order to simplify, streamline, and integrate sets of system prompts to be supplied with each input request. Check out the updated guide to transformers to learn more and see examples!

MLflow Deployments Server Enhancement

The MLflow Deployments Server now supports two new requested features: (1) OpenAI endpoints that support streaming responses. You can now configure an endpoint to return realtime responses for Chat and Completions instead of waiting for the entire text contents to be completed. (2) Rate limits can now be set per endpoint in order to help control cost overrun when using SaaS models.

Further Document Improvements

Continued the push for enhanced documentation, guides, tutorials, and examples by expanding on core MLflow functionality (Deployments, Signatures, and Model Dependency management), as well as entirely new pages for GenAI flavors. Check them out today!

Other Features:

  • [Models] Enhance the MLflow Models predict API to serve as a pre-logging validator of environment compatibility. (#10759, @B-Step62)
  • [Models] Add support for Image Classification pipelines within the transformers flavor (#10538, @KonakanchiSwathi)
  • [Models] Add support for retrieving and storing license files for transformers models (#10871, @BenWilson2)
  • [Models] Add support for model serialization in the Visual NLP format for JohnSnowLabs flavor (#10603, @C-K-Loan)
  • [Models] Automatically convert OpenAI input messages to LangChain chat messages for pyfunc predict (#10758, @dbczumar)
  • [Tracking] Enhance async logging functionality by ensuring flush is called on Futures objects (#10715, @chenmoneygithub)
  • [Tracking] Add support for a non-interactive mode for the login() API (#10623, @henxing)
  • [Scoring] Allow MLflow model serving to support direct dict inputs with the messages key (#10742, @daniellok-db, @B-Step62)
  • [Deployments] Add streaming support to the MLflow Deployments Server for OpenAI streaming return compatible routes (#10765, @gabrielfu)
  • [Deployments] Add support for directly interfacing with OpenAI via the MLflow Deployments server (#10473, @prithvikannan)
  • [UI] Introduce a number of new features for the MLflow UI (#10864, @daniellok-db)
  • [Server-infra] Add an environment variable that can disallow HTTP redirects (#10655, @daniellok-db)
  • [Artifacts] Add support for Multipart Upload for Azure Blob Storage (#10531, @gabrielfu)

Bug fixes

  • [Models] Add deduplication logic for pip requirements and extras handling for MLflow models (#10778, @BenWilson2)
  • [Models] Add support for paddle 2.6.0 release (#10757, @WeichenXu123)
  • [Tracking] Fix an issue with an incorrect retry default timeout for urllib3 1.x (#10839, @BenWilson2)
  • [Recipes] Fix an issue with MLflow Recipes card display format (#10893, @WeichenXu123)
  • [Java] Fix an issue with metadata collection when using Streaming Sources on certain versions of Spark where Delta is the source (#10729, @daniellok-db)
  • [Scoring] Fix an issue where SageMaker tags were not propagating correctly (#9310, @clarkh-ncino)
  • [Windows / Databricks] Fix an issue with executing Databricks run commands from within a Window environment (#10811, @wolpl)
  • [Models / Databricks] Disable mlflowdbfs mounts for JohnSnowLabs flavor due to flakiness (#9872, @C-K-Loan)

Documentation updates:

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

· 2 min read
MLflow maintainers

MLflow 2.9.2 is a patch release, containing several critical security fixes and configuration updates to support extremely large model artifacts.

Features:

  • [Deployments] Add the mlflow.deployments.openai API to simplify direct access to OpenAI services through the deployments API (#10473, @prithvikannan)
  • [Server-infra] Add a new environment variable that permits disabling http redirects within the Tracking Server for enhanced security in publicly accessible tracking server deployments (#10673, @daniellok-db)
  • [Artifacts] Add environment variable configurations for both Multi-part upload and Multi-part download that permits modifying the per-chunk size to support extremely large model artifacts (#10648, @harupy)

Security fixes:

  • [Server-infra] Disable the ability to inject malicious code via manipulated YAML files by forcing YAML rendering to be performed in a secure Sandboxed mode (#10676, @BenWilson2, #10640, @harupy)
  • [Artifacts] Prevent path traversal attacks when querying artifact URI locations by disallowing .. path traversal queries (#10653, @B-Step62)
  • [Data] Prevent a mechanism for conducting a malicious file traversal attack on Windows when using tracking APIs that interface with HTTPDatasetSource (#10647, @BenWilson2)
  • [Artifacts] Prevent a potential path traversal attack vector via encoded url traversal paths by decoding paths prior to evaluation (#10650, @B-Step62)
  • [Artifacts] Prevent the ability to conduct path traversal attacks by enforcing the use of sanitized paths with the tracking server (#10666, @harupy)
  • [Artifacts] Prevent path traversal attacks when using an FTP server as a backend store by enforcing base path declarations prior to accessing user-supplied paths (#10657, @harupy)

Documentation updates:

  • [Docs] Add an end-to-end tutorial for RAG creation and evaluation (#10661, @AbeOmor)
  • [Docs] Add Tensorflow landing page (#10646, @chenmoneygithub)
  • [Deployments / Tracking] Add endpoints to LLM evaluation docs (#10660, @prithvikannan)
  • [Examples] Add retriever evaluation tutorial for LangChain and improve the Question Generation tutorial notebook (#10419, @liangz1)

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

· One min read
MLflow maintainers

MLflow 2.9.1 is a patch release, containing a critical bug fix related to loading pyfunc models that were saved in previous versions of MLflow.

Bug fixes:

  • [Models] Revert Changes to PythonModel that introduced loading issues for models saved in earlier versions of MLflow (#10626, @BenWilson2)

Small bug fixes and documentation updates:

#10625, @BenWilson2

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

· 3 min read
MLflow maintainers

MLflow 2.9.0 includes several major features and improvements.

MLflow AI Gateway deprecation (#10420, @harupy)

The feature previously known as MLflow AI Gateway has been moved to utilize the MLflow deployments API. For guidance on migrating from the AI Gateway to the new deployments API, please see the [MLflow AI Gateway Migration Guide](https://mlflow.org/docs/latest/llms/gateway/migration.html.

MLflow Tracking docs overhaul (#10471, @B-Step62)

The MLflow tracking docs have been overhauled. We'd like your feedback on the new tracking docs!

Security fixes

Three security patches have been filed with this release and CVE's have been issued with the details involved in the security patch and potential attack vectors. Please review and update your tracking server deployments if your tracking server is not securely deployed and has open access to the internet.

  • Sanitize path in HttpArtifactRepository.list_artifacts (#10585, @harupy)
  • Sanitize filename in Content-Disposition header for HTTPDatasetSource (#10584, @harupy).
  • Validate Content-Type header to prevent POST XSS (#10526, @B-Step62)

Features

Bug fixes

  • [Tracking] Resume system metrics logging when resuming an existing run (#10312, @chenmoneygithub)
  • [UI] Fix incorrect sorting order in line chart (#10553, @B-Step62)
  • [UI] Remove extra whitespace in git URLs (#10506, @mrplants)
  • [Models] Make spark_udf use NFS to broadcast model to spark executor on databricks runtime and spark connect mode (#10463, @WeichenXu123)
  • [Models] Fix promptlab pyfunc models not working for chat routes (#10346, @daniellok-db)

Documentation updates

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