Apache Spark MLlib和自动MLflow跟踪

请注意

MLlib自动MLflow跟踪在运行Databricks Runtime 10.1 ML及以上版本的集群上已弃用,在运行Databricks Runtime 10.2 ML及以上版本的集群上默认禁用。相反,使用MLflow PySpark ML自录通过调用mlflow.pyspark.ml.autolog (),默认启用砖Autologging

要在Databricks Runtime 10.2 ML或以上版本中使用旧的MLlib自动MLflow跟踪,请通过设置火花配置spark.databricks.mlflow.trackMLlib.enabled真正的而且spark.databricks.mlflow.autologging.enabled

MLflow是一个用于管bob下载地址理端到端机bob体育客户端下载器学习生命周期的开源平台。MLflow支持跟踪Python、R和Scala中的机器学习模型调优。仅适用于Python笔记本,砖运行时而且Databricks运行时机器学习支持自动化MLflow跟踪用于Apache Spark MLlib模型调优。

使用MLlib自动MLflow跟踪,当您运行使用的调优代码时CrossValidatorTrainValidationSplit,超参数和评估指标自动登录MLflow。如果没有自动MLflow跟踪,则必须进行显式API调用以记录MLflow。

管理MLflow运行

CrossValidatorTrainValidationSplit在嵌套MLflow运行时记录调优结果:

  • 主或父运行:用于的信息CrossValidatorTrainValidationSplit记录到主运行。如果已经有活动运行,则将信息记录到此活动运行,并且不会停止活动运行。如果没有活动运行,MLflow将创建一个新的运行,记录到它,并在返回之前结束运行。

  • 子运行:测试的每个超参数设置和相应的评估度量都记录到主运行下的子运行。

当调用符合(), Databricks推荐主动MLflow运行管理;即,将呼叫转到符合()在一个mlflow.start_run ():”声明。这确保信息被记录在自己的MLflow主运行下,并且更容易记录该运行的附加标记、参数或指标。

请注意

符合()在同一活动MLflow运行中被多次调用,它将这些多次运行记录到同一主运行。为了解决MLflow参数和标记的名称冲突,MLflow将一个UUID附加到有冲突的名称上。

下面的Python笔记本演示了自动MLflow跟踪。

自动MLflow跟踪笔记本

在新标签页打开笔记本

当你在笔记本的最后一个单元格中执行操作后,你的MLflow UI应该显示:

MLlib-MLflow演示