バイアスドリフトのモニタリングジョブをスケジュールする - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バイアスドリフトのモニタリングジョブをスケジュールする

ベースラインを作成したら、ModelBiasModelMonitor クラスインスタンスの create_monitoring_schedule() メソッドを呼び出して、1 時間ごとのバイアスドリフトモニターをスケジュールできます。以下のセクションでは、リアルタイムエンドポイントにデプロイされたモデルとバッチ変換ジョブのバイアスドリフトモニターを作成する方法を示します。

重要

モニタリングスケジュールを作成するときに、バッチ変換入力またはエンドポイント入力のいずれかを指定できますが、両方を指定することはできません。

データ品質モニタリングとは異なり、モデル品質をモニタリングしたい場合は Ground Truth ラベルを指定する必要があります。ただし、Ground Truth ラベルは遅れる可能性があります。これに対処するには、モニタリングスケジュールを作成するときにオフセットを指定します。タイムオフセットの作成方法の詳細については、「モデルモニターのオフセット」を参照してください。

ベースライン作成ジョブを送信済みである場合、モニタリングジョブはベースライン作成ジョブから分析設定を自動的に取得します。ベースライン作成のステップをスキップした場合、またはキャプチャするデータセットがトレーニングデータセットと異なる性質を持つ場合は、分析設定を指定する必要があります。

リアルタイムエンドポイントにデプロイされたモデルのバイアスドリフトモニタリング

リアルタイムエンドポイントのバイアスドリフトモニターをスケジュールするには、次のコードサンプルに示すように、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 ), )