CLI (v2) 计划用于模型监视的 YAML 架构(预览版)

适用于:Azure CLI ml 扩展 v2(当前)

本文档中详细介绍的 YAML 语法基于最新版本的 ML CLI v2 扩展的 JSON 架构。 此语法必定仅适用于最新版本的 ML CLI v2 扩展。 详尽的 JSON 架构请参见 https://azuremlschemas.azureedge.net/latest/monitorSchedule.schema.json。 可以在 https://azuremlschemasprod.azureedge.net/ 上查找早期扩展版本的架构。

YAML 语法

密钥 类型 说明 允许的值
$schema 字符串 YAML 架构。
name 字符串 必需。 计划名称。
description string 计划的描述。
tags object 计划的标记字典。
trigger object 必需。 用于定义何时触发作业的规则的触发器配置。 必须指定 RecurrenceTriggerCronTrigger
create_monitor object 必需。 将由计划触发的监视的定义。 MonitorDefinition 是必需的。

触发器配置

重复触发器

密钥 类型 说明 允许的值
type 字符串 必需。 指定计划类型。 recurrence
frequency 字符串 必需。 指定描述计划触发频率的时间单位。 minutehourdayweekmonth
interval 整型 必需。 指定计划触发的时间间隔。
start_time 字符串 使用时区描述开始日期和时间。 如果省略 start_time,第一个作业将立即运行,以后的作业根据计划触发,即 start_time 等于作业创建时间。 如果开始时间在过去,则第一个作业将在下一个计算的运行时间运行。
end_time 字符串 用时区描述结束日期和时间。 如果省略 end_time,计划将继续运行,直到被显式禁用为止。
timezone 字符串 指定定期时区。 如果省略,则默认为 UTC。 请参阅时区值附录
pattern object 指定定期模式。 如果省略模式,将根据 start_time、frequency 和 interval 的逻辑触发作业。

定期计划

定期计划定义定期模式,包含 hoursminutesweekdays

  • 当频率为 day 时,模式可指定 hoursminutes
  • 当频率为 weekmonth 时,模式可指定 hoursminutesweekdays
密钥 类型 允许的值
hours 整数或整数数组 0-23
minutes 整数或整数数组 0-59
week_days 字符串或字符串数组 mondaytuesdaywednesdaythursdayfridaysaturdaysunday

CronTrigger

密钥 类型 说明 允许的值
type 字符串 必需。 指定计划类型。 cron
expression 字符串 必需。 指定用于定义如何触发作业的 cron 表达式。 表达式使用标准 crontab 表达式来表达定期计划。 单个表达式由 5 个空格分隔的字段组成:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
start_time 字符串 使用时区描述开始日期和时间。 如果省略 start_time,第一个作业将立即运行,以后的作业根据计划触发,即 start_time 等于作业创建时间。 如果开始时间在过去,则第一个作业将在下一个计算的运行时间运行。
end_time 字符串 用时区描述结束日期和时间。 如果 end_time 被省略,计划将继续运行,直到被显式禁用为止。
timezone 字符串 指定定期时区。 如果省略,则默认为 UTC。 请参阅时区值附录

监视定义

密钥 类型 说明 允许的值 默认值
compute Object “必需”。 用于运行监视作业的 Spark 池计算资源的说明。
compute.instance_type String “必需”。 要用于 Spark 池的计算实例类型。 “standard_e4s_v3”、“standard_e8s_v3”、“standard_e16s_v3”、“standard_e32s_v3”、“standard_e64s_v3” 不适用
compute.runtime_version String 可选。 定义 Spark 运行时版本。 3.3 3.3
monitoring_target Object 与模型监视关联的 Azure 机器学习资产。
monitoring_target.ml_task 字符串 模型的机器学习任务。 允许的值为:classificationregressionquestion_answering
monitoring_target.endpoint_deployment_id 字符串 可选。 关联的 Azure 机器学习终结点/部署 ID,格式为 azureml:myEndpointName:myDeploymentName。 如果终结点/部署已启用模型数据收集用于模型监视,则此字段是必需的。
monitoring_target.model_id String 可选。 用于模型监视的关联模型 ID。
monitoring_signals Object 要包含的监视信号字典。 键是监视上下文中监视信号的名称,值是包含监视信号规范的对象。 对于使用最近的以往生产数据作为比较基线并具有 3 个监视信号(数据偏移、预测偏移和数据质量)的基本模型监视可选
alert_notification 字符串或对象 警报通知收件人的说明。 允许两个警报目标之一:azmonitoring 字符串或 emails 对象(包含电子邮件收件人数组)
alert_notification.emails Object 要接收警报通知的电子邮件地址列表。

