砖Autologging
Databricks Autologging是一个扩展的无代码解决方案MLflow自动测井为Databricks上的机器学习培训课程提供自动实验跟踪。使用Databricks Autologging,当您从各种流行的机器学习库中训练模型时,可以自动捕获模型参数、指标、文件和沿袭信息。训练课程被记录为MLflow跟踪.模型文件也被跟踪,因此您可以轻松地将它们记录到MLflow模型注册表并将它们用于实时评分无服务器实时推理或经典MLflow模型服务于数据库.
下面的视频展示了Databricks在交互式Python笔记本中使用scikit-learn模型培训课程进行自动登录。跟踪信息被自动捕获并显示在experimental Runs侧栏和MLflow UI中。
需求
Databricks autoologging通常可在所有地区与Databricks运行时10.3 ML或以上。
Databricks Autologging可在选定预览区域与Databricks运行时9.0 ML或以上。
它是如何工作的
当您将交互式Python笔记本附加到Databricks集群时,Databricks自动记录将调用mlflow.autolog ()为您的模型训练课程设置跟踪。当你在笔记本上训练模型时,模型训练信息会自动跟踪MLflow跟踪.有关如何保护和管理此模型训练信息的信息,请参见安全和数据管理.
的默认配置mlflow.autolog ()电话是:
mlflow.autolog(log_input_examples=假,log_model_signatures=真正的,log_models=真正的,禁用=假,独家=真正的,disable_for_unsupported_versions=真正的,沉默=真正的)
你可以自定义自动登录配置.
使用
要使用Databricks Autologging,请在支持框架使用交互式的Databricks Python笔记本。Databricks自动记录模型沿袭信息,参数,和指标MLflow跟踪.你也可以自定义Databricks自动记录的行为.
请注意
对象创建的运行不应用Databricks自动记录MLflow fluent API与mlflow.start_run ()
.在这种情况下,你必须打电话mlflow.autolog ()
将自记录的内容保存到MLflow运行中。看到跟踪附加内容.
自定义日志行为
要自定义日志记录,使用mlflow.autolog ().此函数提供配置参数以启用模型日志记录(log_models
),收集输入例子(log_input_examples
),配置警告(沉默
),以及更多。
跟踪附加内容
要使用Databricks Autologging创建的MLflow运行跟踪其他指标、参数、文件和元数据,请在Databricks交互式Python笔记本中执行以下步骤:
调用mlflow.autolog ()与
独家= False
.使用启动MLflow运行mlflow.start_run ().你可以结束这次通话
与mlflow.start_run ()
;执行此操作时,运行将在完成后自动结束。使用MLflow跟踪方法,例如mlflow.log_param (),以追踪培训前的内容。
在Databricks Autologging支持的框架中训练一个或多个机器学习模型。
使用MLflow跟踪方法,例如mlflow.log_metric (),以追踪培训后的内容。
如果你没有使用
与mlflow.start_run ()
在步骤2中,使用结束MLflow运行mlflow.end_run ().
例如:
进口mlflowmlflow.autolog(独家=假)与mlflow.start_run():mlflow.log_param(“example_param”,“example_value”)# <你的模型训练代码这里>mlflow.log_param(“example_metric”,5)
禁用Databricks自动记录
要禁用Databricks交互式Python笔记本中的Databricks自动登录,请调用mlflow.autolog ()与禁用= True
:
进口mlflowmlflow.autolog(禁用=真正的)
管理员还可以禁用工作区中所有集群的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
而且TrainValidationSplit
models还禁用了所有Apache Spark MLlib模型的Databricks自动记录功能。