바이어스 드리프트 모니터링 작업 예약 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

바이어스 드리프트 모니터링 작업 예약

기준 생성을 마쳤다면, ModelBiasModelMonitor클래스 인스턴스의 create_monitoring_schedule()메서드를 호출하여 시간별 바이어스 드리프트 모니터를 예약할 수 있습니다. 다음 섹션은 실시간 엔드포인트에 배포된 모델 및 배치 변환 작업에 사용할 바이어스 드리프트 모니터를 생성하는 방법을 보여줍니다.

중요

모니터링 일정을 생성할 때는 배치 변환 입력이나 엔드포인트 입력 중에서 하나를 지정할 수 있지만, 둘 다 지정할 수는 없습니다.

데이터 품질 모니터링과는 달리, 모델 품질을 모니터링하려면 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 ), )