监视信号

数据偏移

随着用于训练模型的数据在生产中不断演变,数据的分布可能会发生变化,从而导致训练数据与模型用于预测的真实数据之间的不匹配。 数据偏移是当用于训练模型的输入数据的统计属性随时间变化时,机器学习中发生的一种现象。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件。 data_drift data_drift
production_data Object 可选。 要分析以监视信号的生产数据的说明。
production_data.input_data Object 可选。 输入数据源的说明,请参阅作业输入数据规范。
production_data.data_context String 数据的上下文,它引用模型生产数据,可以是模型输入或模型输出 model_inputs
production_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 production_data.data_window.lookback_window_offsetproduction_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 production_data.data_window.window_startproduction_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
production_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 production_data.data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
reference_data Object 可选。 如果未指定,则最近的以往生产数据将用作比较基线数据。 建议使用训练数据作为比较基线。
reference_data.input_data Object 输入数据源的说明,请参阅作业输入数据规范。
reference_data.data_context String 数据的上下文,它是指之前使用数据集的上下文 model_inputstrainingtestvalidation
reference_data.data_column_names.target_column Object 可选。 如果 reference_data 是训练数据,则需要此属性来监视数据偏移的前 N 个特征。
reference_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 reference_data.data_window.lookback_window_offsetreference_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 reference_data.data_window.window_startreference_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
reference_data_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 reference_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
features Object 可选。 要为数据偏移监视的目标特征。 某些模型可能有数百或数千个特征,始终建议指定感兴趣的特征进行监视。 以下值之一:特征名称列表、features.top_n_feature_importanceall_features 如果 production_data.data_contexttraining,则默认值为 features.top_n_feature_importance = 10;否则,默认值为 all_features
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds Object 监视信号的指标和阈值属性列表。 超过阈值且 alert_enabledtrue 时,用户将收到警报通知。
metric_thresholds.numerical Object 可选。 key:value 格式的指标和阈值列表,其中 key 是指标名称,value 是阈值。 允许的数字指标名称:jensen_shannon_distancenormalized_wasserstein_distancepopulation_stability_indextwo_sample_kolmogorov_smirnov_test
metric_thresholds.categorical Object 可选。 “key:value”格式的指标和阈值列表,其中“key”是指标名称,“value”是阈值。 允许的分类指标名称:jensen_shannon_distancechi_squared_testpopulation_stability_index

预测偏移

