Un modo più semplice e gestito per creare, distribuire e gestire le feature di ML
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:
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.
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.
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

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.
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.
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.
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.

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.
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
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.