Passa al contenuto principale
Annunci

Introduzione alle Feature View

Un modo più semplice e gestito per creare, distribuire e gestire le feature di ML

di Nick Joung, Ian Ackerman e Julia Brouillette

  • Di cosa si tratta: le Feature View sono un framework gestito per definire una feature di ML una sola volta e utilizzarla ovunque; la stessa definizione alimenta i dati storici per la sperimentazione e l'addestramento, e le pipeline di produzione per l'inferenza batch o in tempo reale.
  • La sfida che risolve: la messa in produzione dell'ML in tempo reale. Sperimenta con le feature in un notebook e mettile rapidamente in produzione con poche chiamate API. Elimina il disallineamento tra addestramento e servizio (training/serving skew), il codice delle feature duplicato e le fragili infrastrutture di streaming e online store autogestite che rendono difficile la scalabilità dell'ML.
  • Il risultato: le feature diventano oggetti Unity Catalog soggetti a governance, materializzati da pipeline gestite, con feature in streaming servite con un p99 end-to-end di 200 ms.

In un mondo perfetto, le feature di ML vengono create una sola volta. Ma per molti team, una feature che funziona in un notebook si trasforma comunque in logica duplicata, pipeline fragili, backfill una tantum, gestione dell'online store e sovraccarico di governance. Per i casi d'uso in tempo reale come il rilevamento delle frodi, la personalizzazione e i sistemi di raccomandazione, questa complessità diventa ancora più difficile da assorbire perché i modelli dipendono da segnali freschi per generare previsioni accurate. Le sfide comuni includono:

  • Reimplementazione della logica delle feature tra addestramento in tempo reale e storico
  • Disallineamento (skew) tra addestramento e serving che riduce le prestazioni del modello
  • Individuazione e riutilizzo delle feature tra diversi casi d'uso
  • Backfilling di feature con un ampio intervallo storico (lookback) nell'online store
  • Manutenzione di un'infrastruttura di produzione complessa su scala
  • Governance e tracciamento della lineage tra componenti e pipeline

Databricks è lieta di annunciare la Public Preview di Feature Views, un framework per creare pipeline di feature gestite direttamente all'interno di Databricks. Con Feature Views, definisci una feature una sola volta e lasci che la piattaforma gestisca tutto, dalla sperimentazione al serving in tempo reale.

Cosa sono le Feature Views?

Una Feature View è un'astrazione semplice e potente che copre l'intero ciclo di vita di ML. Un data scientist o un ingegnere di ML definisce la logica della propria feature: la sorgente, l'entità, la colonna delle serie temporali e il calcolo. Da quella singola definizione, il Feature Store di Databricks genera dati storici accurati nel tempo (point-in-time) per la sperimentazione e l'addestramento. Quando sono pronti, gli utenti materializzano la Feature View e Databricks esegue le pipeline che calcolano i dati delle feature per un'inferenza efficiente.

La stessa definizione di feature supporta sorgenti sia batch che in streaming. La sperimentazione e la messa in produzione sono identiche per entrambe le sorgenti. Passare da una sorgente batch a una in streaming richiede solo poche righe di codice.

Ecco la stessa definizione di Feature View, eseguita sia come feature in streaming che batch.

Perché le Feature Views?

1. Una sola definizione, nessun disallineamento

La principale causa di errore nel ML in tempo reale è il divario tra il modo in cui una feature viene calcolata per l'addestramento e come viene calcolata al momento del serving. Le Feature Views colmano questo divario fin dalla progettazione: esiste un'unica definizione e la piattaforma calcola i valori di addestramento e i valori di inferenza online in base a tale definizione, garantendo la perfetta corrispondenza. Per i team di ML, questo si traduce in molto meno codice da gestire e in un percorso verso la produzione decisamente più fluido.

Raccomandazioni migliori per centinaia di milioni di viaggiatori iniziano con feature migliori. Le Feature Views hanno ridotto drasticamente il nostro codice per le feature: i nostri data scientist lavorano più velocemente e si concentrano su ciò che crea valore per i viaggiatori, non su come calcolarlo.—Jules Marshall, Sr. Director of Data, Skyscanner

2. Genie Code per la sperimentazione

GIF che mostra le Feature Views in azione

Inizia a creare rapidamente e facilmente con l'SDK client di Feature Engineering e Genie Code. L'SDK semplifica la dichiarazione locale delle feature in un notebook, calcolandole istantaneamente in modo corretto sui dati storici e assemblando un set di addestramento accurato nel tempo (point-in-time).

Poiché Databricks raggruppa definizioni delle feature, dati delle feature, addestramento dei modelli e MLflow in un unico ambiente, i data scientist possono passare dall'idea della feature all'esperimento del modello all'interno di un singolo notebook.

