Esegui job di monitoraggio

Quando esegui un job, Model Monitoring v2 utilizza i dati dei set di dati di destinazione e di riferimento, calcola le metriche e genera potenzialmente avvisi. Model Monitoring v2 offre job on demand per monitoraggio ad hoc o job pianificati per il monitoraggio continuo. A prescindere dall'opzione scelta, ogni job è una singola esecuzione batch.

Per maggiori informazioni sugli obiettivi di monitoraggio e sui modelli supportati, consulta Panoramica del monitoraggio dei modelli v2 e Configurare il monitoraggio dei modelli.

Esegui un job on demand

Esegui un job di monitoraggio una tantum. Imposta i set di dati di riferimento e di riferimento, nonché le specifiche di monitoraggio per gli obiettivi da monitorare. La configurazione sostituisce tutti i valori predefiniti, se impostati, definiti dal monitoraggio del modello.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello per cui vuoi eseguire un job di monitoraggio.

  3. Nella pagina dei dettagli del monitoraggio dei modelli, fai clic su Esegui ora per configurare il job di monitoraggio.

  4. Configura il job o utilizza i valori predefiniti come definito nel monitoraggio del modello.

  5. 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_condition=0.0003,
  feature_alert_conditions={"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
)

Pianifica le esecuzioni continue

Puoi impostare una o più esecuzioni di pianificazione per il monitoraggio di un modello. Per utilizzare il monitoraggio continuo con specifiche temporali, il set di dati deve avere una colonna di timestamp in modo che Model Monitoring v2 possa recuperare i dati dall'intervallo di tempo specificato.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello per cui vuoi configurare il monitoraggio continuo.

  3. Fai clic su Pianifica un'esecuzione ricorrente.

  4. Imposta i set di dati target e di riferimento e fai clic su Continua.

  5. Imposta gli obiettivi da monitorare, le soglie e le impostazioni di notifica quando viene generato un avviso.

  6. Fai clic su Continua.

  7. Configura una pianificazione per job ricorrenti:

    1. Specifica un nome per lo scheduler.
    2. In Ora di inizio, specifica quando verrà avviato il primo job.
    3. In Frequenza, utilizza un'espressione CR per impostare la frequenza, quindi imposta il fuso orario.
    4. In Ends (Fine), specifica quando termina lo scheduler.
  8. 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(
      feature_drift_spec=FEATURE_DRIFT_SPEC
  ),
  output_spec=OUTPUT_SPEC,
  notification_spec=NOTIFICATION_SPEC,
)

Mettere in pausa o riprendere una programmazione

Puoi mettere in pausa e riprendere una pianificazione per saltare o interrompere temporaneamente le esecuzioni dei job di monitoraggio.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello che contiene la pianificazione da modificare.

  3. Nella pagina dei dettagli, vai alla scheda Pianificazioni.

  4. Fai clic sulla pianificazione da modificare.

  5. Fai clic su Metti in 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 pianificazione se non la utilizzi. I dati esistenti rimangono così come tutti i job creati in precedenza.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello che contiene la pianificazione da modificare.

  3. Nella pagina dei dettagli, vai alla scheda Pianificazioni.

  4. Fai clic sulla pianificazione da modificare.

  5. Fai clic su Elimina ed Elimina di nuovo per confermare.

SDK Python

my_model_monitor.delete_schedule(my_monitoring_schedule.name)

Analizza i risultati del job di monitoraggio

Puoi utilizzare la console Google Cloud per visualizzare le distribuzioni dei dati per ciascun obiettivo di monitoraggio e scoprire quali modifiche hanno portato a deviazioni nel tempo.

Le visualizzazioni mostrano un istogramma che confronta la distribuzione dei dati tra i dati target e quelli di riferimento. In base al tuo livello di tolleranza, potresti, ad esempio, decidere di modificare la pipeline di generazione delle caratteristiche o riaddestrare il modello.

Visualizza i dettagli del job

Visualizzare i dettagli sull'esecuzione di un job di monitoraggio, ad esempio un elenco di funzionalità monitorate e quali funzionalità hanno generato un avviso.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello che contiene il job da analizzare.

  3. Nella pagina Dettagli monitoraggio, fai clic sulla scheda Esecuzioni.

  4. Nell'elenco delle esecuzioni, fai clic su un'esecuzione per visualizzarne i dettagli, ad esempio tutte le funzionalità incluse in un'esecuzione.

    L'esempio seguente mostra un confronto della distribuzione per la funzionalità country da job 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.

    Istogrammi che mostrano la distribuzione delle caratteristiche di esempio per un set di dati di destinazione e un set di dati di riferimento.

Visualizza dettagli elemento

Visualizza le informazioni su una funzionalità e un elenco di job di monitoraggio che la includono.

Console

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Fai clic sul monitoraggio del modello che contiene i job da analizzare.

  3. Nella scheda Panoramica puoi visualizzare un riepilogo che include le tendenze nella deriva per tutti gli obiettivi monitorati se hai configurato il monitoraggio continuo. Puoi anche approfondire determinati obiettivi per vedere i dettagli, ad esempio i nomi delle funzionalità monitorate e un elenco delle 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 include i dati di monitoraggio per questa funzionalità.

    Istogrammi che mostrano la distribuzione di esempio dei dati di input per un set di dati di destinazione e un set di dati di riferimento.