Feature store
Aussi : feature store, ML feature store, feature repository, magasin de features, entrepôt de caractéristiques
Référentiel centralisé qui gère les features de ML et garantit la cohérence entre les environnements d'entraînement et de production.
De quoi il s'agit
Un feature store est un système centralisé de définition, de stockage et de mise à disposition des features utilisées par les modèles de machine learning. Une feature est une variable d'entrée mesurable du modèle, par exemple le panier moyen d'un client sur les 30 derniers jours, ou le nombre de jours depuis sa dernière connexion.
Le problème central que résout un feature store est celui de la cohérence. Les modèles sont entraînés sur des données historiques mais produisent leurs prédictions sur des données live. Si la feature est calculée d'une certaine façon à l'entraînement et d'une façon légèrement différente en production, le modèle se dégrade sans que rien ne le signale. Cet écart s'appelle le training-serving skew. Un feature store impose une définition unique utilisée dans les deux cas.
Pourquoi c'est important
- Réutilisation : une feature construite par une équipe (par exemple la « customer lifetime value ») peut être partagée entre plusieurs modèles au lieu d'être reconstruite chaque fois.
- Cohérence : la même logique de transformation s'exécute à l'entraînement et pour la prédiction en temps réel.
- Gouvernance : les features sont documentées, versionnées et soumises à des droits d'accès, ce qui facilite l'audit et le contrôle réglementaire.
- Rapidité : les data scientists passent moins de temps sur la plomberie de données répétitive et plus de temps sur la modélisation.
Comment on l'utilise en pratique
Un feature store comporte généralement deux volets :
- Un offline store (grandes tables historiques) utilisé pour construire les jeux de données d'entraînement.
- Un online store (base de données à faible latence) utilisé pour fournir des valeurs de features fraîches aux modèles en production, en quelques millisecondes.
Un pipeline calcule les valeurs des features à partir des données brutes et les écrit dans les deux stores. Les équipes enregistrent chaque feature avec ses métadonnées : nom, propriétaire, définition et fraîcheur. Quand un modèle a besoin de données, il demande les features par leur nom plutôt que de réimplémenter la logique.
Exemple concret
Une banque construit un modèle de détection de fraude. L'une des features est transactions_last_hour.
1. À l'entraînement, l'offline store renvoie le nombre historique de transactions dans l'heure précédant chaque transaction passée.
2. Lorsqu'une carte est utilisée en production, le modèle interroge l'online store, qui renvoie la même feature calculée sur les données live en quelques millisecondes.
3. Comme les deux chemins partagent une seule définition, le score produit par le modèle en production correspond à ce qu'il a appris à l'entraînement.
Si l'équipe marketing construit plus tard un modèle de churn, elle réutilise la même feature sans la reconstruire, et la finance peut retracer exactement quelles données ont conduit à une décision.
Voir aussi
Questions fréquentes
Qu'est-ce qu'un feature store en machine learning ?
Un feature store est un système centralisé qui définit, stocke et sert les features utilisées par les modèles de machine learning, une feature étant une variable d'entrée mesurable comme le panier moyen d'un client sur les 30 derniers jours. Sa fonction principale est de garantir qu'une feature est calculée de la même façon à l'entraînement et en prédiction temps réel. Il sert aussi de catalogue partagé où les features sont documentées, versionnées et réutilisables.
Qu'est-ce que le training-serving skew et comment un feature store l'évite-t-il ?
Le training-serving skew désigne l'écart qui apparaît quand une feature est calculée d'une certaine manière sur les données historiques d'entraînement et légèrement autrement sur les données de production. Le modèle se dégrade alors silencieusement, car les entrées qu'il voit en production ne correspondent plus à celles sur lesquelles il a appris. Le feature store règle le problème en imposant une définition unique, appelée par son nom aussi bien par le pipeline d'entraînement que par le service de prédiction.
Quelle différence entre offline store et online store ?
L'offline store contient de grandes tables historiques et sert à constituer les jeux de données d'entraînement ; l'online store est une base à faible latence qui renvoie des valeurs de features fraîches aux modèles en production en quelques millisecondes. Un pipeline calcule chaque feature à partir des données brutes et l'écrit dans les deux, ce qui maintient leur cohérence. Même définition de feature, deux modes d'accès : historique en masse pour l'entraînement, lecture unitaire rapide pour la prédiction.
Qui, dans l'entreprise, tire réellement parti d'un feature store ?
Les data scientists y gagnent au quotidien : ils cessent de reconstruire la même plomberie de données et appellent les features par leur nom. La direction data y gagne en gouvernance, puisque chaque feature porte un nom, un propriétaire, une définition et un indicateur de fraîcheur, ce qui facilite l'audit et les revues réglementaires. Les équipes métier y gagnent en réutilisation : une feature comme la customer lifetime value construite pour un modèle peut alimenter plusieurs autres.
Un exemple concret de feature servie par un feature store ?
Prenez un modèle de détection de fraude bancaire avec une feature nommée transactions_last_hour. À l'entraînement, l'offline store renvoie le nombre historique de transactions dans l'heure précédant chaque transaction passée ; lors d'un paiement par carte en production, l'online store renvoie la même feature calculée sur les données en direct en quelques millisecondes. Comme les deux chemins partagent une définition unique, le score produit en production reste cohérent avec l'apprentissage, et une équipe marketing qui construit un modèle de churn peut réutiliser cette feature telle quelle.