Con Genie Code, i team possono utilizzare le Feature Views per eseguire flussi di lavoro di sperimentazione dei modelli one-shot: identificare le sorgenti dati corrette, generare idee per le feature e sperimentare con modelli e dati in un unico notebook.

3. Pipeline pronte per la produzione senza oneri di gestione

Quando una feature è pronta per la produzione, registrala in Unity Catalog e chiama materialize_features. Databricks crea e gestisce le pipeline per tuo conto, scrivendo nei datastore online e offline appropriati.

Pronto per la produzione significa dati di alta qualità, infrastruttura scalabile e affidabilità mission-critical. Sotto il cofano, Feature Views orchestra prodotti GA ampiamente testati come Lakebase e RTM, ottimizzando il modo in cui i componenti collaborano per supportare i carichi di lavoro di Feature Serving. I casi limite funzionano fin da subito, come il backfilling di finestre temporali estese, le feature in streaming o la scadenza delle righe obsolete dall'online store.

4. Dati aggiornati in tempo reale quando ne hai bisogno

Per i casi d'uso in cui ogni nuovo evento deve modificare immediatamente il valore fornito al modello, le Feature Views supportano feature in streaming provenienti da Kafka, offrendo una latenza p99 end-to-end di 200 ms dall'evento alla disponibilità online. Una RollingWindow guarda indietro rispetto al timestamp di ciascun evento con una risoluzione al millisecondo, in modo che un aggregato come "somma delle transazioni negli ultimi 10 minuti" sia sempre aggiornato.

Sotto il cofano, Databricks orchestra i componenti che rendono rapido questo processo: Spark Realtime Mode elabora gli eventi continuamente e aggiorna gli aggregati dinamici per ciascun evento anziché attendere i microbatch; Lakebase funge da online store ottimizzato per lo streaming che riduce al minimo l'amplificazione della scrittura per upsert frequenti e di piccole dimensioni; infine, Model Serving recupera le feature al momento dell'inferenza. Tu crei la feature con finestra temporale scorrevole (rolling-window), la piattaforma crea la pipeline.

5. Governance in Unity Catalog, integrazione in tutta la piattaforma

Le feature materializzate sono dati e devono essere gestite come tali. In Databricks, le Feature Views sono oggetti di Unity Catalog di prim'ordine: individuabili, con controllo degli accessi e tracciati con lineage completa. Le feature vengono fornite insieme al modello: quando registri un modello con MLflow, le sue dipendenze dalle feature vengono registrate e, al momento dell'inferenza, Model Serving recupera automaticamente le feature richieste, senza bisogno di codice di ricerca personalizzato o cablaggi manuali. Insieme a MLflow, Model Serving e Genie Code, le Feature Views rendono Databricks un unico ambiente per sviluppare, distribuire e gestire l'intero stack di ML.

GIF di Genie Code che aggiunge feature a un notebook

Genie Code è integrato nativamente con le Feature Views, consentendo ai data scientist di creare e iterare sulle feature a partire da semplici prompt. Chiedigli di aggiungere nuove feature a un notebook e Genie Code genererà il codice corretto nel contesto, utilizzando i dati e la governance già presenti in Databricks.

Come i team utilizzano le Feature Views

  • I team di servizi finanziari utilizzano le feature in streaming RollingWindow per segnali di transazione inferiori al secondo per il rilevamento delle frodi.
  • I team di personalizzazione e raccomandazione acquisiscono l'intento più recente dell'utente all'interno della sessione per aumentare il coinvolgimento, riutilizzando al contempo le stesse definizioni offline per l'addestramento del modello.
  • I team di piattaforma consolidano pipeline di feature precedentemente frammentate in oggetti gestiti di Unity Catalog, eliminando l'onere operativo di online store e processori di streaming autogestiti.

Per iniziare

Per iniziare, chiedi a Genie di usare le Feature Views per creare un nuovo esperimento.

Può aiutarti a definire una feature, analizzarne l'importanza per il tuo dataset, creare un training set e, quando sarai pronto per la produzione, a registrarla e materializzarla. La materializzazione in streaming richiede inoltre un'area di lavoro di livello Enterprise in una regione che supporta Lakebase.

Per saperne di più, consulta la documentazione:

Le Feature Views ti consentono di creare una feature una sola volta e di utilizzarla per la sperimentazione, l'elaborazione batch e il serving in tempo reale, senza dover gestire direttamente l'infrastruttura sottostante. Prendi una feature batch esistente e scopri quanto sia più forte il segnale che fornisce con una freschezza a livello di millisecondi, e lascia che Databricks esegua le pipeline necessarie.

Se questo è il tipo di problemi su cui desideri lavorare, stiamo assumendo.

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.