使用 MLflow 跟踪模型开发

本文包含了在 Azure Databricks 中跟踪模型开发的示例。 使用 MLflow 自动记录和跟踪 ML 和深度学习模型,或使用 MLflow API 手动操作。

模型跟踪与 MLflow

模型开发过程是迭代的过程,当你开发和优化模型时,跟踪工作可能会很有挑战性。 在 Azure Databricks 中,可使用 MLflow 跟踪来帮助你记录模型开发过程,包括你尝试过的参数设置或组合,以及它们如何影响模型的性能。

MLflow 跟踪使用试验运行来记录和跟踪 ML 和深度学习模型开发。 一次运行就是执行一次模型代码。 在一次 MLflow 运行期间,可记录模型参数和结果。 试验是相关运行的集合。 在试验中,你可以比较并筛选运行,了解模型如何执行,以及它的性能如何取决于参数设置、输入数据等。

本文中的笔记本提供简单的示例,可帮助你快速开始使用 MLflow 来跟踪模型开发。 有关在 Azure Databricks 中使用 MLflow 跟踪的更多详细信息,请参阅跟踪 ML 和深度学习训练运行

注意

MLflow 跟踪不支持通过作业 API 中的 spark_submit_task 提交的作业。 可改为使用 MLflow 项目运行 Spark 代码。

使用 autologging 跟踪模型开发

MLflow 可自动记录在许多 ML 和深度学习框架中编写的训练代码。 这是开始使用 MLflow 跟踪的最简单方法。

此示例笔记本介绍如何结合使用 autologging 和 scikit-learn。 有关使用其他 Python 库的 autologging 的信息,请参阅自动将训练运行记录到 MLflow

MLflow 自动记录 Python 笔记本

获取笔记本

使用日志记录 API 跟踪模型开发

此笔记本说明了如何使用 MLflow 日志记录 API。 使用日志记录 API,你可以更好地控制记录的指标,还可以记录其他项目,例如表或绘图。

此示例笔记本介绍如何使用 Python 日志记录 API。 MLflow 还具有 REST、R 和 Java API

MLflow 记录 API Python 笔记本

获取笔记本

端到端示例

本教程笔记本介绍了一个在 Azure Databricks 中训练模型的端到端示例,包括加载数据、对数据进行可视化、设置并行超参数优化,以及使用 MLflow 查看结果、注册模型和通过 Spark UDF 中的已注册模型对新数据执行推理。

要求

Databricks Runtime ML

示例笔记本

如果为 Unity Catalog 启用了工作区,请使用此版本的笔记本:

在 Databricks 上将 scikit-learn 与 MLflow 集成配合使用 (Unity Catalog)

获取笔记本

如果未为 Unity Catalog 启用工作区,请使用此版本的笔记本:

在 Databricks 上将 scikit-learn 与 MLflow 集成配合使用

获取笔记本