砖Autologging

Databricks Autologging是一个扩展的无代码解决方案MLflow自动测井为Databricks上的机器学习培训课程提供自动实验跟踪。使用Databricks Autologging,当您从各种流行的机器学习库中训练模型时,可以自动捕获模型参数、指标、文件和沿袭信息。训练课程被记录为MLflow跟踪.模型文件也被跟踪,因此您可以轻松地将它们记录到MLflow模型注册表并将它们用于实时评分无服务器实时推理经典MLflow模型服务于数据库

下面的视频展示了Databricks在交互式Python笔记本中使用scikit-learn模型培训课程进行自动登录。跟踪信息被自动捕获并显示在experimental Runs侧栏和MLflow UI中。

Autologging例子

需求

  • Databricks autoologging通常可在所有地区与Databricks运行时10.3 ML或以上。

  • Databricks Autologging可在选定预览区域与Databricks运行时9.0 ML或以上。

它是如何工作的

当您将交互式Python笔记本附加到Databricks集群时,Databricks自动记录将调用mlflow.autolog ()为您的模型训练课程设置跟踪。当你在笔记本上训练模型时,模型训练信息会自动跟踪MLflow跟踪.有关如何保护和管理此模型训练信息的信息,请参见安全和数据管理

的默认配置mlflow.autolog ()电话是:

mlflowautologlog_input_exampleslog_model_signatures真正的log_models真正的禁用独家真正的disable_for_unsupported_versions真正的沉默真正的

你可以自定义自动登录配置

使用

要使用Databricks Autologging,请在支持框架使用交互式的Databricks Python笔记本。Databricks自动记录模型沿袭信息,参数,和指标MLflow跟踪.你也可以自定义Databricks自动记录的行为

请注意

对象创建的运行不应用Databricks自动记录MLflow fluent APImlflow.start_run ().在这种情况下,你必须打电话mlflow.autolog ()将自记录的内容保存到MLflow运行中。看到跟踪附加内容

自定义日志行为

要自定义日志记录,使用mlflow.autolog ().此函数提供配置参数以启用模型日志记录(log_models),收集输入例子(log_input_examples),配置警告(沉默),以及更多。

跟踪附加内容

要使用Databricks Autologging创建的MLflow运行跟踪其他指标、参数、文件和元数据,请在Databricks交互式Python笔记本中执行以下步骤:

  1. 调用mlflow.autolog ()独家= False

  2. 使用启动MLflow运行mlflow.start_run ().你可以结束这次通话mlflow.start_run ();执行此操作时,运行将在完成后自动结束。

  3. 使用MLflow跟踪方法,例如mlflow.log_param (),以追踪培训前的内容。

  4. 在Databricks Autologging支持的框架中训练一个或多个机器学习模型。

  5. 使用MLflow跟踪方法,例如mlflow.log_metric (),以追踪培训后的内容。

  6. 如果你没有使用mlflow.start_run ()在步骤2中,使用结束MLflow运行mlflow.end_run ()

例如:

进口mlflowmlflowautolog独家mlflowstart_run():mlflowlog_param“example_param”“example_value”# <你的模型训练代码这里>mlflowlog_param“example_metric”5

禁用Databricks自动记录

要禁用Databricks交互式Python笔记本中的Databricks自动登录,请调用mlflow.autolog ()禁用= True

进口mlflowmlflowautolog禁用真正的

管理员还可以禁用工作区中所有集群的Databricks自动登录先进的的标签。管理控制台.必须重新启动集群才能使此更改生效。

受支持的环境和框架

交互式Python笔记本支持Databricks自动记录,并可用于以下ML框架:

  • scikit-learn

  • Apache Spark MLlib

  • TensorFlow

  • Keras

  • PyTorch闪电

  • XGBoost

  • LightGBM

  • 胶子

  • 快。Ai(版本1.x)

  • statsmodels。

有关每个受支持框架的更多信息,请参见MLflow自动测井

安全和数据管理

所有与Databricks Autologging跟踪的模型训练信息都存储在MLflow Tracking中,并由实验权限.控件共享、修改或删除模型训练信息MLflow跟踪API或UI。

政府

管理员可以在工作区中为所有交互式笔记本会话启用或禁用Databricks自动记录先进的的标签。管理控制台.更改直到重新启动集群才生效。

限制

  • Databricks自动登录在Databricks Runtime 8.4 ML或以下版本中不支持,也在任何版本的Databricks Runtime中不支持。要在这些运行时版本中使用自动记录,可以显式调用mlflow.autolog ()

  • Databricks作业不支持Databricks自动记录。要从作业中使用自动记录,可以显式调用mlflow.autolog ()

  • Databricks自动登录仅在您的Databricks集群的驱动程序节点上启用。若要从工作节点使用自动记录,必须显式调用mlflow.autolog ()在每个worker上执行的代码中。

  • 不支持XGBoost scikit-learn集成。

Apache Spark MLlib, Hyperopt和自动MLflow跟踪

Databricks自动记录不会改变现有自动化MLflow跟踪集成的行为Apache Spark MLlib而且Hyperopt

请注意

在Databricks Runtime 10.1 ML中,禁用Apache Spark MLlib的自动MLflow跟踪集成CrossValidator而且TrainValidationSplitmodels还禁用了所有Apache Spark MLlib模型的Databricks自动记录功能。