Introduzione al monitoraggio di Databricks Lakehouse
Questo articolo descrive il monitoraggio di Databricks Lakehouse. Illustra i vantaggi del monitoraggio dei dati e offre una panoramica dei componenti e dell'utilizzo di Databricks Lakehouse Monitoring.
Databricks Lakehouse Monitoring consente di monitorare le proprietà statistiche e la qualità dei dati in tutte le tabelle dell'account. È anche possibile usarlo per tenere traccia delle prestazioni dei modelli di Machine Learning e degli endpoint di gestione dei modelli monitorando le tabelle di inferenza che contengono input e stime del modello. Il diagramma mostra il flusso dei dati attraverso le pipeline di dati e ML in Databricks e come è possibile usare il monitoraggio per tenere traccia in modo continuo della qualità dei dati e delle prestazioni del modello.
Perché usare Il monitoraggio di Databricks Lakehouse?
Per trarre informazioni dettagliate utili dai dati, è necessario avere fiducia nella qualità dei dati. Il monitoraggio dei dati fornisce misure quantitative che consentono di tenere traccia e confermare la qualità e la coerenza dei dati nel tempo. Quando si rilevano modifiche nella distribuzione dei dati della tabella o nelle prestazioni del modello corrispondente, le tabelle create da Databricks Lakehouse Monitoring possono acquisire e avvisare l'utente alla modifica e consentono di identificare la causa.
Databricks Lakehouse Monitoring consente di rispondere a domande come le seguenti:
- Che aspetto ha l'integrità dei dati e come cambia nel tempo? Ad esempio, qual è la frazione di valori Null o zero nei dati correnti ed è aumentata?
- Qual è l'aspetto della distribuzione statistica dei dati e come cambia nel tempo? Ad esempio, qual è il 90° percentile di una colonna numerica? In alternativa, qual è la distribuzione dei valori in una colonna categorica e in che modo differisce da ieri?
- Esiste una deviazione tra i dati correnti e una baseline nota o tra finestre temporali successive dei dati?
- Qual è l'aspetto della distribuzione statistica o della deriva di un subset o di una sezione dei dati?
- In che modo gli input e le stime del modello di Machine Learning cambiano nel tempo?
- Qual è la tendenza delle prestazioni del modello nel tempo? La versione del modello ha prestazioni migliori rispetto alla versione B?
Databricks Lakehouse Monitoring consente inoltre di controllare la granularità temporale delle osservazioni e di configurare metriche personalizzate.
Requisiti
Per usare Databricks Lakehouse Monitoring, è necessario quanto segue:
- L'area di lavoro deve essere abilitata per Unity Catalog ed è necessario avere accesso a Databricks SQL.
- Per il monitoraggio sono supportate solo le tabelle Delta e la tabella deve essere uno dei tipi di tabella seguenti: tabelle gestite, tabelle esterne, viste, viste materializzate o tabelle di streaming.
- I monitoraggi creati su viste materializzate e tabelle di streaming non supportano l'elaborazione incrementale.
- Non tutte le aree sono supportate. Per il supporto a livello di area, vedere la colonna Calcolo serverless per notebook e flussi di lavoro nella tabella Funzionalità con disponibilità a livello di area limitata.
Nota
Databricks Lakehouse Monitoring usa il calcolo serverless per i processi. Per informazioni sul monitoraggio delle spese per il monitoraggio di Lakehouse, vedere View Lakehouse Monitoring expenses.For information about tracking Lakehouse Monitoring expenses, see View Lakehouse Monitoring expenses.
Funzionamento di Lakehouse Monitoring su Databricks
Per monitorare una tabella in Databricks, creare un monitor collegato alla tabella. Per monitorare le prestazioni di un modello di Machine Learning, collegare il monitoraggio a una tabella di inferenza che contiene gli input del modello e le stime corrispondenti.
Databricks Lakehouse Monitoring offre i tipi di analisi seguenti: serie temporale, snapshot e inferenza.
Tipo profilo | Descrizione |
---|---|
Serie temporale | Usare per le tabelle che contengono un set di dati time series basato su una colonna timestamp. Il monitoraggio calcola le metriche relative alla qualità dei dati nelle finestre basate sul tempo della serie temporale. |
Inferenza | Usare per le tabelle che contengono il log delle richieste per un modello. Ogni riga è una richiesta, con colonne per il timestamp , gli input del modello, la stima corrispondente e (facoltativo) etichetta di verità. Il monitoraggio confronta le metriche relative alle prestazioni del modello e alla qualità dei dati nelle finestre basate sul tempo del log delle richieste. |
Snapshot | Utilizzare per tutti gli altri tipi di tabelle. Il monitoraggio calcola le metriche relative alla qualità dei dati su tutti i dati nella tabella. La tabella completa viene elaborata con ogni aggiornamento. |
Questa sezione descrive brevemente le tabelle di input usate da Databricks Lakehouse Monitoring e le tabelle delle metriche generate. Il diagramma mostra la relazione tra le tabelle di input, le tabelle delle metriche, il monitoraggio e il dashboard.
Tabella primaria e tabella di base
Oltre alla tabella da monitorare, denominata "tabella primaria", è possibile specificare facoltativamente una tabella di base da usare come riferimento per misurare la deriva o la modifica dei valori nel tempo. Una tabella di base è utile quando si dispone di un campione di ciò che si prevede che i dati siano simili. L'idea è che la deriva viene quindi calcolata in relazione ai valori e alle distribuzioni dei dati previsti.
La tabella di base deve contenere un set di dati che riflette la qualità prevista dei dati di input, in termini di distribuzioni statistiche, distribuzioni di singole colonne, valori mancanti e altre caratteristiche. Deve corrispondere allo schema della tabella monitorata. L'eccezione è la colonna timestamp per le tabelle usate con profili di inferenza o serie temporale. Se le colonne non sono presenti nella tabella primaria o nella tabella di base, il monitoraggio usa l'euristica ottimale per calcolare le metriche di output.
Per i monitoraggi che usano un profilo snapshot, la tabella di base deve contenere uno snapshot dei dati in cui la distribuzione rappresenta uno standard di qualità accettabile. Ad esempio, nei dati di distribuzione di livello, è possibile impostare la linea di base su una classe precedente in cui i voti sono stati distribuiti in modo uniforme.
Per i monitoraggi che usano un profilo time series, la tabella di base deve contenere dati che rappresentano intervalli di tempo in cui le distribuzioni di dati rappresentano uno standard di qualità accettabile. Ad esempio, nei dati meteo, è possibile impostare la baseline su una settimana, un mese o un anno in cui la temperatura era vicina alle temperature normali previste.
Per i monitoraggi che usano un profilo di inferenza, una buona scelta per una baseline è i dati usati per eseguire il training o la convalida del modello monitorato. In questo modo, gli utenti possono essere avvisati quando i dati sono stati deviati rispetto a quello su cui è stato eseguito il training e la convalida del modello. Questa tabella deve contenere le stesse colonne di funzionalità della tabella primaria e deve inoltre essere model_id_col
uguale a quella specificata per InferenceLog della tabella primaria in modo che i dati vengano aggregati in modo coerente. Idealmente, il set di test o di convalida usato per valutare il modello deve essere usato per garantire metriche di qualità del modello simili.
Tabelle e dashboard delle metriche
Un monitoraggio tabelle crea due tabelle delle metriche e un dashboard. I valori delle metriche vengono calcolati per l'intera tabella e per le finestre temporali e i subset di dati (o "sezioni") specificati durante la creazione del monitoraggio. Inoltre, per l'analisi dell'inferenza, le metriche vengono calcolate per ogni ID modello. Per altre informazioni sulle tabelle delle metriche, vedere Monitorare le tabelle delle metriche.
- La tabella delle metriche del profilo contiene statistiche di riepilogo. Vedere lo schema della tabella delle metriche del profilo.
- La tabella delle metriche di deriva contiene statistiche correlate alla deriva dei dati nel tempo. Se viene fornita una tabella di base, viene monitorata anche la deriva rispetto ai valori di base. Vedere lo schema della tabella delle metriche di deriva.
Le tabelle delle metriche sono tabelle Delta e vengono archiviate in uno schema del catalogo Unity specificato. È possibile visualizzare queste tabelle usando l'interfaccia utente di Databricks, eseguire query usando Databricks SQL e creare dashboard e avvisi in base a essi.
Per ogni monitoraggio, Databricks crea automaticamente un dashboard per visualizzare e presentare i risultati del monitoraggio. Il dashboard è completamente personalizzabile come qualsiasi altro dashboard legacy.
Iniziare a usare Il monitoraggio di Lakehouse in Databricks
Per iniziare, vedere gli articoli seguenti:
- Creare un monitoraggio usando l'interfaccia utente di Databricks.
- Creare un monitoraggio usando l'API.
- Informazioni sulle tabelle delle metriche di monitoraggio.
- Usare il dashboard di monitoraggio.
- Creare avvisi SQL in base a un monitoraggio.
- Creare metriche personalizzate.
- Monitorare i modelli che servono gli endpoint.
- Monitorare l'equità e la distorsione per i modelli di classificazione.
- Vedere il materiale di riferimento per l'API di monitoraggio di Databricks Lakehouse.
- Notebook di esempio.