Programar trabalhos de monitoramento de desvio de polarização - Amazon SageMaker

Programar trabalhos de monitoramento de desvio de polarização

Depois de criar sua linha de base, você pode chamar o método create_monitoring_schedule() da sua instância de classe ModelBiasModelMonitor para programar um monitor horário de qualidade do desvio de polarização. As seções a seguir mostram como criar um monitor de desvio de polarização para um modelo implantado em um endpoint em tempo real, bem como para um trabalho de transformação em lotes.

Importante

Você pode especificar uma entrada de transformação em lote ou uma entrada de endpoint, mas não ambas, ao criar sua programação de monitoramento.

Ao contrário do monitoramento da qualidade dos dados, você precisa fornecer rótulos do Ground Truth se quiser monitorar a qualidade do modelo. No entanto, os rótulos do Ground Truth podem ser adiados. Para resolver isso, especifique compensações ao criar sua programação de monitoramento. Para obter detalhes sobre como criar deslocamentos de tempo, consulte Deslocamentos do monitor do modelo.

Se você enviou um trabalho de linha de base, o monitor seleciona automaticamente a configuração de análise do trabalho de linha de base. Se você pular a etapa de definição de linha de base ou se o conjunto de dados de captura tiver uma natureza diferente da do conjunto de dados de treinamento, você deverá fornecer a configuração da análise.

Monitoramento do desvio de polarização para modelos implantados em endpoints em tempo real

Para programar um monitor de desvio de polarização para um endpoint em tempo real, transmita sua instância EndpointInput para o argumento endpoint_input de sua instância ModelBiasModelMonitor, conforme mostrado no seguinte exemplo de código:

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, ), )

Monitoramento de desvio de polarização para trabalhos de transformação de lotes

Para programar um monitor de desvio de polarização para um trabalho de transformação de Lotes, transmita sua instância BatchTransformInput para o argumento batch_transform_input de sua instância ModelBiasModelMonitor, conforme mostrado no seguinte exemplo de código:

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 ), )