Repository centralizzato che archivia, versiona e serve feature di ML con metadati e controlli di accesso, abilitando il riutilizzo e la coerenza tra gli ambienti

Questo blog è stato originariamente pubblicato da Tecton.ai, che è stato acquisito da Databricks nell'agosto 2025. Dall'acquisizione, Databricks Feature Store ha rilasciato API Dichiarative per le Feature, un'astrazione potente per la sperimentazione di feature che automatizza la creazione di pipeline di feature gestite sia per dati batch che in streaming.
Aggiornato: 15 maggio 2025
Informazioni sugli autori:
Mike Del Balso, CEO & Co-Founder di Tecton
Willem Pienaar, Creatore di Feast
I team di dati stanno iniziando a rendersi conto che il machine learning operativo richiede la risoluzione di problemi di dati che vanno ben oltre la creazione di pipeline di dati.
In un post precedente, Why We Need DevOps for ML Data, abbiamo evidenziato alcune delle sfide chiave relative ai dati che i team affrontano quando mettono in produzione sistemi di ML.
I sistemi di dati di produzione, sia per l'analisi su larga scala che per lo streaming in tempo reale, non sono nuovi. Tuttavia, l'apprendimento automatico operativo — intelligenza guidata da ML integrata nelle applicazioni rivolte ai clienti — è una novità per la maggior parte dei team. La sfida di distribuire l'apprendimento automatico in produzione per scopi operativi (ad es. sistemi di raccomandazione, rilevamento frodi, personalizzazione, ecc.) introduce nuovi requisiti per i nostri strumenti di dati.
Sta emergendo un nuovo tipo di infrastruttura dati specifica per ML per renderlo possibile.
Sempre più team di Data Science e Data Engineering si rivolgono ai feature store per gestire i set di dati e le pipeline di dati necessarie per mettere in produzione le loro applicazioni di ML. Questo post descrive i componenti chiave di un feature store moderno e come la somma di queste parti agisce da moltiplicatore di forza per le organizzazioni, riducendo la duplicazione degli sforzi di data engineering, accelerando il ciclo di vita del machine learning e sbloccando un nuovo tipo di collaborazione tra i team di data science.
| Breve ripasso: in ML, una feature è un dato utilizzato come segnale di input per un modello predittivo. |
| Ad esempio, se una società di carte di credito sta cercando di prevedere se una transazione è fraudolenta, una feature utile potrebbe essere se la transazione avviene in un paese straniero, , o come la dimensione di questa transazione si confronta con la transazione tipica del cliente. Quando ci riferiamo a una feature, di solito ci riferiamo al concetto di quel segnale (ad es. “transaction_in_foreign_country”), non a un valore specifico della feature (ad es. non “transaction #1364 was in a foreign country”). |
![]() |
“L'interfaccia tra modelli e dati”
Abbiamo introdotto per la prima volta i feature store nel nostro post sul blog che descrive la piattaforma Michelangelo di Uber. Da allora, i feature store sono emersi come un componente necessario dello stack di machine learning operativo.
I vantaggi dei feature store includono:
I feature store mirano a risolvere l'intero set di problemi di gestione dei dati incontrati durante la creazione e l'operatività di applicazioni di ML operative.
Un feature store è un sistema di dati specifico per ML che:

Per supportare una gestione semplice delle feature, i feature store forniscono astrazioni di dati che rendono facile costruire, distribuire e ragionare sulle pipeline di feature in diversi ambienti. Ad esempio, rendono facile definire una trasformazione di feature una volta, quindi calcolare e servire i suoi valori in modo coerente sia nell'ambiente di sviluppo (per il training con valori storici) sia nell'ambiente di produzione (per l'inferenza con valori di feature aggiornati).
I feature store agiscono come un hub centrale per i dati delle feature e i metadati durante il ciclo di vita di un progetto ML. I dati in un feature store vengono utilizzati per:
I feature store portano economie di scala alle organizzazioni ML abilitando la collaborazione. Quando una feature viene registrata in un feature store, diventa disponibile per il riutilizzo immediato da parte di altri modelli nell'organizzazione. Ciò riduce la duplicazione degli sforzi di data engineering e consente ai nuovi progetti ML di avviarsi con una libreria di feature curate e pronte per la produzione.

I feature store efficaci sono progettati per essere sistemi modulari che possono essere adattati all'ambiente in cui vengono distribuiti. Ci sono cinque componenti principali che tipicamente costituiscono un feature store. Nel resto di questo post, esamineremo tali componenti e descriveremo il loro ruolo nell'alimentare le applicazioni ML operative.
Ci sono 5 componenti principali di un feature store moderno: Trasformazione, Archiviazione, Serving, Monitoraggio e Registro delle Feature.

Nelle sezioni seguenti forniremo una panoramica dello scopo e delle capacità tipiche di ciascuna di queste sezioni.
I feature store servono dati delle feature ai modelli. Questi modelli richiedono una visione coerente delle feature tra training e serving. Le definizioni delle feature utilizzate per addestrare un modello devono corrispondere esattamente alle feature fornite nel serving online. Quando non corrispondono, viene introdotto uno skew tra training e serving, che può causare problemi catastrofici e difficili da debuggare nelle prestazioni del modello.

I feature store astraggono la logica e l'elaborazione utilizzate per generare una feature, fornendo agli utenti un modo semplice e canonico per accedere a tutte le feature di un'azienda in modo coerente in tutti gli ambienti in cui sono necessarie.
Quando si recuperano dati offline (ad esempio, per l'addestramento), i valori delle feature vengono comunemente acceduti tramite SDK di feature store compatibili con i notebook. Forniscono viste corrette nel tempo dello stato del mondo per ogni esempio utilizzato per addestrare un modello (noto anche come "time-travel").
Per il serving online, un feature store fornisce un singolo vettore di feature alla volta composto dai valori delle feature più recenti. Le risposte vengono servite tramite un'API ad alte prestazioni supportata da un database a bassa latenza.

I feature store persistono i dati delle feature per supportare il recupero tramite livelli di feature serving. Solitamente contengono sia un livello di archiviazione online che offline per supportare i requisiti dei diversi sistemi di feature serving.

I livelli di archiviazione offline vengono tipicamente utilizzati per archiviare mesi o anni di dati delle feature per scopi di addestramento. I dati del feature store offline sono spesso archiviati in data warehouse o data lake come S3, BigQuery, Snowflake, Redshift. L'estensione di un data lake o data warehouse esistente per l'archiviazione di feature offline è generalmente preferita per evitare silos di dati.
I livelli di archiviazione online vengono utilizzati per persistere i valori delle feature per ricerche a bassa latenza durante l'inferenza. Solitamente archiviano solo i valori delle feature più recenti per ogni entità, modellando essenzialmente lo stato attuale del mondo. Gli store online sono solitamente eventualmente consistenti e non hanno requisiti di coerenza rigorosi per la maggior parte dei casi d'uso di ML. Sono solitamente implementati con store chiave-valore come DynamoDB, Redis o Cassandra.

I feature store utilizzano un modello dati basato su entità in cui ogni valore di feature è associato a un'entità (ad esempio, un utente) e a un timestamp. Un modello dati basato su entità fornisce una struttura minima per supportare la gestione standardizzata delle feature, si adatta naturalmente ai flussi di lavoro comuni di feature engineering e consente semplici query di recupero in produzione.