

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 排定偏差偏離監控工作
<a name="clarify-model-monitor-bias-drift-schedule"></a>

建立基準之後，您可以呼叫 `ModelBiasModelMonitor` 類別執行個體的 `create_monitoring_schedule()` 方法來排程每小時的偏差偏離監控。以下各節說明如何為部署到即時端點的模型以及批次轉換工作建立偏差偏離監控。

**重要**  
在建立監控排程時，您可以指定批次轉換輸入或端點輸入，但不能同時指定兩者。

與資料品質監控不同，如果要監控模型品質，需要提供 Ground Truth 標籤。但是，Ground Truth 標籤可能會延遲。若要解決此問題，請在建立監控排程時指定偏移。如需有關如何建立時間位移的詳細資訊，請參閱[模型監控偏移](model-monitor-model-quality-schedule.md#model-monitor-model-quality-schedule-offsets)。

如果您已提交基準工作，監控會自動從基準工作中挑選分析組態。如果您略過基準步驟，或擷取資料集的性質與訓練資料集的性質不同，則必須提供分析組態。

## 部署至即時端點的模型的偏差偏離監控
<a name="model-monitor-bias-quality-rt"></a>

若要為即時端點排程偏差偏離監控，請將 `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,
    ),
)
```

## 批次轉換工作的偏差偏離監控
<a name="model-monitor-bias-quality-bt"></a>

若要為批次轉換工作排程偏差偏離監控，請將 `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
   ),
)
```