Revenir au contenu principal

Qu'est-ce qu'un magasin de fonctionnalités ?

Dépôt centralisé stockant, versionnant et servant des fonctionnalités ML avec des métadonnées et des contrôles d'accès, permettant la réutilisation et la cohérence entre les environnements

par Équipe Databricks

  • Un feature store est un système centralisé pour stocker, gérer et partager des fonctionnalités de machine learning entre les modèles et les équipes.
  • Un feature store maintient les définitions d'entraînement et de service synchronisées afin que la même logique de fonctionnalité soit utilisée à la fois hors ligne et en production, réduisant ainsi le décalage entre l'entraînement et le service.
  • Les feature stores prennent également en charge la découverte de fonctionnalités, la documentation et la gouvernance afin que des fonctionnalités de haute qualité puissent être réutilisées au lieu d'être reconstruites à partir de zéro.
tecton

Ce blog a été initialement publié par Tecton.ai, qui a été acquise par Databricks en août 2025. Depuis cette acquisition, Databricks Feature Store a lancé Declarative Feature APIs, une puissante abstraction pour l'expérimentation de fonctionnalités qui automatise la création de pipelines de fonctionnalités gérés pour les données par lots et en streaming.


Mis à jour le : 15 mai 2025

À propos des auteurs :
Mike Del Balso, PDG et cofondateur de Tecton
Willem Pienaar, Créateur de Feast

Les équipes de données commencent à réaliser que le machine learning opérationnel nécessite de résoudre des problèmes de données qui vont bien au-delà de la création de pipelines de données.

Dans un précédent article, Pourquoi nous avons besoin de DevOps pour les données ML, nous avons mis en évidence certains des défis clés en matière de données auxquels les équipes sont confrontées lors de la mise en production des systèmes ML.

  • Accéder aux bonnes données brutes
  • Construire des fonctionnalités à partir de données brutes
  • Combiner des fonctionnalités en données d'entraînement
  • Calculer et servir des fonctionnalités en production
  • Surveiller les fonctionnalités en production

Les systèmes de données de production, qu'il s'agisse d'analyse à grande échelle ou de streaming en temps réel, ne sont pas nouveaux. Cependant, le machine learning opérationnel — l'intelligence basée sur le ML intégrée aux applications destinées aux clients — est nouveau pour la plupart des équipes. Le défi de déployer le machine learning en production à des fins opérationnelles (par exemple, les systèmes de recommandation, la détection de fraude, la personnalisation, etc.) introduit de nouvelles exigences pour nos outils de données.

Un nouveau type d'infrastructure de données spécifique au ML émerge pour rendre cela possible.

De plus en plus, les équipes de science des données et d'ingénierie des données se tournent vers les feature stores pour gérer les ensembles de données et les pipelines de données nécessaires à la mise en production de leurs applications ML. Cet article décrit les composants clés d'un feature store moderne et comment la somme de ces éléments agit comme un multiplicateur de force pour les organisations en réduisant la duplication des efforts d'ingénierie des données, en accélérant le cycle de vie du machine learning et en débloquant un nouveau type de collaboration entre les équipes de science des données.

