Feature Store di Databricks

Databricks Feature Store è un registro centrale per le funzionalità usate nei modelli di intelligenza artificiale e Machine Learning. Quando registri funzionalità e modelli nel Catalogo Unity, ottieni governance integrata, lineage, join puntuali e condivisione e scoperta di funzionalità tra spazi di lavoro.

Puoi scrivere articoli usando due strategie.

Entrambi producono funzionalità governate dal Catalogo Unity che vengono pubblicate sull'Online Feature Store. Vedi Scegli una strategia di authoring.

  • Feature Views, che definiscono le funzionalità in modo dichiarativo e permettono a Databricks di calcolare e gestire le pipeline di funzionalità per te. Questa funzionalità è disponibile in anteprima pubblica.
  • Feature tables, che puoi popolare tu stesso scrivendo i valori delle feature in una tabella Delta.

Con Databricks, l'intero flusso di lavoro di training del modello viene eseguito su una singola piattaforma, tra cui:

  • Pipeline di dati che inseriscono dati non elaborati, creano tabelle delle funzionalità, eseguono il training di modelli ed eseguono l’inferenza batch.
  • Modellare e gestire gli endpoint disponibili con un solo clic e che forniscono millisecondi di latenza.
  • Monitoraggio di dati e modelli.

Quando si usano le funzionalità di Databricks Feature Store per addestrare i modelli, il modello tiene automaticamente traccia della provenienza delle funzionalità usate nell'addestramento. In fase di inferenza, il modello cerca automaticamente i valori delle funzionalità più recenti. Databricks Feature Store offre anche il calcolo su richiesta delle funzionalità per le applicazioni in tempo reale, gestendo tutte le attività di calcolo delle funzionalità. In questo modo si elimina la discrepanza tra training e inferenza, garantendo che i calcoli delle feature utilizzati durante l'inferenza siano gli stessi di quelli utilizzati durante il training del modello. Semplifica anche in modo significativo il codice lato client, poiché tutte le ricerche e i calcoli delle funzionalità vengono gestiti da Databricks Feature Store.

Annotazioni

Questa pagina descrive Databricks Feature Store per le aree di lavoro abilitate per Unity Catalog. Se l'area di lavoro non è abilitata per il Catalogo Unity, consultare Area di lavoro Feature Store (deprecato).

Panoramica dei concetti

Per una panoramica del funzionamento di Databricks Feature Store e di un glossario dei termini, vedere Panoramica e glossario di Databricks Feature Store.

Scegli una strategia di authoring

Feature Store supporta due modi per creare funzionalità. Entrambi creano funzionalità governate dal Catalogo Unity e possono pubblicare sull'Online Feature Store. In generale, le Feature View sono raccomandate per la maggior parte dei nuovi casi, anche se le feature table sono le più adatte per carichi di lavoro batch flessibili e multi-fasi.

Strategy Ideale per Come funziona
Feature View (consigliate) La maggior parte dei nuovi progetti, aggregazioni con finestra temporale e funzionalità di streaming. Definisci le caratteristiche in modo dichiarativo come oggetti del Catalogo Feature Unity. Databricks crea e gestisce le pipeline di funzionalità. Puoi sperimentare sulle funzionalità definite localmente in un notebook prima di registrarle e materializzare pipeline di funzionalità. Le Feature View in streaming supportano dati di funzionalità freschi in meno di un secondo con scritture dirette dalla modalità in tempo reale verso l'Online Feature Store.
Tabelle delle funzionalità Funzionalità che si calcolano utilizzando Lakeflow o Spark Declarative Pipelines, e carichi di lavoro che necessitano di Delta Sharing, di un negozio online di terze parti o di un percorso di authoring generalmente disponibile solo per GA. Scrivi i valori delle feature in una tabella Delta in Unity Catalog che abbia una chiave primaria. Possiedi la pipeline che popola e aggiorna la tabella.

Sviluppare funzionalità

Caratteristica / Funzionalità Description
Visuali di approfondimento Definire e calcolare le funzionalità in modo dichiarativo utilizzando le Feature Views, incluse aggregazioni a finestra temporale e funzionalità di streaming.
Visualizzazioni delle caratteristiche di Materialize Materialize Feature Views per la formazione offline o il servizio online.
Tabelle delle funzionalità nel catalogo unity Creare e usare tabelle delle funzionalità.

Individuare e condividere funzionalità