预测偏移通过将模型预测输出与验证或测试标记的数据或最近的过往生产数据进行比较来跟踪其分布的变化。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件。 prediction_drift prediction_drift
production_data Object 可选。 要分析以监视信号的生产数据的说明。
production_data.input_data Object 可选。 输入数据源的说明,请参阅作业输入数据规范。
production_data.data_context String 数据的上下文,它引用模型生产数据,可以是模型输入或模型输出 model_outputs
production_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 production_data.data_window.lookback_window_offsetproduction_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 production_data.data_window.window_startproduction_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
production_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 production_data.data.input_data.typeuri_folder 时是必填项。 有关预处理组件规范的详细信息,请参阅预处理组件规范
reference_data Object 可选。 如果未指定,则最近的以往生产数据将用作比较基线数据。 建议使用训练数据作为比较基线。
reference_data.input_data Object 输入数据源的说明,请参阅作业输入数据规范。
reference_data.data_context String 数据的上下文,它是指之前使用数据集的上下文 model_inputstrainingtestvalidation
reference_data.data_column_names.target_column Object 可选。 如果“rreference_data”是训练数据,则需要此属性来监视数据偏移的前 N 个特征。
reference_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 reference_data.data_window.lookback_window_offsetreference_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 reference_data.data_window.window_startreference_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
reference_data_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 reference_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
features Object 可选。 要为数据偏移监视的目标特征。 某些模型可能有数百或数千个特征,始终建议指定感兴趣的特征进行监视。 以下值之一:特征名称列表、features.top_n_feature_importanceall_features 如果 production_data.data_contexttraining,则默认值为 features.top_n_feature_importance = 10;否则,默认值为 all_features
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds Object 监视信号的指标和阈值属性列表。 超过阈值且 alert_enabledtrue 时,用户将收到警报通知。
metric_thresholds.numerical Object 可选。 “key:value”格式的指标和阈值列表,其中“key”是指标名称,“value”是阈值。 允许的数字指标名称:jensen_shannon_distancenormalized_wasserstein_distancepopulation_stability_indextwo_sample_kolmogorov_smirnov_test
metric_thresholds.categorical Object 可选。 “key:value”格式的指标和阈值列表,其中“key”是指标名称,“value”是阈值。 允许的分类指标名称:jensen_shannon_distancechi_squared_testpopulation_stability_index

数据质量

数据质量信号通过比较训练数据或最近的过往生产数据来跟踪生产中的数据质量问题。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件 data_quality data_quality
production_data Object 可选。 要分析以监视信号的生产数据的说明。
production_data.input_data Object 可选。 输入数据源的说明,请参阅作业输入数据规范。
production_data.data_context String 数据的上下文,它引用模型生产数据,可以是模型输入或模型输出 model_inputsmodel_outputs
production_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 production_data.data_window.lookback_window_offsetproduction_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 production_data.data_window.window_startproduction_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
production_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 production_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
reference_data Object 可选。 如果未指定,则最近的以往生产数据将用作比较基线数据。 建议使用训练数据作为比较基线。
reference_data.input_data Object 输入数据源的说明,请参阅作业输入数据规范。
reference_data.data_context String 数据的上下文,它是指之前使用数据集的上下文 model_inputsmodel_outputstrainingtestvalidation
reference_data.data_column_names.target_column 对象 可选。 如果“rreference_data”是训练数据,则需要此属性来监视数据偏移的前 N 个特征。
reference_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 reference_data.data_window.lookback_window_offsetreference_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 reference_data.data_window.window_startreference_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
reference_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 reference_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
features Object 可选。 要为数据质量监视的目标特征。 某些模型可能具有数百或数千个特征。 始终建议指定感兴趣的特征进行监视。 以下值之一:特征名称列表、features.top_n_feature_importanceall_features 如果 reference_data.data_contexttraining,则默认值为 features.top_n_feature_importance = 10;否则,默认值为 all_features
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds Object 监视信号的指标和阈值属性列表。 超过阈值且 alert_enabledtrue 时,用户将收到警报通知。
metric_thresholds.numerical Object key:value 格式的指标和阈值的可选列表,其中 key 是指标名称,value 是阈值。 允许的数字指标名称:data_type_error_ratenull_value_rateout_of_bounds_rate
metric_thresholds.categorical Object key:value 格式的指标和阈值的可选列表,其中 key 是指标名称,value 是阈值。 允许的分类指标名称:data_type_error_ratenull_value_rateout_of_bounds_rate

特征归因偏移(预览版)

