Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Programe trabajos de monitoreo de la calidad del modelo
Una vez que haya creado su referencia, puede utilizar el método create_monitoring_schedule()
de la instancia de clase ModelQualityMonitor
para programar una supervisión de calidad del modelo cada hora. En las siguientes secciones, se muestra cómo crear un monitor de calidad del modelo para un modelo implementado en un punto de conexión en tiempo real, así como para un trabajo de transformación por lotes.
importante
Puede especificar una entrada de transformación por lotes o una entrada de punto de conexión, pero no ambas, al crear su programa de supervisión.
A diferencia de la supervisión de la calidad de los datos, debe suministrar etiquetas Ground Truth si desea supervisar la calidad del modelo. Sin embargo, las etiquetas de Ground Truth podrían retrasarse. Para solucionar este problema, especifique los desplazamientos al crear su programa de supervisión.
Desplazamientos del monitor de modelos
Los trabajos de calidad del modelo incluyen StartTimeOffset
y EndTimeOffset
, que son campos del parámetro ModelQualityJobInput
del método create_model_quality_job_definition
que funcionan de la siguiente manera:
-
StartTimeOffset
: si se especifica, los trabajos restan este tiempo de la hora de inicio. -
EndTimeOffset
: si se especifica, los trabajos restan este tiempo de la hora de finalización.
El formato de las compensaciones es, por ejemplo, -PT7H, donde 7H son 7 horas. Puede usar -PT#H o -P#D, donde H=horas, D=días y M=minutos, y # es el número. Además, el desfase debe tener un formato de duración ISO8601
Por ejemplo, si Ground Truth comienza a llegar después de 1 día, pero no se completa hasta dentro de una semana, establezca StartTimeOffset
en -P8D
y EndTimeOffset
en -P1D
. Luego, si programa un trabajo para que se ejecute el 2020-01-09T13:00
, analizará los datos entre 2020-01-01T13:00
y2020-01-08T13:00
.
importante
La cadencia de la programación debe ser tal que una ejecución finalice antes de que comience la siguiente, lo que permite que Ground Truth combine el trabajo y supervise el trabajo desde la ejecución hasta que se complete. El tiempo de ejecución máximo de una ejecución se divide entre los dos trabajos, por lo que, en el caso de un trabajo de supervisión de la calidad del modelo cada hora, el valor de MaxRuntimeInSeconds
especificado como parte de StoppingCondition
no debe ser superior a 1800.
Supervisión de la calidad del modelo para los modelos implementados en puntos de conexión en tiempo real
Para programar un monitor de calidad del modelo para un punto de conexión en tiempo real, pase la instancia EndpointInput
al argumento endpoint_input
de la instancia ModelQualityMonitor
, como se muestra en el siguiente ejemplo de código:
from sagemaker.model_monitor import CronExpressionGenerator model_quality_model_monitor = ModelQualityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_quality_model_monitor.create_monitoring_schedule( monitor_schedule_name=schedule_name, post_analytics_processor_script=s3_code_postprocessor_uri, output_s3_uri=s3_report_path, schedule_cron_expression=CronExpressionGenerator.hourly(), statistics=model_quality_model_monitor.baseline_statistics(), constraints=model_quality_model_monitor.suggested_constraints(), schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, endpoint_input=EndpointInput( endpoint_name=endpoint_name, destination="/opt/ml/processing/input/endpoint", start_time_offset="-PT2D", end_time_offset="-PT1D", ) )
Supervisión de la calidad del modelo para trabajos de transformación por lotes
Para programar un monitor de calidad del modelo para un trabajo de transformación por lotes, pase la instancia BatchTransformInput
al argumento batch_transform_input
de la instancia ModelQualityMonitor
, como se muestra en el siguiente ejemplo de código:
from sagemaker.model_monitor import CronExpressionGenerator model_quality_model_monitor = ModelQualityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_quality_model_monitor.create_monitoring_schedule( monitor_schedule_name=mon_schedule_name, batch_transform_input=BatchTransformInput( data_captured_destination_s3_uri=s3_capture_upload_path, destination="/opt/ml/processing/input", dataset_format=MonitoringDatasetFormat.csv(header=False), # the column index of the output representing the inference probablity probability_attribute="0", # the threshold to classify the inference probablity to class 0 or 1 in # binary classification problem probability_threshold_attribute=0.5, # look back 6 hour for transform job outputs. start_time_offset="-PT6H", end_time_offset="-PT0H" ), ground_truth_input=gt_s3_uri, output_s3_uri=s3_report_path, problem_type="BinaryClassification", constraints = constraints_path, schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, )