Cuando ejecutas un trabajo, Monitorización de modelos v2 consume datos de tus conjuntos de datos de destino y de referencia, calcula métricas y puede generar alertas. La versión 2 de Monitorización de modelos ofrece tareas bajo demanda para la monitorización ad hoc o tareas programadas para la monitorización continua. Independientemente de la opción que elijas, cada trabajo es una única ejecución por lotes.
Para obtener más información sobre los objetivos de monitorización y los modelos admitidos, consulta los artículos Introducción a Model Monitoring v2 y Configurar Model Monitoring.
Ejecutar una tarea bajo demanda
Ejecuta una tarea de monitorización única. Define los conjuntos de datos de referencia y de destino, así como las especificaciones de monitorización de los objetivos que quieras monitorizar. Tu configuración anula cualquier valor predeterminado, si se ha definido, que haya establecido el monitor del modelo.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haz clic en el monitor de modelos para el que quieras ejecutar un trabajo de monitorización.
En la página de detalles del monitor de modelos, haga clic en Ejecutar ahora para configurar la tarea de monitorización.
Configura el trabajo o usa los valores predeterminados definidos en el monitor de modelos.
Haz clic en Ejecutar.
SDK de Python
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 )
Programar ejecuciones continuas
Puedes definir una o varias ejecuciones programadas para un monitor de modelo. Para usar la monitorización continua 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 periodo especificado.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haz clic en el monitor de modelo para el que quieras configurar la monitorización continua.
Haz clic en Programar una ejecución periódica.
Define los conjuntos de datos de destino y de referencia y, a continuación, haz clic en Continuar.
Define los objetivos que quieres monitorizar, sus umbrales y la configuración de las notificaciones que quieres recibir cuando se genere una alerta.
Haz clic en Continuar.
Configura una programación para las tareas periódicas:
- Especifica un nombre para el programador.
- En Hora de inicio, especifica cuándo empezará el primer trabajo.
- En Frecuencia, use una expresión cron para definir la frecuencia y, a continuación, defina la zona horaria.
- En Finaliza, especifica cuándo termina la programación.
Haz clic en Crear.
SDK de Python
Para definir la frecuencia de las tareas de monitorización, utiliza 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, )
Pausar o reanudar una programación
Puedes pausar y reanudar una programación para omitir o detener temporalmente las ejecuciones de tareas de monitorización.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haga clic en el monitor de modelo que contenga la programación que quiera modificar.
En la página de detalles, vaya a la pestaña Programaciones.
Haz clic en la programación que quieras modificar.
Haz clic en Pausar o Reanudar para pausar o reanudar la programación.
SDK de Python
# Pause schedule my_model_monitor.pause_schedule(my_monitoring_schedule.name) # Resume schedule my_model_monitor.resume_schedule(my_monitoring_schedule.name)
Eliminar una programación
Elimina una programación si no la vas a usar. Los datos que ya tenga se conservarán, así como los trabajos que haya creado anteriormente.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haga clic en el monitor de modelo que contenga la programación que quiera modificar.
En la página de detalles, vaya a la pestaña Programaciones.
Haz clic en la programación que quieras modificar.
Haz clic en Eliminar y, a continuación, vuelve a hacer clic en Eliminar para confirmar la acción.
SDK de Python
my_model_monitor.delete_schedule(my_monitoring_schedule.name)
Analizar los resultados de las tareas de monitorización
Puedes usar la Google Cloud consola para visualizar las distribuciones de datos de cada objetivo de monitorización y saber qué cambios han provocado la deriva a lo largo del tiempo.
Las visualizaciones muestran un histograma que compara la distribución de los datos entre los datos de referencia y los de destino. En función de tu nivel de tolerancia, puedes, por ejemplo, ajustar tu flujo de procesamiento de generación de características o volver a entrenar el modelo.
Ver detalles de un trabajo
Consulta los detalles de una ejecución de un trabajo de monitorización, como una lista de funciones monitorizadas y qué funciones han generado una alerta.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haga clic en el monitor de modelos que contenga la tarea que quiera analizar.
En la página Detalles del monitor, haz clic en la pestaña Ejecuciones.
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 la distribución de la función país de los trabajos de predicción por lotes. La Google Cloud consola también proporciona detalles sobre la comparación en función de la métrica, como el número de valores únicos, el valor medio y la desviación estándar.
Ver detalles de la función
Consulta información sobre una función y una lista de tareas de monitorización que incluyan la función.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Haga clic en el monitor de modelos que contenga las tareas que quiera analizar.
En la pestaña Resumen, puedes ver un resumen que incluye las tendencias de la deriva de todos los objetivos monitorizados si has configurado la monitorización continua. También puedes consultar información detallada sobre objetivos concretos, como los nombres de las funciones monitorizadas y una lista de las monitorizaciones.
En el siguiente ejemplo se muestra una comparación de la distribución de la función country (país). Después del histograma, puedes ver qué ejecuciones han generado una alerta o seleccionar otro trabajo de monitorización que incluya datos de monitorización de esta función.