由于数据分布的变化、特征之间关系的变化或正在解决的基础问题的变化,模型的特征归因可能会随时间而改变。 特征归因偏移是当特征对预测输出的重要性或贡献随时间变化时,机器学习模型中发生的一种现象。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件 feature_attribution_drift feature_attribution_drift
production_data Array 可选;如果未提供,则默认为与 Azure 机器学习终结点关联的收集的数据。 production_data 是数据集及其关联的元数据的列表,它必须包括模型输入和模型输出数据。 它可以是具有模型输入和输出的单个数据集,也可以是包含一个模型输入和一个模型输出的两个单独的数据集。
production_data.input_data Object 可选。 输入数据源的说明,请参阅作业输入数据规范。
production_data.input_data.data_column_names Object key:value 格式的关联列名和预测列名,它们是数据联接所必需的。 允许的键包括:correlation_idtarget_column
production_data.data_context 字符串 数据的上下文。 它指的是生产模型输入数据。 model_inputsmodel_outputsmodel_inputs_outputs
production_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 production_data.data_window.lookback_window_offsetproduction_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 production_data.data_window.window_startproduction_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
production_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 production_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
production_data.data_window_size 字符串 可选。 ISO8601 格式的数据窗口大小(以天为单位),例如 P7D。 这是要为数据质量问题计算的生产数据窗口。 默认情况下,数据窗口大小为最后一个监视期。
reference_data Object 可选。 如果未指定,则最近的以往生产数据将用作比较基线数据。 建议使用训练数据作为比较基线。
reference_data.input_data Object 输入数据源的说明,请参阅作业输入数据规范。
reference_data.data_context String 数据的上下文,它是指之前使用数据集的上下文。 对于特征属性偏移,仅允许 training 数据。 training
reference_data.data_column_names.target_column 字符串 必需。
reference_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 reference_data.data_window.lookback_window_offsetreference_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 reference_data.data_window.window_startreference_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
reference_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 reference_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds Object key:value 格式的特性属性偏移的指标名称和阈值,其中 key 是指标名称,value 是阈值。 超过阈值且 alert_enabled 处于打开状态时,用户将收到警报通知。 允许的指标名称:normalized_discounted_cumulative_gain

自定义监视信号

通过自定义 Azure 机器学习组件自定义监视信号。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件。 custom custom
component_id 字符串 必需。 与你的自定义信号相对应的 Azure 机器学习组件 ID。 例如 azureml:mycustomcomponent:1
input_data Object 可选。 监视信号要分析的输入数据的说明,请参阅作业输入数据规范。
input_data.<data_name>.data_context 字符串 数据的上下文,它引用模型生产数据,可以是模型输入或模型输出 model_inputs
input_data.<data_name>.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 input_data.<data_name>.data_window.lookback_window_offsetinput_data.<data_name>.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 input_data.<data_name>.data_window.window_startinput_data.<data_name>.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
input_data.<data_name>.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 input_data.<data_name>.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds.metric_name Object 自定义指标的名称。
threshold Object 自定义指标的可接受阈值。

模型性能(预览版)

模型性能跟踪生产中模型输出的客观性能的方式是将其与收集的地面实况数据进行比较。

密钥 类型 说明 允许的值 默认值
type String “必需”。 监视信号的类型。 根据此处指定的 type 自动加载预生成的监视信号处理组件 model_performance model_performance
production_data Array 可选;如果未提供,则默认为与 Azure 机器学习终结点关联的收集的数据。 production_data 是数据集及其关联的元数据的列表,它必须包括模型输入和模型输出数据。 它可以是具有模型输入和输出的单个数据集,也可以是包含一个模型输入和一个模型输出的两个单独的数据集。
production_data.input_data Object 可选。 输入数据源的说明,请参阅作业输入数据规范。
production_data.input_data.data_column_names Object key:value 格式的关联列名和预测列名,它们是数据联接所必需的。 允许的键包括:correlation_idtarget_column
production_data.data_context 字符串 数据的上下文。 它指的是生产模型输入数据。 model_inputsmodel_outputsmodel_inputs_outputs
production_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 production_data.data_window.lookback_window_offsetproduction_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 production_data.data_window.window_startproduction_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
production_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 production_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
production_data.data_window_size 字符串 可选。 ISO8601 格式的数据窗口大小(以天为单位),例如 P7D。 这是要为数据质量问题计算的生产数据窗口。 默认情况下,数据窗口大小为最后一个监视期。
reference_data Object 可选。 如果未指定,则最近的以往生产数据将用作比较基线数据。 建议使用训练数据作为比较基线。
reference_data.input_data Object 输入数据源的说明,请参阅作业输入数据规范。
reference_data.data_context String 数据的上下文,它是指之前使用数据集的上下文。 对于特征属性偏移,仅允许 training 数据。 training
reference_data.data_column_names.target_column 字符串 必需。
reference_data.data_window Object 可选。 要用作比较基线数据的引用数据的数据窗口。 仅允许滚动数据窗口或固定数据窗口。 若要使用滚动数据窗口,请指定 reference_data.data_window.lookback_window_offsetreference_data.data_window.lookback_window_size 属性。 若要使用固定数据窗口,请指定 reference_data.data_window.window_startreference_data.data_window.window_end 属性。 所有属性值都必须采用 ISO8601 格式。
reference_data.pre_processing_component 字符串 已注册组件的组件 ID(采用 azureml:myPreprocessing@latest 格式)。 如果 reference_data.input_data.typeuri_folder,则为必需项,请参阅预处理组件规范
alert_enabled 布尔 打开/关闭监视信号的警报通知。 TrueFalse
metric_thresholds.classification Object key:value 格式的指标和阈值的可选列表,其中 key 是指标名称,value 是阈值。 允许的 classification 指标名称:accuracyprecisionrecall
metric_thresholds.regression Object key:value 格式的指标和阈值的可选列表,其中 key 是指标名称,value 是阈值。 允许的 regression 指标名称:maemsermse

