Panoramica del monitoraggio del modello

Questo documento descrive in che modo BigQuery ML supporta il monitoraggio di modelli di machine learning (ML) mediante la valutazione e il confronto dei dati di un modello. utilizzi. Ciò include il confronto dei dati di distribuzione di un modello con i relativi dati di addestramento. Confrontando i nuovi dati di pubblicazione con quelli usati in precedenza.

Comprendere i dati utilizzati dai tuoi modelli è un aspetto fondamentale dell'ML, perché questi dati influiscono sulle prestazioni del modello. Comprendere le variazioni tra dati di addestramento e distribuzione sono particolarmente importanti per garantire i modelli rimangono accurati nel tempo. Un modello ha le prestazioni migliori nella fornitura di dati che è simile ai dati di addestramento. Quando i dati di pubblicazione si discostano dalla utilizzati per addestrare il modello, le sue prestazioni possono peggiorare, anche se il modello non è cambiato.

BigQuery ML fornisce funzioni per aiutarti ad analizzare l'addestramento e fornire i dati per disallineamento e deviazione dei dati:

  • Il disallineamento dei dati si verifica quando la distribuzione dei valori delle caratteristiche per i dati di addestramento è molto diverso dalla distribuzione dei dati in produzione. Addestramento statistiche per il modello vengono salvate durante l'addestramento, in modo che di addestramento non sono necessari per usare il rilevamento del disallineamento.
  • La deviazione dei dati si verifica quando la distribuzione dei dati delle caratteristiche in produzione cambia in modo significativo nel tempo. Il rilevamento della deviazione è supportato per intervalli consecutivi di dati, ad esempio tra diversi giorni di pubblicazione dei dati. Questo consente di ricevi una notifica se i dati di pubblicazione cambiano nel tempo, prima che i set di dati divergono troppo per riaddestrare il modello.

Utilizza le seguenti funzioni per monitorare i modelli in BigQuery ML:

  • ML.DESCRIBE_DATA: computing per un insieme di dati di addestramento o distribuzione.
  • ML.VALIDATE_DATA_SKEW: calcola il statistiche per un insieme di dati di servizio e le confronta con i dati statistiche dei dati calcolate quando un modello BigQuery ML addestrato al fine di identificare differenze anomale tra i due set di dati. Le statistiche vengono calcolate solo per le colonne delle caratteristiche nei dati di pubblicazione che corrispondenze tra le colonne delle caratteristiche nei dati di addestramento, al fine di ottenere per migliorare le prestazioni e ridurre i costi.
  • ML.VALIDATE_DATA_DRIFT: computing e Confrontare le statistiche di due insiemi di dati di pubblicazione per identificare le differenze anomale tra i due set di dati.
  • ML.TFDV_DESCRIBE: calcolo granulare per un insieme di dati di addestramento o distribuzione. Questa funzione presenta lo stesso comportamento API tfdv.generate_statistics_from_csv TensorFlow.
  • ML.TFDV_VALIDATE: confronta per l'addestramento e la pubblicazione delle statistiche dei dati o due insiemi di statistiche dei dati di elaborazione, al fine di identificare le differenze anomale tra i due set di dati. Questa funzione fornisce lo stesso comportamento del API validate_statistics TensorFlow.

Monitoraggio dei casi d'uso

Questa sezione descrive come utilizzare il modello BigQuery ML funzioni di monitoraggio nei casi d'uso comuni.

Monitoraggio di base del disallineamento dei dati

Questo caso d'uso è appropriato per sviluppare e monitorare rapidamente per il disallineamento dei dati senza bisogno di statistiche granulari si integra con una soluzione di monitoraggio esistente.

