Microsoft Fabric 中的自动日志记录
Microsoft Fabric 中的 Synapse 数据科学包括自动日志记录,可以大大减少在训练期间自动记录机器学习模型的参数、指标和项所需的代码量。 本文介绍 Microsoft Fabric 中 Synapse 数据科学的自动日志记录。
自动日志记录扩展了 MLflow 跟踪功能,并深度集成到 Microsoft Fabric 中的 Synapse 数据科学体验。 自动日志记录可以捕获各种指标,包括准确性、损失和 F1 分数,以及你定义的自定义指标。 使用自动日志记录,开发人员和数据科学家可以轻松跟踪和比较不同模型和试验的性能,而无需手动跟踪。
支持的框架
自动日志记录支持各种机器学习框架,包括 TensorFlow、PyTorch、Scikit-learn 和 XGBoost。 若要详细了解捕获自动日志记录的特定于框架的属性,请参阅 MLflow 文档。
配置
自动日志记录通过在训练机器学习模型时自动捕获输入参数、输出指标和输出项的值来发挥作用。 这些信息将记录到 Microsoft Fabric 工作区,在那里可以使用 MLflow API 或 Microsoft Fabric 工作区中的相应试验和模型项对其进行访问和可视化。
启动 Synapse 数据科学笔记本时,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 数据科学自动日志记录:
在 Synapse 数据科学工作区中,选择“工作区设置”。
在“工作区设置”屏幕上,展开左侧导航栏上的“数据工程/科学”,然后选择“Spark 设置”。
在“Spark 设置”屏幕上,选择“自动日志”选项卡。
将“自动跟踪机器学习试验和模型”设置为“开”或“关”。
选择“保存”。
相关内容
- 使用 Apache Spark MLlib 生成机器学习模型
- Microsoft Fabric 中的机器学习试验