本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建基准后,您可以调用 ModelBiasModelMonitor
类实例的 create_monitoring_schedule()
方法来计划每小时一次的偏差偏移监控。以下几节介绍如何为部署到实时端点的模型以及为批量转换作业创建偏差偏移监控。
重要
创建监控计划时,您可以指定批量转换输入或端点输入,但不能同时指定两者。
与数据质量监控不同,如果要监控模型质量,则需要提供 Ground Truth 标签。但是,Ground Truth 标签可能会延迟。要解决这个问题,请在创建监控计划时指定偏移量。有关如何创建时间偏移的详细信息,请参阅Model Monitor 偏移量。
如果您已提交设定基准作业,则监控器会自动从设定基准作业中选取分析配置。如果您跳过设定基准步骤,或者捕获数据集的性质与训练数据集不同,则必须提供分析配置。
对部署到实时端点的模型进行偏差偏移监控
要为实时端点计划偏差偏移监控,请将 EndpointInput
实例传递给 ModelBiasModelMonitor
实例的 endpoint_input
参数,如以下代码示例所示:
from sagemaker.model_monitor import CronExpressionGenerator
model_bias_monitor = ModelBiasModelMonitor(
role=sagemaker.get_execution_role(),
...
)
model_bias_analysis_config = None
if not model_bias_monitor.latest_baselining_job:
model_bias_analysis_config = BiasAnalysisConfig(
model_bias_config,
headers=all_headers,
label=label_header,
)
model_bias_monitor.create_monitoring_schedule(
monitor_schedule_name=schedule_name,
post_analytics_processor_script=s3_code_postprocessor_uri,
output_s3_uri=s3_report_path,
statistics=model_bias_monitor.baseline_statistics(),
constraints=model_bias_monitor.suggested_constraints(),
schedule_cron_expression=CronExpressionGenerator.hourly(),
enable_cloudwatch_metrics=True,
analysis_config=model_bias_analysis_config,
endpoint_input=EndpointInput(
endpoint_name=endpoint_name,
destination="/opt/ml/processing/input/endpoint",
start_time_offset="-PT1H",
end_time_offset="-PT0H",
probability_threshold_attribute=0.8,
),
)
对批量转换作业进行偏差偏移监控
要为批量转换作业计划偏差偏移监控,请将 BatchTransformInput
实例传递给 ModelBiasModelMonitor
实例的 batch_transform_input
参数,如以下代码示例所示:
from sagemaker.model_monitor import CronExpressionGenerator
model_bias_monitor = ModelBiasModelMonitor(
role=sagemaker.get_execution_role(),
...
)
model_bias_analysis_config = None
if not model_bias_monitor.latest_baselining_job:
model_bias_analysis_config = BiasAnalysisConfig(
model_bias_config,
headers=all_headers,
label=label_header,
)
schedule = model_bias_monitor.create_monitoring_schedule(
monitor_schedule_name=schedule_name,
post_analytics_processor_script=s3_code_postprocessor_uri,
output_s3_uri=s3_report_path,
statistics=model_bias_monitor.baseline_statistics(),
constraints=model_bias_monitor.suggested_constraints(),
schedule_cron_expression=CronExpressionGenerator.hourly(),
enable_cloudwatch_metrics=True,
analysis_config=model_bias_analysis_config,
batch_transform_input=BatchTransformInput(
destination="opt/ml/processing/input",
data_captured_destination_s3_uri=s3_capture_path,
start_time_offset="-PT1H",
end_time_offset="-PT0H",
probability_threshold_attribute=0.8
),
)