We are happy to announce the availability of MLflow 2.2.0!
MLflow 2.2.0 includes several major features and improvements
Features:
- [Recipes] Add support for score calibration to the classification recipe (#7744, @sunishsheth2009)
- [Recipes] Add automatic label encoding to the classification recipe (#7711, @sunishsheth2009)
- [Recipes] Support custom data splitting logic in the classification and regression recipes (#7815, #7588, @sunishsheth2009)
- [Recipes] Introduce customizable MLflow Run name prefixes to the classification and regression recipes (#7746, @kamalesh0406; #7763, @sunishsheth2009)
- [UI] Add a new Chart View to the MLflow Experiment Page for model performance insights (#7864, @hubertzub-db, @apurva-koti, @prithvikannan, @ridhimag11, @sunishseth2009, @dbczumar)
- [UI] Modernize and improve parallel coordinates chart for model tuning (#7864, @hubertzub-db, @apurva-koti, @prithvikannan, @ridhimag11, @sunishseth2009, @dbczumar)
- [UI] Add typeahead suggestions to the MLflow Experiment Page search bar (#7864, @hubertzub-db, @apurva-koti, @prithvikannan, @ridhimag11, @sunishseth2009, @dbczumar)
- [UI] Improve performance of Experiments Sidebar for large numbers of experiments (#7804, @jmahlik)
- [Tracking] Introduce autologging support for native PyTorch models (#7627, @temporaer)
- [Tracking] Allow specifying
model_format
when autologging XGBoost models (#7781, @guyrosin) - [Tracking] Add
MLFLOW_ARTIFACT_UPLOAD_DOWNLOAD_TIMEOUT
environment variable to configure artifact operation timeouts (#7783, @wamartin-aml) - [Artifacts] Include
Content-Type
response headers for artifacts downloaded frommlflow server
(#7827, @bali0019) - [Model Registry] Introduce the
searchModelVersions()
API to the Java client (#7880, @gabrielfu) - [Model Registry] Introduce
max_results
,order_by
andpage_token
arguments toMlflowClient.search_model_versions()
(#7623, @serena-ruan) - [Models] Support logging large ONNX models by using external data (#7808, @dogeplusplus)
- [Models] Add support for logging Diviner models fit in Spark (#7800, @BenWilson2)
- [Models] Introduce
MLFLOW_DEFAULT_PREDICTION_DEVICE
environment variable to set the device for pyfunc model inference (#7922, @ankit-db) - [Scoring] Publish official Docker images for the MLflow Model scoring server at github.com/mlflow/mlflow/pkgs (#7759, @dbczumar)
Bug fixes:
- [Recipes] Fix dataset format validation in the ingest step for custom dataset sources (#7638, @sunishsheth2009)
- [Recipes] Fix bug in identification of worst performing examples during training (#7658, @sunishsheth2009)
- [Recipes] Ensure consistent rendering of the recipe graph when
inspect()
is called (#7852, @sunishsheth2009) - [Recipes] Correctly respect
positive_class
configuration in the transform step (#7626, @sunishsheth2009) - [Recipes] Make logged metric names consistent with
mlflow.evaluate()
(#7613, @sunishsheth2009) - [Recipes] Add
run_id
andartifact_path
keys to logged MLmodel files (#7651, @sunishsheth2009) - [UI] Fix bugs in UI validation of experiment names, model names, and tag keys (#7818, @subramaniam02)
- [Tracking] Resolve artifact locations to absolute paths when creating experiments (#7670, @bali0019)
- [Tracking] Exclude Delta checkpoints from Spark datasource autologging (#7902, @harupy)
- [Tracking] Consistently return an empty list from GetMetricHistory when a metric does not exist (#7589, @bali0019; #7659, @harupy)
- [Artifacts] Fix support for artifact operations on Windows paths in UNC format (#7750, @bali0019)
- [Artifacts] Fix bug in HDFS artifact listing (#7581, @pwnywiz)
- [Model Registry] Disallow creation of model versions with local filesystem sources in
mlflow server
(#7908, @harupy) - [Model Registry] Fix handling of deleted model versions in FileStore (#7716, @harupy)
- [Model Registry] Correctly initialize Model Registry SQL tables independently of MLflow Tracking (#7704, @harupy)
- [Models] Correctly move PyTorch model outputs from GPUs to CPUs during inference with pyfunc (#7885, @ankit-db)
- [Build] Fix compatiblility issues with Python installations compiled using
PYTHONOPTIMIZE=2
(#7791, @dbczumar) - [Build] Fix compatibility issues with the upcoming pandas 2.0 release (#7899, @harupy; #7910, @dbczumar)
Documentation updates:
- [Docs] Add an example of saving and loading Spark MLlib models with MLflow (#7706, @dipanjank)
- [Docs] Add usage examples for
mlflow.lightgbm
APIs (#7565, @canerturkseven) - [Docs] Add an example of custom model flavor creation with
sktime
(#7624, @benjaminbluhm) - [Docs] Clarify
precision_recall_auc
metric calculation inmlflow.evaluate()
(#7701, @BenWilson2) - [Docs] Remove outdated example links (#7587, @asloan7)
For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.