Quando esegui un job, Model Monitoring 2.0 utilizza i dati dei set di dati di destinazione e di riferimento, calcola le metriche e potenzialmente genera avvisi. Model Monitoring v2 offre job on demand per il monitoraggio ad hoc o job pianificati per il monitoraggio continuo. Indipendentemente dall'opzione scelta, ogni job è un'unica esecuzione batch.
Per ulteriori informazioni sugli obiettivi di monitoraggio e sui modelli supportati, consulta la panoramica di Model Monitoring 2.0 e Configurare il monitoraggio dei modelli.
Esegui un job on demand
Esegui un job di monitoraggio una tantum. Imposta i set di dati di destinazione e di riferimento, nonché le specifiche di monitoraggio per gli obiettivi da monitorare. La configurazione sostituisce eventuali valori predefiniti, se impostati, definiti dal monitoraggio del modello.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello per cui vuoi eseguire un job di monitoraggio.
Nella pagina dei dettagli del monitoraggio del modello, fai clic su Esegui ora per configurare il job di monitoraggio.
Configura il job o utilizza i valori predefiniti definiti nel monitoraggio del modello.
Fai clic su Esegui.
SDK 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 )
Pianificare le esecuzioni continue
Puoi impostare una o più esecuzioni pianificate per un monitoraggio del modello. Per utilizzare il monitoraggio continuo con specifiche di tempo, il set di dati deve avere una colonna timestamp in modo che Model Monitoring 2.0 possa recuperare i dati dall'intervallo di tempo specificato.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello per cui vuoi configurare il monitoraggio continuo.
Fai clic su Pianifica un'esecuzione ricorrente.
Imposta i set di dati di destinazione e di riferimento e poi fai clic su Continua.
Imposta gli obiettivi da monitorare, le relative soglie e le impostazioni di notifica quando viene generato un avviso.
Fai clic su Continua.
Configura una pianificazione per i job ricorrenti:
- Specifica un nome per la pianificazione.
- In Ora di inizio, specifica quando verrà avviato il primo job.
- Per Frequenza, utilizza un'espressione cron per impostare la frequenza, quindi imposta il fuso orario.
- Per Termina, specifica quando termina la pianificazione.
Fai clic su Crea.
SDK Python
Per impostare la frequenza dei job di monitoraggio, utilizza un'espressione 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, )
Mettere in pausa o riprendere una pianificazione
Puoi mettere in pausa e riprendere una pianificazione per saltare o interrompere temporaneamente le esecuzioni dei job di monitoraggio.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello contenente la pianificazione da modificare.
Nella pagina dei dettagli, vai alla scheda Pianificazioni.
Fai clic sulla pianificazione da modificare.
Fai clic su Pausa o Riprendi per mettere in pausa o riprendere la programmazione.
SDK Python
# Pause schedule my_model_monitor.pause_schedule(my_monitoring_schedule.name) # Resume schedule my_model_monitor.resume_schedule(my_monitoring_schedule.name)
Elimina una pianificazione
Elimina una programmazione se non la utilizzi. I dati esistenti rimangono, così come eventuali job creati in precedenza.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello contenente la pianificazione da modificare.
Nella pagina dei dettagli, vai alla scheda Pianificazioni.
Fai clic sulla pianificazione da modificare.
Fai clic su Elimina e di nuovo su Elimina per confermare.
SDK Python
my_model_monitor.delete_schedule(my_monitoring_schedule.name)
Analizzare i risultati del job di monitoraggio
Puoi utilizzare la console Google Cloud per visualizzare le distribuzioni dei dati per ogni scopo di monitoraggio e scoprire quali modifiche hanno causato il drift nel tempo.
Le visualizzazioni mostrano un istogramma che confronta la distribuzione dei dati tra il valore target e i dati di riferimento. In base al tuo livello di tolleranza, potresti, ad esempio, decidere di modificare la pipeline di generazione delle caratteristiche o di riaddestrare il modello.
Visualizza i dettagli del job
Visualizza i dettagli di un'esecuzione di un job di monitoraggio, ad esempio un elenco delle funzionalità monitorate e quelle che hanno generato un avviso.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello contenente il job da analizzare.
Nella pagina Dettagli monitoraggio, fai clic sulla scheda Esecuzioni.
Nell'elenco delle esecuzioni, fai clic su un'esecuzione per visualizzarne i dettagli, ad esempio tutte le funzionalità incluse.
L'esempio seguente mostra un confronto della distribuzione per la funzionalità country delle attività di previsione batch. La console Google Cloud fornisce anche dettagli sul confronto in base alla metrica, ad esempio il numero di valori univoci, il valore medio e la deviazione standard.
Visualizza dettagli delle funzionalità
Visualizza le informazioni su una funzionalità e un elenco di job di monitoraggio che la includono.
Console
Nella console Google Cloud , vai alla pagina Monitoraggio.
Fai clic sul monitoraggio del modello contenente i job da analizzare.
Nella scheda Panoramica, puoi visualizzare un riepilogo che include le tendenze di scostamento per tutti gli obiettivi monitorati, se hai configurato il monitoraggio continuo. Puoi anche approfondire obiettivi specifici per visualizzare dettagli come i nomi delle funzionalità monitorate e un elenco di esecuzioni di monitoraggio.
L'esempio seguente mostra un confronto della distribuzione per la funzionalità country. Dopo l'istogramma, puoi vedere quali esecuzioni hanno generato un avviso o selezionare un altro job di monitoraggio che includa i dati di monitoraggio per questa funzionalità.