MLflow 2.0.1
·5分钟阅读
我们很高兴地宣布 MLflow 2.0.1 上线了!
MLflow 2.0.1 版本是一个重要的里程碑版本,它专注于简化端到端的 MLOps 工作流管理,提供丰富的新功能,并扩展了 MLflow 提供的生产级 MLOps 功能。请查阅 MLflow 2.0 博客文章 以获得更深入的介绍!
此版本包含一些与 1.x API 相比的重要重大更改,以及其他主要功能和改进。
功能
- [Recipes] MLflow Pipelines 现已更名为 MLflow Recipes — 一个使数据科学家能够快速开发高质量模型并将其部署到生产环境的框架
- [Recipes] MLflow Recipes 添加了对分类模型(#7082,@bbarnes52)的支持
- [UI] 在 experiments UI 中引入了对固定运行(pinning runs)的支持(#7177,@harupy)
- [UI] 简化了 experiments UI 中的布局,并提供了对指标、参数和标签的自定义显示(#7177,@harupy)
- [UI] 简化了 experiments UI 中的运行过滤和排序(#7177,@harupy)
- [Tracking] 更新了
mlflow.pyfunc.get_model_dependencies()以下载指定模型的所有引用的需求文件(#6733,@harupy) - [Tracking] 添加了对
mlflow.tensorflow.autolog()使用的 Keras 模型save_format的支持(#7123,@balvisio) - [Models] 将
mlflow.evaluate()状态设置为稳定(stable),因为它现在是一个生产就绪的 API - [Models] 简化了使用
mlflow.evaluate()在模型评估期间指定自定义指标和自定义工件的 API(#7142,@harupy) - [Models] 在
mlflow.evaluate()中正确推断二元分类的正例标签(#7149,@dbczumar) - [Models] 当启用
mlflow.tensorflow.autolog()时,为tensorflow和keras模型启用自动签名日志记录(#6678,@BenWilson2) - [Models] 在
mlflow.tensorflow中添加了对原生 Keras 和 Tensorflow Core 模型(#6530,@WeichenXu123)的支持 - [Models] 添加了对
mlflow.xgboost.save/log_model()使用的model_format的定义支持(#7068,@AvikantSrivastava) - [Scoring] 彻底重构了模型评分 REST API,引入了输入的格式指示符并支持多个输出字段(#6575,@tomasatdatabricks;#7254,@adriangonz)
- [Scoring] 在模型签名中添加了对不规则数组(ragged arrays)的支持(#7135,@trangevi)
- [Java] 为 java 客户端添加了
getModelVersionAPI(#6955,@wgottschalk)
重大更改
以下重大更改列表按其在每个类别中的重要性顺序排列。
- [Core] 已弃用对 Python 3.7 的支持。MLflow 现在要求 Python >= 3.8
- [Recipes]
mlflow.pipelinesAPI 已被mlflow.recipes取代 - [Tracking / Registry] 移除了 Tracking 和 Model Registry REST API 的
/preview路由(#6667,@harupy) - [Tracking] 从 Python、Java、R 和 REST API 中移除了 experiments、models 和 runs 的已弃用
listAPI(#6785,#6786,#6787,#6788,#6800,#6868,@dbczumar) - [Tracking] 从
Get ExperimentREST API 响应中移除了已弃用的runs响应字段(#6541,#6524 @dbczumar) - [Tracking] 移除了已弃用的
MlflowClient.download_artifactsAPI(#6537,@WeichenXu123) - [Tracking] 更改了
MLFLOW_EXPERIMENT_NAME环境变量的处理方式,使其在创建实验时始终使用该值(#6674,@BenWilson2) - [Tracking] 更新了
mlflow server以默认在--serve-artifacts模式下运行(#6502,@harupy) - [Tracking] 更新了 Filestore 后端的实验 ID 生成,以实现线程安全并发(#7070,@BenWilson2)
- [Tracking] 从
mlflow.evaluate()指标键中移除了dataset_name和on_data_{name | hash}后缀(#7042,@harupy) - [Models / Scoring / Projects] 将模型推理和项目执行的默认环境管理器从
conda改为virtualenv(#6459,#6489 @harupy) - [Models] 将 Keras 模型日志记录 API 移至
mlflow.tensorflowflavor,并弃用了对 TensorFlow Estimators 的支持(#6530,@WeichenXu123) - [Models] 移除了已弃用的
mlflow.sklearn.eval_and_log_metrics()API,以mlflow.evaluate()API 取代(#6520,@dbczumar) - [Models] 要求
mlflow.evaluate()的模型输入指定为 URI(#6670,@harupy) - [Models] 弃用了在使用
mlflow.evaluate()时从同一函数返回自定义指标和工件的功能,改用custom_artifacts(#7142,@harupy) - [Models] 扩展了
PyFuncModelspec 以支持conda和virtualenv子字段(#6684,@harupy) - [Scoring] 移除了使用
Content-Type标头定义输入格式的支持(#6575,@tomasatdatabricks;#7254,@adriangonz) - [Scoring] 将原生服务(native serving)的
--no-condaCLI 选项参数替换为--env-manager='local'(#6501,@harupy) - [Scoring] 移除了
mlflow.sagemaker.deploy()和mlflow.sagemaker.delete()的公共 API,转而使用 MLflow deployments API,例如mlflow deployments -t sagemaker(#6650,@dbczumar) - [Scoring] 在
mlflow.deployments.predict()方法中将输入参数df重命名为inputs(#6681,@BenWilson2) - [Projects] 在 MLflow Projects 的
runCLI 命令中,将use_conda参数替换为env_manager参数(#6654,@harupy) - [Projects] 通过将
--skip-image-build重命名为--build-image(默认值为False),修改了 MLflow Projects 的 docker 镜像构建选项(#7011,@harupy) - [Integrations/Azure] 移除了 MLflow 中已弃用的
mlflow.azureml模块,转而使用azure-mlflow部署插件(#6691,@BenWilson2) - [R] 移除了 R 客户端的 conda 集成(#6638,@harupy)
错误修复
- [Recipes] 修复了 profile cards polyfill 的渲染问题(#7154,@hubertzub-db)
- [Tracking] 当 MLflow 运行名称通过
tags参数传递给mlflow.start_run()时,正确设置 MLflow 运行名称(#7228,@Cokral) - [Tracking] 修复了如果设置了
mlflow.runName标签,则 MLflow 运行名称分配冲突的问题(#7138,@harupy) - [Scoring] 修复了 SageMaker 部署客户端
predict()API 中错误的 payload 构造器错误(#7193,@dbczumar) - [Scoring] 修复了更新 SageMaker 部署时
DataCaptureConfig信息未保留的问题(#7281,@harupy)
有关更改的完整列表,请参阅 发行版更改日志,并查阅 mlflow.org 上的最新文档。
