Cuando ejecutas un trabajo, Model Monitoring v2 consume datos de tus conjuntos de datos de destino y de referencia, calcula las métricas y, posiblemente, genera alertas. Model Monitoring v2 ofrece trabajos on demand para la supervisión ad hoc o trabajos programados para la supervisión continua. Independientemente de la opción que elijas, cada trabajo es una sola ejecución por lotes.
Para obtener más información sobre los objetivos de supervisión y los modelos compatibles, consulta Descripción general de Model Monitoring v2 y Configura la supervisión de modelos.
Ejecuta un trabajo a pedido
Ejecuta un trabajo de supervisión único. Establece los conjuntos de datos de destino y de referencia, así como las especificaciones de supervisión de los objetivos que se supervisarán. Tu configuración anula cualquier valor predeterminado, si está establecido, que defina el monitor de modelos.
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el monitor de modelos para el que deseas ejecutar un trabajo de supervisión.
En la página de detalles del monitor de modelos, haz clic en Run now para configurar el trabajo de supervisión.
Configura tu trabajo o usa los valores predeterminados como se define en el monitor de modelos.
Haz clic en Ejecutar.
Python SDK
from vertexai.resources.preview import ml_monitoring FEATURE_THRESHOLDS = { "culmen_length_mm": 0.001, "body_mass_g": 0.002, } FEATURE_DRIFT_SPEC=ml_monitoring.spec.DataDriftSpec( categorical_metric_type="l_infinity", numeric_metric_type="jensen_shannon_divergence", default_categorical_alert_threshold=0.001, default_numeric_alert_threshold=0.002, feature_alert_thresholds=FEATURE_THRESHOLDS, ) PREDICTION_OUTPUT_DRIFT_SPEC=ml_monitoring.spec.DataDriftSpec( categorical_metric_type="l_infinity", numeric_metric_type="jensen_shannon_divergence", default_categorical_alert_threshold=0.001, default_numeric_alert_threshold=0.001, ) FEATURE_ATTRIBUTION_SPEC=ml_monitoring.spec.FeatureAttributionSpec( default_alert_threshold=0.0003, feature_alert_thresholds={"cnt_ad_reward":0.0001}, ) EXPLANATION_SPEC=ExplanationSpec( parameters=ExplanationParameters( {"sampled_shapley_attribution": {"path_count": 2}} ), metadata=ExplanationMetadata( inputs={ "cnt_ad_reward": ExplanationMetadata.InputMetadata({ "input_tensor_name": "cnt_ad_reward", "encoding": "IDENTITY", "modality": "numeric" }), ... }, ... ) ) TRAINING_DATASET=ml_monitoring.spec.MonitoringInput( gcs_uri=TRAINING_URI, data_format="csv" ) TARGET_DATASET=ml_monitoring.spec.MonitoringInput( table_uri=BIGQUERY_URI ) model_monitoring_job=my_model_monitor.run( display_name=JOB_DISPLAY_NAME, baseline_dataset=TRAINING_DATASET, target_dataset=TARGET_DATASET, tabular_objective_spec=ml_monitoring.spec.TabularObjective( # Optional: set to monitor input feature drift. feature_drift_spec=FEATURE_DRIFT_SPEC, # Optional: set to monitor prediction output drift. prediction_output_drift_spec=PREDICTION_OUTPUT_DRIFT_SPEC, # Optional: set to monitor feature attribution drift. feature_attribution_spec=FEATURE_ATTRIBUTION_SPEC ), # Optional: additional configurations to override default values. explanation_config=EXPLANATION_SPEC, notification_spec=NOTIFICATION_SPEC, output_spec=OUTPUT_SPEC )
Programa ejecuciones continuas
Puedes establecer una o más ejecuciones de programación para un monitor de modelos. Para usar la supervisión contínua con especificaciones de tiempo, tu conjunto de datos debe tener una columna de marca de tiempo para que Model Monitoring v2 pueda recuperar los datos del período especificado.
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el supervisor de modelos para el que deseas configurar la supervisión continua.
Haz clic en Programar una ejecución recurrente.
Establece tus conjuntos de datos de objetivos y de referencia y, luego, haz clic en Continuar.
Establece los objetivos que deseas supervisar, sus umbrales y la configuración de notificaciones cuando se genere una alerta.
Haga clic en Continuar.
Configura un programa para trabajos recurrentes:
- Especifica un nombre para el programador.
- En Hora de inicio, especifica cuándo comenzará el primer trabajo.
- Para Frecuencia, usa una expresión cron para establecer la frecuencia y, luego, la zona horaria.
- En Finaliza, especifica cuándo finaliza el programador.
Haz clic en Crear.
Python SDK
Para establecer la frecuencia de los trabajos de supervisión, usa una expresión cron.
my_model_monitoring_schedule=my_model_monitor.create_schedule( display_name=SCHEDULE_DISPLAY_NAME, # Every day at 0:00(midnight) cron='"0 * * * *"', baseline_dataset=ml_monitoring.spec.MonitoringInput( endpoints=[ENDPOINT_RESOURCE_NAME], offset="24h", window="24h", ), target_dataset=ml_monitoring.spec.MonitoringInput( endpoints=[ENDPOINT_RESOURCE_NAME], window="24h" ), tabular_objective_spec=ml_monitoring.spec.TabularObjective( # Optional: set to monitor input feature drift. feature_drift_spec=FEATURE_DRIFT_SPEC, # Optional: set to monitor prediction output drift. prediction_output_drift_spec=PREDICTION_OUTPUT_DRIFT_SPEC, # Optional: set to monitor feature attribution drift. feature_attribution_spec=FEATURE_ATTRIBUTION_SPEC ), # Optional: additional configurations to override default values. explanation_config=EXPLANATION_SPEC, output_spec=OUTPUT_SPEC, notification_spec=NOTIFICATION_SPEC, )
Cómo pausar o reanudar un programa
Puedes pausar y reanudar un programa para omitir o detener temporalmente las ejecuciones de trabajos de supervisión.
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el supervisor de modelos que contiene la programación que deseas modificar.
En la página de detalles, ve a la pestaña Programaciones.
Haz clic en el programa que deseas modificar.
Haz clic en Pausar o Reanudar para pausar o reanudar el programa.
Python SDK
# Pause schedule my_model_monitor.pause_schedule(my_monitoring_schedule.name) # Resume schedule my_model_monitor.resume_schedule(my_monitoring_schedule.name)
Borra un programa
Borra una programación si no la usas. Tus datos existentes permanecen, al igual que los trabajos creados anteriormente.
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el supervisor de modelos que contiene la programación que deseas modificar.
En la página de detalles, ve a la pestaña Programaciones.
Haz clic en el programa que deseas modificar.
Haz clic en Borrar y, luego, en Borrar de nuevo para confirmar.
Python SDK
my_model_monitor.delete_schedule(my_monitoring_schedule.name)
Cómo analizar los resultados de las tareas de supervisión
Puedes usar la consola de Google Cloud para visualizar las distribuciones de datos de cada objetivo de supervisión y conocer qué cambios generaron un desvío con el tiempo.
Las visualizaciones muestran un histograma que compara la distribución de datos entre el objetivo y los datos del modelo de referencia. Según tu nivel de tolerancia, puedes, por ejemplo, decidir ajustar la canalización de generación de atributos o volver a entrenar el modelo.
Ver detalles del trabajo
Consultar los detalles de una ejecución de trabajo de supervisión, como una lista de atributos supervisados y cuáles generaron una alerta
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el monitor de modelos que contiene el trabajo que deseas analizar.
En la página Monitor details, haz clic en la pestaña Runs.
En la lista de ejecuciones, haz clic en una para ver sus detalles, como todas las funciones incluidas en una ejecución.
En el siguiente ejemplo, se muestra una comparación de distribución para la función country de los trabajos de predicción por lotes. La consola de Google Cloud también proporciona detalles sobre la comparación según la métrica, como la cantidad de valores únicos, el valor medio y la desviación estándar.
Ver detalles de la función
Consultar información sobre una función y una lista de trabajos de supervisión que la incluyen
Console
En la consola de Google Cloud, ve a la página Supervisión.
Haz clic en el supervisor de modelos que contiene los trabajos que deseas analizar.
En la pestaña Resumen, puedes ver un resumen, que incluye las tendencias de desvío de todos los objetivos supervisados si configuraste la supervisión continua. También puedes profundizar en objetivos específicos para ver detalles, como los nombres de las funciones supervisadas y una lista de ejecuciones de supervisión.
En el siguiente ejemplo, se muestra una comparación de distribución para el componente país. Después del histograma, puedes ver qué ejecuciones generaron una alerta o seleccionar otro trabajo de supervisión que incluya datos de supervisión para esta función.