Microsoft Fabric 中的自动日志记录
Microsoft Fabric 中的 Synapse Data Science 包括自动记录,这大大减少了在训练期间自动记录机器学习模型的参数、指标和项所需的代码量。 本文介绍 Microsoft Fabric 中 Synapse 数据科学的自动日志记录功能。
自动日志记录扩展了 MLflow 跟踪功能,并深度集成到 Microsoft Fabric 中的 Synapse 数据科学体验。 自动记录可以捕获各种指标,包括准确性、损失、F1 分数和定义的自定义指标。 通过使用自动记录,开发人员和数据科学家可以轻松跟踪和比较不同模型和试验的性能,而无需手动跟踪。
支持的框架
自动记录支持各种机器学习框架,包括 TensorFlow、PyTorch、Scikit-learn 和 XGBoost。 若要详细了解自动记录功能捕捉到的框架特有的属性,请参阅 MLflow 文档。
配置
自动记录的工作原理是,在训练机器学习模型时自动捕获输入参数、输出指标和输出项的值。 此信息被记录到 Microsoft Fabric 工作区中,您可以通过使用 MLflow API 或 Microsoft Fabric 工作区中的相应试验和模型项来访问和可视化这些数据。
启动 Synapse Data Science 笔记本时,Microsoft Fabric 调用 mlflow.autolog() 以立即启用跟踪并加载相应的依赖项。 在笔记本中训练模型时,MLflow 会自动跟踪此模型信息。
运行 import mlflow
时,配置将在后台自动完成。 笔记本 mlflow.autolog() 挂钩的默认配置是:
mlflow.autolog(
log_input_examples=False,
log_model_signatures=True,
log_models=True,
disable=False,
exclusive=True,
disable_for_unsupported_versions=True,
silent=True
)
自定义
若要自定义日志记录行为,可以使用 mlflow.autolog() 配置。 此配置提供用于启用模型日志记录、收集输入示例、配置警告或为指定的添加内容启用日志记录的参数。
跟踪更多指标、参数和属性
对于使用 MLflow 创建的运行,请更新 MLflow 自动记录配置以跟踪其他指标、参数、文件和元数据,如下所示:
更新 mlflow.autolog () 调用以设置
exclusive=False
。mlflow.autolog( log_input_examples=False, log_model_signatures=True, log_models=True, disable=False, exclusive=False, # Update this property to enable custom logging disable_for_unsupported_versions=True, silent=True )
使用 MLflow 跟踪 API 记录其他参数和指标。 以下示例代码使你可以将自定义指标和参数与其他属性一起记录。
import mlflow mlflow.autolog(exclusive=False) with mlflow.start_run(): mlflow.log_param("parameter name", "example value") # <add model training code here> mlflow.log_metric("metric name", 20)
禁用 Microsoft Fabric 自动记录功能
可以禁用特定笔记本会话的 Microsoft Fabric 自动日志记录。 还可以使用工作区设置在所有笔记本中禁用自动记录。
禁用笔记本会话的自动记录
若要禁用特定笔记本会话的 Microsoft Fabric 自动记录,请调用 mlflow.autolog() 并设置 disable=True
。
import mlflow
mlflow.autolog(disable=True)
禁用所有笔记本和会话的自动日志记录
工作区管理员可以使用工作区设置为其工作区中的所有笔记本和会话启用或禁用Microsoft Fabric 自动记录。 启用或禁用 Synapse Data Science 自动日志记录功能:
在工作区中选择“工作区设置”。
在 工作区设置中,展开左侧导航栏上的 数据工程/科学,然后选择 Spark 设置。
在 Spark 设置中,选择 自动日志 选项卡。
将“自动跟踪机器学习试验和模型”设置为“开”或“关”。
选择 保存。