Caratteristica / Funzionalità Description
Esplorare le tabelle delle funzionalità nel catalogo unity Esplorare e gestire le tabelle delle funzionalità usando Esplora cataloghi e l'interfaccia utente delle funzionalità.
Usare tag con tabelle delle funzionalità e funzioni in Unity Catalog Utilizzare semplici coppie chiave-valore per classificare e gestire le tabelle delle funzionalità e le loro caratteristiche.
Esplorare le visualizzazioni delle funzionalità nel catalogo unity Sfoglia le definizioni di Feature View e lo stato di materializzazione nell'interfaccia utente di Databricks.

Usare le funzionalità nei flussi di lavoro di training

Caratteristica / Funzionalità Description
Eseguire il training di modelli con tabelle delle funzionalità Usare le funzionalità per eseguire il training dei modelli.
Join delle funzionalità a un momento specifico Usare la correttezza al momento specifico per creare un set di dati di addestramento che rifletta i valori delle feature al momento in cui è stata registrata un'osservazione dell'etichetta.
API Python di progettazione delle funzionalità Informazioni di riferimento sulle API Python

Caratteristiche di servizio

Caratteristica / Funzionalità Description
Feature Store online di Databricks Fornire dati delle caratteristiche alle applicazioni online e ai modelli di machine learning in tempo reale. Basato su Databricks Lakebase.
Servizio di Modelli con ricerca automatica delle caratteristiche Cercare automaticamente i valori delle funzionalità da un negozio online.
Endpoint di erogazione delle funzionalità Offrire funzionalità a modelli e applicazioni all'esterno di Databricks.
Calcolo delle funzionalità su richiesta Calcolare i valori delle caratteristiche al momento dell'inferenza.

Governance e provenienza delle funzionalità

Caratteristica / Funzionalità Description
Governance e derivazione delle funzionalità Usare Il catalogo unity per controllare l'accesso alle tabelle delle funzionalità e visualizzare la derivazione di una tabella delle funzionalità, un modello o una funzione.

Esercitazioni

Tutorial Description
Notebook di esempio per iniziare Notebook di base. Illustra come creare una tabella delle funzionalità, usarla per eseguire il training di un modello ed eseguire l'assegnazione dei punteggi batch usando la ricerca automatica delle funzionalità. Mostra anche l'interfaccia utente di Feature Engineering per cercare funzionalità e visualizzare la provenienza.
Esempio di notebook taxi. Illustra il processo di creazione di funzionalità, l'aggiornamento e l'uso di tali funzionalità per il training del modello e l'inferenza batch.
Esempio: Distribuire ed eseguire query su un endpoint di distribuzione delle funzionalità Esercitazione e notebook di esempio che mostrano come distribuire ed eseguire query su un endpoint di erogazione delle funzionalità.
Esempio: usare le funzionalità con applicazioni RAG strutturate Esercitazione che illustra come usare le tabelle online di Databricks e gli endpoint di gestione delle funzionalità per il recupero di applicazioni di generazione aumentata (RAG).

Requisiti

Per usare Databricks Feature Store, l'area di lavoro deve essere abilitata per Il catalogo Unity. Se l'area di lavoro non è abilitata per il Catalogo Unity, consultare Area di lavoro Feature Store (deprecato).

Tipi di dati supportati

Databricks Feature Store e il Feature Store legacy dell'area di lavoro supportano i tipi di dati PySpark seguenti:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]
  • StructType[2]

[1] BinaryType, DecimalType e MapType sono supportati in tutte le versioni di Feature Engineering in Unity Catalog e nello Workspace Feature Store v0.3.5 o versione successiva. [2] StructType è supportato in Feature Engineering v0.6.0 o versione successiva.

I tipi di dati elencati in precedenza supportano tipi di funzionalità comuni nelle applicazioni di Machine Learning. Ad esempio:

  • È possibile archiviare vettori densi, tensori e incorporamenti come ArrayType.
  • È possibile memorizzare vettori, tensori e incorporamenti sparsi come MapType.
  • È possibile archiviare il testo come StringType.

Quando vengono pubblicate nei negozi online, le funzionalità di ArrayType e MapType sono archiviate in formato JSON.

L’interfaccia utente di Feature Store visualizza i metadati sui tipi di dati delle funzionalità:

Esempio di tipi di dati complessi

Ulteriori informazioni

Per altre informazioni sulle procedure consigliate, scaricare la Guida completa agli store di funzionalità.