Petit rappel : en ML, une fonctionnalité (feature) est une donnée utilisée comme signal d'entrée pour un modèle prédictif.
Par exemple, si une société de cartes de crédit tente de prédire si une transaction est frauduleuse, une fonctionnalité utile pourrait être si la transaction a lieu dans un pays étranger, ou comment la taille de cette transaction se compare à la transaction typique du client. Lorsque nous faisons référence à une fonctionnalité, nous faisons généralement référence au concept de ce signal (par exemple, « transaction_in_foreign_country »), et non à une valeur spécifique de la fonctionnalité (par exemple, pas « la transaction #1364 a eu lieu dans un pays étranger »).
Infrastructure de données spécifique au ML

Quel est l'objectif principal d'un Feature Store

« L'interface entre les modèles et les données »

Nous avons introduit les feature stores pour la première fois dans notre article de blog décrivant la plateforme Michelangelo d'Uber. Les feature stores sont depuis devenus un composant nécessaire de la pile de machine learning opérationnel.

Les avantages d'un feature store incluent :

  1. Mettre en production de nouvelles fonctionnalités sans support d'ingénierie étendu
  2. Automatiser le calcul des fonctionnalités, les remplissages rétrospectifs (backfills) et la journalisation
  3. Partager et réutiliser les pipelines de fonctionnalités entre les équipes
  4. Suivre les versions, la lignée et les métadonnées des fonctionnalités
  5. Assurer la cohérence entre les données d'entraînement et de service
  6. Surveiller la santé des pipelines de fonctionnalités en production

Les feature stores visent à résoudre l'ensemble des problèmes de gestion des données rencontrés lors de la construction et de l'exploitation d'applications ML opérationnelles.

Un feature store est un système de données spécifique au ML qui :

  • Exécute des pipelines de données qui transforment les données brutes en valeurs de fonctionnalités
  • Stocke et gère les données de fonctionnalités elles-mêmes, et
  • Sert les données de fonctionnalités de manière cohérente à des fins d'entraînement et d'inférence
Tecton

Pour prendre en charge une gestion simple des fonctionnalités, les feature stores fournissent des abstractions de données qui facilitent la construction, le déploiement et la compréhension des pipelines de fonctionnalités dans différents environnements. Par exemple, ils facilitent la définition d'une transformation de fonctionnalité une seule fois, puis le calcul et le service de ses valeurs de manière cohérente dans l'environnement de développement (pour l'entraînement sur des valeurs historiques) et l'environnement de production (pour l'inférence avec des valeurs de fonctionnalités fraîches).

Les feature stores agissent comme un hub central pour les données et les métadonnées des fonctionnalités tout au long du cycle de vie d'un projet ML. Les données d'un feature store sont utilisées pour :

  • Exploration et ingénierie des fonctionnalités
  • Itération, entraînement et débogage de modèles
  • Découverte et partage de fonctionnalités
  • Service en production à un modèle pour l'inférence
  • Surveillance de la santé opérationnelle

Les feature stores apportent des économies d'échelle aux organisations ML en favorisant la collaboration. Lorsqu'une fonctionnalité est enregistrée dans un feature store, elle devient disponible pour une réutilisation immédiate par d'autres modèles au sein de l'organisation. Cela réduit la duplication des efforts d'ingénierie des données et permet aux nouveaux projets ML de démarrer avec une bibliothèque de fonctionnalités prêtes pour la production.

Tecton

Les feature stores efficaces sont conçus comme des systèmes modulaires qui peuvent être adaptés à l'environnement dans lequel ils sont déployés. Cinq composants principaux constituent généralement un feature store. Dans le reste de cet article, nous allons passer en revue ces composants et décrire leur rôle dans l'alimentation des applications ML opérationnelles.

Quels sont les composants d'un Feature Store

Un feature store moderne se compose de 5 éléments principaux : Transformation, Stockage, Service, Surveillance et Registre des fonctionnalités.

Tecton

Dans les sections suivantes, nous donnerons un aperçu de l'objectif et des capacités typiques de chacune de ces sections.

Service des données de fonctionnalités

Les magasins de fonctionnalités fournissent des données de fonctionnalités aux modèles. Ces modèles nécessitent une vue cohérente des fonctionnalités entre l'entraînement et le service. Les définitions des fonctionnalités utilisées pour entraîner un modèle doivent correspondre exactement aux fonctionnalités fournies lors du service en ligne. Lorsqu'elles ne correspondent pas, un biais d'entraînement-service est introduit, ce qui peut entraîner des problèmes de performance du modèle catastrophiques et difficiles à déboguer.

Tecton

Les magasins de fonctionnalités abstraient la logique et le traitement utilisés pour générer une fonctionnalité, offrant aux utilisateurs un moyen simple et canonique d'accéder à toutes les fonctionnalités d'une entreprise de manière cohérente dans tous les environnements où elles sont nécessaires.

Lors de la récupération de données hors ligne (par exemple, pour l'entraînement), les valeurs de fonctionnalités sont généralement accessibles via des SDK de magasins de fonctionnalités compatibles avec les notebooks. Ils fournissent des vues correctes à un instant T de l'état du monde pour chaque exemple utilisé pour entraîner un modèle (également appelé « voyage dans le temps »).

Pour le service en ligne, un magasin de fonctionnalités fournit un seul vecteur de fonctionnalités à la fois, composé des valeurs de fonctionnalités les plus récentes. Les réponses sont servies via une API haute performance, soutenue par une base de données à faible latence.

Tecton

Stockage de données pour l'apprentissage automatique

Les magasins de fonctionnalités persistent les données de fonctionnalités pour prendre en charge la récupération via les couches de service de fonctionnalités. Ils contiennent généralement une couche de stockage en ligne et hors ligne pour répondre aux exigences des différents systèmes de service de fonctionnalités.

Tecton

Les couches de stockage hors ligne sont généralement utilisées pour stocker des données de fonctionnalités de plusieurs mois ou années à des fins d'entraînement. Les données des magasins de fonctionnalités hors ligne sont souvent stockées dans des entrepôts de données ou des lacs de données comme S3, BigQuery, Snowflake, Redshift. L'extension d'un lac de données ou d'un entrepôt de données existant pour le stockage de fonctionnalités hors ligne est généralement préférée afin d'éviter les silos de données.

Les couches de stockage en ligne sont utilisées pour persister les valeurs de fonctionnalités pour une recherche à faible latence pendant l'inférence. Elles ne stockent généralement que les dernières valeurs de fonctionnalités pour chaque entité, modélisant essentiellement l'état actuel du monde. Les magasins en ligne sont généralement éventuellement cohérents et n'ont pas d'exigences de cohérence strictes pour la plupart des cas d'utilisation du ML. Ils sont généralement implémentés avec des magasins clé-valeur comme DynamoDB, Redis ou Cassandra.

Tecton

Les magasins de fonctionnalités utilisent un modèle de données basé sur les entités où chaque valeur de fonctionnalité est associée à une entité (par exemple, un utilisateur) et à un horodatage. Un modèle de données basé sur les entités fournit une structure minimale pour prendre en charge la gestion standardisée des fonctionnalités, s'intègre naturellement aux flux de travail courants d'ingénierie des fonctionnalités et permet des requêtes de récupération simples en production.

Rapport

Le guide pratique de l'IA agentique pour l'entreprise

Transformation des données en apprentissage automatique

Tecton

Les applications de ML opérationnel nécessitent un traitement régulier des nouvelles données en valeurs de fonctionnalités afin que les modèles puissent faire des prédictions en utilisant une vue à jour du monde. Les magasins de fonctionnalités gèrent et orchestrent les transformations de données qui produisent ces valeurs, et ingèrent également les valeurs produites par des systèmes externes. Les transformations gérées par les magasins de fonctionnalités sont configurées par des définitions dans un registre de fonctionnalités commun (décrit ci-dessous).

La plupart des équipes qui débutent avec les magasins de fonctionnalités disposent déjà de pipelines de données existants produisant des valeurs de fonctionnalités. Il est donc très important que les magasins de fonctionnalités soient adoptables progressivement et qu'ils disposent d'intégrations de premier ordre avec les plateformes de données existantes, permettant aux équipes d'opérationnaliser immédiatement les pipelines ETL existants pour leurs cas d'utilisation ML.

Les magasins de fonctionnalités interagissent couramment avec trois principaux types de transformations de données :

Type de fonctionnalitéDéfinitionSource de données d'entrée couranteExemple
Transformation par lotsTransformations appliquées uniquement aux données au reposEntrepôt de données, lac de données, base de donnéesPays de l'utilisateur, catégorie de produit
Transformation en fluxTransformations appliquées aux sources de streamingKafka, Kinesis, PubSubNombre de clics par verticale par utilisateur au cours des 30 dernières minutes, nombre de vues par annonce au cours de la dernière heure
Transformation à la demandeTransformations utilisées pour produire des fonctionnalités basées sur des données qui ne sont disponibles qu'au moment de la prédiction. Ces fonctionnalités ne peuvent pas être pré-calculées.Application orientée utilisateurL'utilisateur se trouve-t-il actuellement dans un emplacement pris en charge ?

Un avantage clé est de faciliter l'utilisation de différents types de fonctionnalités ensemble dans les mêmes modèles.

Tecton

Les modèles ont besoin d'accéder à des valeurs de fonctionnalités récentes pour l'inférence. Les magasins de fonctionnalités y parviennent en recalculant régulièrement les fonctionnalités de manière continue. Les tâches de transformation sont orchestrées pour garantir que les nouvelles données sont traitées et transformées en nouvelles valeurs de fonctionnalités récentes. Ces tâches sont exécutées sur des moteurs de traitement de données (par exemple, Spark ou Pandas) auxquels le magasin de fonctionnalités est connecté.

Le développement de modèles introduit différentes exigences de transformation. Lors de l'itération sur un modèle, de nouvelles fonctionnalités sont souvent conçues pour être utilisées dans des ensembles de données d'entraînement qui correspondent à des événements historiques (par exemple, tous les achats des 6 derniers mois). Pour prendre en charge ces cas d'utilisation, les magasins de fonctionnalités facilitent l'exécution de « tâches de remplissage rétrospectif » (backfill jobs) qui génèrent et persistent les valeurs historiques d'une fonctionnalité pour l'entraînement. Certains magasins de fonctionnalités remplissent automatiquement les fonctionnalités nouvellement enregistrées pour des plages de temps préconfigurées pour les ensembles de données d'entraînement enregistrés.

Le code de transformation est réutilisé dans différents environnements, ce qui prévient le biais d'entraînement-service et libère les équipes de la nécessité de réécrire le code d'un environnement à l'autre.

Les magasins de fonctionnalités gèrent toutes les ressources liées aux fonctionnalités (calcul, stockage, service) de manière holistique tout au long du cycle de vie des fonctionnalités. En automatisant les tâches d'ingénierie répétitives nécessaires pour mettre une fonctionnalité en production, ils offrent un chemin simple et rapide vers la production. Les optimisations de gestion (par exemple, la suppression des fonctionnalités qui ne sont utilisées par aucun modèle, ou la déduplication des transformations de fonctionnalités entre les modèles) peuvent apporter des gains d'efficacité significatifs, d'autant plus que les équipes sont confrontées à une complexité croissante de la gestion manuelle des fonctionnalités.

Surveillance de l'apprentissage automatique

Lorsque quelque chose ne va pas dans un système ML, il s'agit généralement d'un problème de données. Les magasins de fonctionnalités sont idéalement positionnés pour détecter et faire remonter ces problèmes. Ils peuvent calculer des métriques sur les fonctionnalités qu'ils stockent et servent, décrivant l'exactitude et la qualité. Les magasins de fonctionnalités surveillent ces métriques pour fournir un signal de la santé globale d'une application ML.

Tecton

Les données de fonctionnalités peuvent être validées sur la base de schémas définis par l'utilisateur ou d'autres critères structurels. La qualité des données est suivie en surveillant la dérive et le biais d'entraînement-service. Par exemple, les données de fonctionnalités servies aux modèles sont comparées aux données sur lesquelles le modèle a été entraîné afin de détecter les incohérences susceptibles de dégrader les performances du modèle.

Lors de l'exécution de systèmes de production, il est également important de surveiller les métriques opérationnelles. Les magasins de fonctionnalités suivent les métriques opérationnelles liées aux fonctionnalités de base — par exemple, les métriques relatives au stockage des fonctionnalités (disponibilité, capacité, utilisation, obsolescence) ou au service des fonctionnalités (débit, latence, taux d'erreur). D'autres métriques décrivent les opérations de composants système adjacents importants, tels que les métriques opérationnelles pour les moteurs de traitement de données externes (par exemple, taux de réussite des tâches, débit, latence et taux de traitement).

Les magasins de fonctionnalités rendent ces métriques disponibles pour l'infrastructure de surveillance existante. Cela permet de surveiller et de gérer la santé des applications ML avec les outils d'observabilité existants dans la pile de production.

Ayant une visibilité sur les fonctionnalités utilisées par quels modèles, les magasins de fonctionnalités peuvent agréger automatiquement les alertes et les métriques de santé dans des vues pertinentes pour des utilisateurs, des modèles ou des consommateurs spécifiques.

Il n'est pas essentiel que tous les feature stores implémentent un tel monitoring en interne, mais ils devraient au moins fournir les interfaces auxquelles les systèmes de surveillance de la qualité des données peuvent se connecter. Différents cas d'utilisation ML peuvent avoir des besoins de surveillance différents et spécialisés, d'où l'importance de la modularité ici.

Registre de modèles de Machine Learning

Un composant essentiel de tous les feature stores est un registre centralisé de définitions de caractéristiques et de métadonnées standardisées. Le registre agit comme une source unique de vérité pour les informations concernant une caractéristique au sein d'une organisation.

Tecton

Le registre est une interface centrale pour les interactions des utilisateurs avec le feature store. Les équipes utilisent le registre comme un catalogue commun pour explorer, développer, collaborer et publier de nouvelles définitions au sein des équipes et entre elles.

Les définitions du registre configurent le comportement du système de feature store. Les tâches automatisées utilisent le registre pour planifier et configurer l'ingestion, la transformation et le stockage des données. Il constitue la base des données stockées dans le feature store et de leur organisation. Les API de service utilisent le registre pour une compréhension cohérente des valeurs de caractéristiques qui devraient être disponibles, de qui devrait pouvoir y accéder et de la manière dont elles devraient être servies.

Le registre permet d'attacher des métadonnées importantes aux définitions de caractéristiques. Cela offre une voie pour le suivi de la propriété, des informations spécifiques au projet ou au domaine, et un chemin pour s'intégrer facilement aux systèmes adjacents. Cela inclut des informations sur les dépendances et les versions, utilisées pour le suivi de la lignée.

Pour faciliter les flux de travail courants de débogage, de conformité et d'audit, le registre agit comme un enregistrement immuable de ce qui est disponible analytiquement et de ce qui est réellement en production.

Jusqu'à présent, nous avons examiné les composants minimaux essentiels d'un feature store. En pratique, les entreprises ont souvent des besoins tels que la conformité, la gouvernance et la sécurité qui nécessitent des capacités supplémentaires axées sur l'entreprise. Ce sera le sujet d'un futur article de blog.

Démarrer avec les Feature Stores

Nous considérons les feature stores comme le cœur du flux de données dans les applications ML modernes. Ils s'avèrent rapidement être une infrastructure critique pour les équipes de science des données qui mettent le ML en production. Nous nous attendons à ce que le nombre d'organisations utilisant des feature stores quadruple d'ici 2028

Il existe plusieurs options pour démarrer avec les feature stores :

  • Feast est une excellente option si vous disposez déjà de pipelines de transformation pour calculer vos caractéristiques, mais que vous avez besoin d'une excellente couche de stockage et de service pour vous aider à les utiliser en production. Feast est uniquement disponible sur GCP aujourd'hui, mais nous travaillons d'arrache-pied pour rendre Feast disponible en tant que feature store léger pour tous les environnements. Restez à l'écoute.
  • Tecton est une plateforme de caractéristiques en tant que service. Une grande différence entre Feast et Tecton est que Tecton prend en charge les transformations, de sorte que les pipelines de caractéristiques peuvent être gérés de bout en bout au sein de Tecton. Tecton est une offre gérée et un excellent choix de feature store si vous avez besoin de SLA de production, d'hébergement, de collaboration avancée, de transformations gérées (batch/streaming/temps réel) et/ou de capacités d'entreprise.

Nous avons rédigé cet article de blog pour fournir une définition commune des feature stores, car ils émergent comme un composant principal de la pile ML opérationnelle. Nous pensons que l'industrie est sur le point de connaître une explosion d'activités dans cet espace.

(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original

Recevez les derniers articles dans votre boîte mail

Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.