I passaggi tipici per questo caso d'uso sono i seguenti:

  1. Esegui la funzione ML.DESCRIBE_DATA sui dati di addestramento e gestione. per assicurarti che set di dati si confrontano in modo appropriato tra loro e rientrano nel previsto parametri.
  2. Crea un modello BigQuery ML e addestrarlo sulla base dei dati di addestramento.
  3. Esegui la funzione ML.VALIDATE_DATA_SKEW per confrontare i dati di distribuzione le statistiche con le statistiche dei dati di addestramento calcolate durante la creazione del modello per per vedere se c'è un disallineamento dei dati.
  4. Se è presente un disallineamento nei dati, analizza la causa principale, regola l'addestramento i dati in modo appropriato e quindi riaddestrare il modello.

Monitoraggio della deviazione dei dati di base

Questo caso d'uso è appropriato per sviluppare e monitorare rapidamente di deviazione nei dati e non hanno bisogno di statistiche di deviazione granulari per si integra con una soluzione di monitoraggio esistente.

I passaggi tipici per questo caso d'uso sono i seguenti:

  1. Esegui la funzione ML.DESCRIBE_DATA sui dati di addestramento e gestione per assicurarti che set di dati si confrontano in modo appropriato tra loro e rientrano nel previsto parametri.
  2. Crea un modello BigQuery ML e addestrarlo sulla base dei dati di addestramento.
  3. Esegui la funzione ML.VALIDATE_DATA_DRIFT per confrontare le statistiche per due diverse dei set di dati per vedere se c'è qualche deviazione nei dati. Ad esempio: potresti voler confrontare i dati di pubblicazione attuali con i dati storici di pubblicazione da uno snapshot della tabella o caratteristiche offerte in un determinato momento, che puoi ottenere utilizzando Funzione ML.FEATURES_AT_TIME.
  4. In caso di deviazione nei dati, analizza la causa principale, regola l'addestramento i dati in modo appropriato e quindi riaddestrare il modello.

Monitoraggio avanzato del disallineamento o della deviazione dei dati

Questo caso d'uso è appropriato quando vuoi statistiche granulari su disallineamenti o deviazioni per l'integrazione con una soluzione di monitoraggio esistente o per altri scopi.

I passaggi tipici per questo caso d'uso sono i seguenti:

  1. Esegui la funzione ML.TFDV_DESCRIBE sui dati di addestramento e gestione a intervalli i dati appropriati per la soluzione di monitoraggio salvare i risultati della query. Questo passaggio consente di confrontare i dati di distribuzione futuri con i dati di addestramento e di pubblicazione dei punti passati in nel tempo.
  2. Esegui la funzione ML.TFDV_VALIDATE sui dati di addestramento e gestione per la distribuzione o su due insiemi di statistiche dei dati di distribuzione, per valutare il disallineamento dei dati o deviazione delle caratteristiche, rispettivamente. I dati di addestramento e distribuzione devono essere fornito come TensorFlow Buffer di protocollo DatasetFeatureStatisticsList in formato JSON. Puoi generare un buffer di protocollo nel formato corretto eseguendo la funzione ML.TFDV_DESCRIBE, oppure puoi caricarlo da al di fuori di BigQuery. L'esempio seguente mostra come valutare disallineamento delle caratteristiche:

    DECLARE stats1 JSON;
    DECLARE stats2 JSON;
    
    SET stats1 = (
      SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.training`)
    );
    SET stats2 = (
      SELECT * ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.serving`);
    );
    
    SELECT ML.TFDV_VALIDATE(stats1, stats2, 'SKEW');
    
    INSERT `myproject.mydataset.serve_stats`
      (t, dataset_feature_statistics_list)
    SELECT CURRENT_TIMESTAMP() AS t, stats1;
    
    
  3. In caso di disallineamento o deviazione dei dati, analizza la causa principale. regolare correttamente i dati di addestramento e riaddestrare il modello.

Automazione del monitoraggio

Puoi automatizzare il monitoraggio utilizzando una pianificata per eseguire funzione di monitoraggio, valutare l'output e riaddestrare il modello se vengono rilevate anomalie. Devi abilitare le notifiche via email nell'ambito di configurare la query pianificata.

Per un esempio che mostra come automatizzare ML.VALIDATE_DATA_SKEW , vedi la funzione Automatizzare il rilevamento del disallineamento.