Che cos'è un archivio funzionalità?

Questa pagina illustra che cos'è un archivio funzionalità e quali vantaggi offre e i vantaggi specifici di Databricks Feature Store.

Un archivio funzionalità è un repository centralizzato che consente ai data scientist di trovare e condividere funzionalità e garantisce anche che lo stesso codice usato per calcolare i valori delle funzionalità venga usato per il training e l'inferenza del modello.

Machine Learning usa i dati esistenti per creare un modello per stimare i risultati futuri. In quasi tutti i casi, i dati non elaborati richiedono la pre-elaborazione e la trasformazione prima di poterli usare per compilare un modello. Questo processo è denominato progettazione delle funzionalità e gli output di questo processo sono denominati funzionalità, ovvero i blocchi predefiniti del modello.

Lo sviluppo di funzionalità è complesso e dispendioso in termini di tempo. Un'ulteriore complicazione è che per l'apprendimento automatico, i calcoli delle funzionalità devono essere eseguiti per il training del modello e quindi di nuovo quando il modello viene usato per eseguire stime. Queste implementazioni potrebbero non essere eseguite dallo stesso team o usando lo stesso ambiente di codice, che può causare ritardi ed errori. Inoltre, team diversi in un'organizzazione avranno spesso esigenze di funzionalità simili, ma potrebbero non essere consapevoli del lavoro svolto da altri team. Un archivio funzionalità è progettato per risolvere questi problemi.

Perché usare Databricks Feature Store?

Databricks Feature Store è completamente integrato con altri componenti di Azure Databricks.

  • Individuazione. L'interfaccia utente di Feature Store, accessibile dall'area di lavoro Databricks, consente di esplorare e cercare le funzionalità esistenti.
  • Derivazione. Quando si crea una tabella delle funzionalità in Azure Databricks, le origini dati usate per creare la tabella delle funzionalità vengono salvate e accessibili. Per ogni funzionalità di una tabella delle funzionalità, è anche possibile accedere ai modelli, ai notebook, ai processi e agli endpoint che usano la funzionalità.
  • Integrazione con il punteggio e la gestione dei modelli. Quando si usano le funzionalità di Feature Store per eseguire il training di un modello, il modello viene creato in un pacchetto con metadati delle funzionalità. Quando si usa il modello per l'assegnazione di punteggi batch o l'inferenza online, recupera automaticamente le funzionalità da Feature Store. Il chiamante non deve conoscerli o includere la logica per cercare o aggiungere funzionalità per assegnare un punteggio ai nuovi dati. In questo modo, la distribuzione e gli aggiornamenti dei modelli sono molto più semplici.
  • Ricerche temporizzato. Feature Store supporta casi d'uso basati su eventi e serie temporali che richiedono la correttezza temporizzato.

Progettazione delle funzionalità nel catalogo unity

Con Databricks Runtime 13.3 LTS e versioni successive, se l'area di lavoro è abilitata per Unity Catalog, Unity Catalog diventa l'archivio funzionalità. È possibile usare qualsiasi tabella Delta o Delta Live Table in Unity Catalog con una chiave primaria come tabella delle funzionalità per il training o l'inferenza del modello. Il catalogo unity offre funzionalità di individuazione, governance, derivazione e accesso tra aree di lavoro.

Come funziona Databricks Feature Store?

Il flusso di lavoro tipico di Machine Learning con Feature Store segue questo percorso:

  1. Scrivere codice per convertire i dati non elaborati in funzionalità e creare un dataframe Spark contenente le funzionalità desiderate.
  2. Per le aree di lavoro abilitate per Unity Catalog, scrivere il dataframe come tabella delle funzionalità in Unity Catalog. Se l'area di lavoro non è abilitata per Unity Catalog, scrivere il dataframe come tabella delle funzionalità nell'archivio delle funzionalità dell'area di lavoro.
  3. Eseguire il training di un modello usando le funzionalità dell'archivio funzionalità. Quando si esegue questa operazione, il modello archivia le specifiche delle funzionalità usate per il training. Quando il modello viene usato per l'inferenza, unisce automaticamente le funzionalità dalle tabelle delle funzionalità appropriate.
  4. Registrare il modello nel Registro modelli.

È ora possibile usare il modello per eseguire stime sui nuovi dati.

Per i casi d'uso batch, il modello recupera automaticamente le funzionalità necessarie da Feature Store.

Flusso di lavoro di Feature Store per i casi d'uso di Machine Learning in batch.

Per i casi d'uso in tempo reale, pubblicare le funzionalità in un negozio online o usare una tabella online.

In fase di inferenza, il modello legge le funzionalità pre-calcolate dall'archivio online e le aggiunge ai dati forniti nella richiesta client all'endpoint di gestione del modello.

Flusso dello Store delle funzionalità per i modelli di Machine Learning serviti.

Iniziare a usare Feature Store

Per iniziare a usare Feature Store, vedere gli articoli seguenti:

Quando si usa Progettazione funzionalità in Unity Catalog, Unity Catalog si occupa della condivisione di tabelle delle funzionalità tra aree di lavoro e si usano i privilegi di Catalogo Unity per controllare l'accesso alle tabelle delle funzionalità. I collegamenti seguenti sono solo per l'archivio funzionalità dell'area di lavoro:

Tipi di dati supportati

Progettazione delle funzionalità in Unity Catalog and Workspace Feature Store supporta i tipi di dati PySpark seguenti:

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

[1] BinaryType, DecimalTypee MapType sono supportati in tutte le versioni di Progettazione funzionalità in Unity Catalog e nell'area di lavoro Feature Store v0.3.5 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 archiviare vettori, tensori e incorporamenti di tipo sparse come MapType.
  • È possibile archiviare il testo come StringType.

Quando vengono pubblicate negli archivi online e ArrayTypeMapType le funzionalità vengono 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 per l'uso di Feature Store, scaricare la Guida completa agli store di funzionalità.