注解

az ml schedule 命令可用于管理 Azure 机器学习模型。

示例

示例 GitHub 存储库中提供了监视 CLI 示例。 一些指标和阈值如下:

YAML:现成的监视器

适用于:Azure CLI ml 扩展 v2(当前)

# out-of-box-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: credit_default_model_monitoring
display_name: Credit default model monitoring
description: Credit default model monitoring setup with minimal configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: # specify a spark compute for monitoring job
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target: 
    ml_task: classification # model task type: [classification, regression, question_answering]
    endpoint_deployment_id: azureml:credit-default:main # azureml endpoint deployment id

  alert_notification: # emails to get alerts
    emails:
      - abc@example.com
      - def@example.com

YAML:高级监视器

适用于:Azure CLI ml 扩展 v2(当前)

# advanced-model-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: fraud_detection_model_monitoring
display_name: Fraud detection model monitoring
description: Fraud detection model monitoring with advanced configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: 
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target:
    ml_task: classification
    endpoint_deployment_id: azureml:credit-default:main
  
  monitoring_signals:
    advanced_data_drift: # monitoring signal name, any user defined name works
      type: data_drift
      # reference_dataset is optional. By default referece_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1 # use training data as comparison reference dataset
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      features: 
        top_n_feature_importance: 10 # monitor drift for top 10 features
      metric_thresholds:
        numerical:
          jensen_shannon_distance: 0.01
        categorical:
          pearsons_chi_squared_test: 0.02
    advanced_data_quality:
      type: data_quality
      # reference_dataset is optional. By default reference_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
      features: # monitor data quality for 3 individual features only
        - SEX
        - EDUCATION
      metric_thresholds:
        numerical:
          null_value_rate: 0.05
        categorical:
          out_of_bounds_rate: 0.03

    feature_attribution_drift_signal:
      type: feature_attribution_drift
      # production_data: is not required input here
      # Please ensure Azure Machine Learning online endpoint is enabled to collected both model_inputs and model_outputs data
      # Azure Machine Learning model monitoring will automatically join both model_inputs and model_outputs data and used it for computation
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      metric_thresholds:
        normalized_discounted_cumulative_gain: 0.9
  
  alert_notification:
    emails:
      - abc@example.com
      - def@example.com

附录

时区

当前计划支持以下时区。 键可直接在 Python SDK 中使用,而值可在 YAML 作业中使用。 下表按 UTC(协调世界时)进行整理。

UTC 密钥
UTC -12:00 DATELINE_STANDARD_TIME “国际日期变更线标准时间”
UTC -11:00 UTC_11 “UTC-11”
UTC - 10:00 ALEUTIAN_STANDARD_TIME 阿留申群岛标准时间
UTC - 10:00 HAWAIIAN_STANDARD_TIME “夏威夷标准时间”
UTC -09:30 MARQUESAS_STANDARD_TIME “马克萨斯标准时间”
UTC -09:00 ALASKAN_STANDARD_TIME “阿拉斯加标准时间”
UTC -09:00 UTC_09 “UTC-09”
UTC -08:00 PACIFIC_STANDARD_TIME_MEXICO “太平洋标准时间(墨西哥)”
UTC -08:00 UTC_08 “UTC-08”
UTC -08:00 PACIFIC_STANDARD_TIME “太平洋标准时间”
UTC -07:00 US_MOUNTAIN_STANDARD_TIME “美国山地标准时间”
UTC -07:00 MOUNTAIN_STANDARD_TIME_MEXICO “山地标准时间(墨西哥)”
UTC -07:00 MOUNTAIN_STANDARD_TIME “山地标准时间”
UTC -06:00 CENTRAL_AMERICA_STANDARD_TIME “中美洲标准时间”
UTC -06:00 CENTRAL_STANDARD_TIME “中部标准时间”
UTC -06:00 EASTER_ISLAND_STANDARD_TIME “复活节岛标准时间”
UTC -06:00 CENTRAL_STANDARD_TIME_MEXICO “中部标准时间(墨西哥)”
UTC -06:00 CANADA_CENTRAL_STANDARD_TIME “加拿大中部标准时间”
UTC -05:00 SA_PACIFIC_STANDARD_TIME “南美洲太平洋标准时间”
UTC -05:00 EASTERN_STANDARD_TIME_MEXICO “东部标准时间(墨西哥)”
UTC -05:00 EASTERN_STANDARD_TIME “东部标准时间”
UTC -05:00 HAITI_STANDARD_TIME “海地标准时间”
UTC -05:00 CUBA_STANDARD_TIME “古巴标准时间”
UTC -05:00 US_EASTERN_STANDARD_TIME “美国东部标准时间”
UTC -05:00 TURKS_AND_CAICOS_STANDARD_TIME “特克斯和凯科斯群岛标准时间”
UTC -04:00 PARAGUAY_STANDARD_TIME “巴拉圭标准时间”
UTC -04:00 ATLANTIC_STANDARD_TIME “大西洋标准时间”
UTC -04:00 VENEZUELA_STANDARD_TIME “委内瑞拉标准时间”
UTC -04:00 CENTRAL_BRAZILIAN_STANDARD_TIME “巴西中部标准时间”
UTC -04:00 SA_WESTERN_STANDARD_TIME “南美洲西部标准时间”
UTC -04:00 PACIFIC_SA_STANDARD_TIME “太平洋南美洲标准时间”
UTC -03:30 NEWFOUNDLAND_STANDARD_TIME “纽芬兰标准时间”
UTC -03:00 TOCANTINS_STANDARD_TIME “托坎廷斯标准时间”
UTC -03:00 E_SOUTH_AMERICAN_STANDARD_TIME “E. 南美洲标准时间”
UTC -03:00 SA_EASTERN_STANDARD_TIME “南美洲东部标准时间”
UTC -03:00 ARGENTINA_STANDARD_TIME “阿根廷标准时间”
UTC -03:00 GREENLAND_STANDARD_TIME “格陵兰标准时间”
UTC -03:00 MONTEVIDEO_STANDARD_TIME “蒙得维的亚标准时间”
UTC -03:00 SAINT_PIERRE_STANDARD_TIME “圣皮埃尔标准时间”
UTC -03:00 BAHIA_STANDARD_TIM “巴伊亚标准时间”
UTC -02:00 UTC_02 “UTC-02”
UTC -02:00 MID_ATLANTIC_STANDARD_TIME “中大西洋标准时间”
UTC -01:00 AZORES_STANDARD_TIME “亚速尔群岛标准时间”
UTC -01:00 CAPE_VERDE_STANDARD_TIME “佛得角群岛标准时间”
UTC UTC UTC
UTC +00:00 GMT_STANDARD_TIME “GMT 标准时间”
UTC +00:00 GREENWICH_STANDARD_TIME “格林威治标准时间”
UTC +01:00 MOROCCO_STANDARD_TIME “摩洛哥标准时间”
UTC +01:00 W_EUROPE_STANDARD_TIME “西 欧标准时间”
UTC +01:00 CENTRAL_EUROPE_STANDARD_TIME “中欧标准时间”
UTC +01:00 ROMANCE_STANDARD_TIME “罗马标准时间”
UTC +01:00 CENTRAL_EUROPEAN_STANDARD_TIME “中欧标准时间”
UTC +01:00 W_CENTRAL_AFRICA_STANDARD_TIME “中非 西部标准时间”
UTC +02:00 NAMIBIA_STANDARD_TIME “纳米比亚标准时间”
UTC +02:00 JORDAN_STANDARD_TIME “约旦标准时间”
UTC +02:00 GTB_STANDARD_TIME “GTB 标准时间”
UTC +02:00 MIDDLE_EAST_STANDARD_TIME “中东标准时间”
UTC +02:00 EGYPT_STANDARD_TIME “埃及标准时间”
UTC +02:00 E_EUROPE_STANDARD_TIME “E. 欧标准时间”
UTC +02:00 SYRIA_STANDARD_TIME “叙利亚标准时间”
UTC +02:00 WEST_BANK_STANDARD_TIME “西岸标准时间”
UTC +02:00 SOUTH_AFRICA_STANDARD_TIME “南非标准时间”
UTC +02:00 FLE_STANDARD_TIME “FLE 标准时间”
UTC +02:00 ISRAEL_STANDARD_TIME “以色列标准时间”
UTC +02:00 KALININGRAD_STANDARD_TIME “加里宁格勒标准时间”
UTC +02:00 LIBYA_STANDARD_TIME “利比亚标准时间”
UTC +03:00 TÜRKIYE_STANDARD_TIME “土耳其标准时间”
UTC +03:00 ARABIC_STANDARD_TIME “阿拉伯标准时间”
UTC +03:00 ARAB_STANDARD_TIME “阿拉伯标准时间”
UTC +03:00 BELARUS_STANDARD_TIME “白俄罗斯标准时间”
UTC +03:00 RUSSIAN_STANDARD_TIME “俄罗斯标准时间”
UTC +03:00 E_AFRICA_STANDARD_TIME “E. 非标准时间”
UTC +03:30 IRAN_STANDARD_TIME “伊朗标准时间”
UTC +04:00 ARABIAN_STANDARD_TIME “阿拉伯半岛标准时间”
UTC +04:00 ASTRAKHAN_STANDARD_TIME “阿斯特拉罕标准时间”
UTC +04:00 AZERBAIJAN_STANDARD_TIME “阿塞拜疆标准时间”
UTC +04:00 RUSSIA_TIME_ZONE_3 “俄罗斯时区 3”
UTC +04:00 MAURITIUS_STANDARD_TIME “毛里求斯标准时间”
UTC +04:00 GEORGIAN_STANDARD_TIME “格鲁吉亚标准时间”
UTC +04:00 CAUCASUS_STANDARD_TIME “高加索标准时间”
UTC +04:30 AFGHANISTAN_STANDARD_TIME “阿富汗标准时间”
UTC +05:00 WEST_ASIA_STANDARD_TIME “西亚标准时间”
UTC +05:00 EKATERINBURG_STANDARD_TIME “叶卡捷琳堡标准时间”
UTC +05:00 PAKISTAN_STANDARD_TIME “巴基斯坦标准时间”
UTC +05:30 INDIA_STANDARD_TIME “印度标准时间”
UTC +05:30 SRI_LANKA_STANDARD_TIME “斯里兰卡标准时间”
UTC +05:45 NEPAL_STANDARD_TIME “尼泊尔标准时间”
UTC +06:00 CENTRAL_ASIA_STANDARD_TIME “中亚北部标准时间”
UTC +06:00 BANGLADESH_STANDARD_TIME “孟加拉标准时间”
UTC +06:30 MYANMAR_STANDARD_TIME “缅甸标准时间”
UTC +07:00 N_CENTRAL_ASIA_STANDARD_TIME “中亚 北部标准时间”
UTC +07:00 SE_ASIA_STANDARD_TIME “东南亚标准时间”
UTC +07:00 ALTAI_STANDARD_TIME “阿尔泰标准时间”
UTC +07:00 W_MONGOLIA_STANDARD_TIME “西 蒙古标准时间”
UTC +07:00 NORTH_ASIA_STANDARD_TIME “北亚标准时间”
UTC +07:00 TOMSK_STANDARD_TIME “托木斯克标准时间”
UTC +08:00 CHINA_STANDARD_TIME “中国标准时间”
UTC +08:00 NORTH_ASIA_EAST_STANDARD_TIME “北亚东部标准时间”
UTC +08:00 SINGAPORE_STANDARD_TIME “新加坡标准时间”
UTC +08:00 W_AUSTRALIA_STANDARD_TIME “澳大利亚 西部标准时间”
UTC +08:00 TAIPEI_STANDARD_TIME “台北标准时间”
UTC +08:00 ULAANBAATAR_STANDARD_TIME “乌兰巴托标准时间”
UTC +08:45 AUS_CENTRAL_W_STANDARD_TIME “澳大利亚中西部标准时间”
UTC +09:00 NORTH_KOREA_STANDARD_TIME “朝鲜标准时间”
UTC +09:00 TRANSBAIKAL_STANDARD_TIME “外贝加尔标准时间”
UTC +09:00 TOKYO_STANDARD_TIME “东京标准时间”
UTC +09:00 KOREA_STANDARD_TIME “韩国标准时间”
UTC +09:00 YAKUTSK_STANDARD_TIME “雅库茨克标准时间”
UTC +09:30 CEN_AUSTRALIA_STANDARD_TIME “中部 澳大利亚标准时间”
UTC +09:30 AUS_CENTRAL_STANDARD_TIME “澳大利亚中部标准时间”
UTC +10:00 E_AUSTRALIAN_STANDARD_TIME “E. 澳大利亚标准时间”
UTC +10:00 AUS_EASTERN_STANDARD_TIME “澳大利亚东部标准时间”
UTC +10:00 WEST_PACIFIC_STANDARD_TIME “太平洋西部标准时间”
UTC +10:00 TASMANIA_STANDARD_TIME “塔斯马尼亚岛标准时间”
UTC +10:00 VLADIVOSTOK_STANDARD_TIME “符拉迪沃斯托克标准时间”
UTC +10:30 LORD_HOWE_STANDARD_TIME “豪勋爵岛标准时间”
UTC +11:00 BOUGAINVILLE_STANDARD_TIME “布干维尔标准时间”
UTC +11:00 RUSSIA_TIME_ZONE_10 “俄罗斯时区 10”
UTC +11:00 MAGADAN_STANDARD_TIME “马加丹标准时间”
UTC +11:00 NORFOLK_STANDARD_TIME “诺福克标准时间”
UTC +11:00 SAKHALIN_STANDARD_TIME “萨哈林标准时间”
UTC +11:00 CENTRAL_PACIFIC_STANDARD_TIME “太平洋中部标准时间”
UTC +12:00 RUSSIA_TIME_ZONE_11 “俄罗斯时区 11”
UTC +12:00 NEW_ZEALAND_STANDARD_TIME “新西兰标准时间”
UTC +12:00 UTC_12 “UTC+12”
UTC +12:00 FIJI_STANDARD_TIME “斐济标准时间”
UTC +12:00 KAMCHATKA_STANDARD_TIME “勘察加标准时间”
UTC +12:45 CHATHAM_ISLANDS_STANDARD_TIME “查塔姆群岛标准时间”
UTC +13:00 TONGA__STANDARD_TIME “汤加标准时间”
UTC +13:00 SAMOA_STANDARD_TIME “萨摩亚标准时间”
UTC +14:00 LINE_ISLANDS_STANDARD_TIME “来恩群岛标准时间”