Le machine learning (ML) devient toujours plus important dans de nombreux secteurs, or les feature stores jouent un rôle stratégique dans son application, notamment pour détecter les fraudes financières, proposer des recommandations de produits dans le cadre du e-commerce ou encore aider les médecins à prévenir et à soigner plus efficacement les affections chez leurs patients. Dans cet article, nous expliquons ce que sont les feature stores et comment ils peuvent aider les professionnels de la data à améliorer leur gestion de l’ensemble du cycle de vie des fonctions de machine learning, afin de pouvoir déployer des pipelines de ML en des temps records.
QU’EST-CE QU’UN FEATURE STORE ?
Un feature store est un système de données émergent utilisé pour le machine learning en tant que plateforme centralisée de stockage, de traitement et d’accès aux fonctionnalités courantes. Celles-ci restent alors à disposition pour être réutilisées lors du développement de futurs modèles de machine learning. Les feature stores prennent en charge les opérations de saisie, de suivi et de gouvernance des données dans le cadre du feature engineering pour le machine learning.
Pour saisir pleinement l’importance des feature stores, il convient de comprendre les principes de fonctionnement de base des modèles de machine learning. Les modèles de ML s’appuient sur des fonctionnalités, qui correspondent à des unités de données mesurables qui peuvent être exploitées pour apprendre à un modèle à formuler des prédictions concernant l’avenir à partir de données du passé. Par exemple, pour prédire si un client passera à l’achat dans le mois à venir, il est possible d’utiliser des variables ou fonctionnalités telles que la somme des achats du mois passé ou le nombre de visites effectuées sur un site Web pendant la semaine actuelle. De la même manière, dans le contexte médical, les fonctionnalités utilisées pour décrire un patient peuvent inclure des variables comme l’âge, le poids, le tabagisme, l’activité physique et les diagnostics médicaux actuels.
Les modèles de machine learning doivent d’abord passer par un processus d’entraînement, en ingérant d’immenses quantités de données historiques sous forme de fonctionnalités et d’exemples pré-préparés. Ce processus permet aux modèles de ML de déduire ou de formuler des prédictions précises pour de nouveaux exemples à partir d’expériences passées avec des données similaires. Une fois un modèle entraîné aux prédictions avec des données opérationnelles, les entreprises doivent mettre en service les pipelines qui transforment les données brutes en fonctionnalités similaires à celles utilisées pour l’entraînement.
Toutes les données, qu’elles soient opérationnelles ou d’entraînement, doivent être correctement préparées pour être ingérées par le modèle par le biais d’un feature pipeline. Les feature pipelines ressemblent à des pipelines de données. Les données issues des feature pipelines sont agrégées, validées et transformées dans le format requis, avant d’être ingérées dans le modèle de ML.
QUEL EST LE RÔLE DES FEATURE STORES POUR LE MACHINE LEARNING ?
Les feature stores fonctionnent comme un référentiel central où les fonctionnalités couramment exploitées sont enregistrées et traitées pour être réutilisées et partagées entre différents modèles de ML ou équipes. Ils peuvent non seulement stocker et gérer les valeurs des fonctionnalités, mais également être utilisés pour transformer des données brutes provenant d’un entrepôt de données dans le cloud, d’un data lake dans le cloud ou encore d’une application de streaming en fonctionnalités précieuses pour l’entraînement de nouveaux modèles de ML et l’évaluation de nouvelles données, afin d’alimenter les résultats des applications fondées sur le ML.
AVANTAGES D’UN FEATURE STORE
Les feature stores offrent de nombreux avantages. Voici comment leur utilisation peut vous permettre d’améliorer vos initiatives de machine learning.
Réutilisation des fonctionnalités
Une fois les fonctionnalités développées, celles-ci peuvent être conservées dans le feature store. Elles restent alors à disposition pour être réutilisées ou partagées entre différents modèles de ML et équipes. Le développement de nouvelles fonctionnalités est une tâche chronophage qui peut accaparer les data scientists, alors que la réutilisation d’une fonctionnalité existante pourrait s’avérer plus efficace. Un feature store bien garni peut être exploité pour créer rapidement de nouveaux modèles de ML, en éliminant la nécessité de construire de A à Z chaque nouvelle fonctionnalité.
Constance des fonctionnalités
Il est crucial de comprendre comment une fonctionnalité a été développée et calculée, ainsi que les informations qu’elle comporte. Il peut être difficile de maintenir la constance des définitions et de la documentation de développement, en particulier dans les grandes entreprises. Un feature store centralisé résout ce problème, en fournissant un référentiel unique pour toutes les fonctionnalités de ML, facilement accessible pour toutes les équipes de l’entreprise.
Des modèles aux performances optimales
Les divergences entre les définitions des fonctionnalités pour l’entraînement et leur mise en œuvre dans les pipelines peuvent nuire aux performances des modèles en production. De plus, comme les données de production évoluent au fil du temps, il est important de suivre le profil de l’ensemble de données pour maintenir les meilleures performances des modèles. Pour relever ce défi, les feature stores disposent de feature pipelines centralisés qui garantissent la constance des définitions des fonctionnalités et de leur mise en œuvre entre l’entraînement et l’inférence, ainsi qu’un suivi continu des pipelines de données.
Amélioration de la sécurité et de la gouvernance des données
Il est important pour les itérations et le débogage d’être en mesure d’identifier rapidement les données avec lesquelles un modèle a été entraîné et alimenté après son déploiement. Un feature store contient des informations détaillées concernant chaque modèle de machine learning, comme la nature et la date d’utilisation des données associées. Les feature stores intégrés dans un entrepôt de données dans le cloud bénéficient en outre de la sécurité renforcée offerte par cette configuration, qui protège à la fois les modèles et les données qui ont été utilisées pour leur entraînement.
Meilleure collaboration entre les équipes
Un feature store offre une plateforme centralisée pour le développement, le stockage, la modification et la réutilisation des fonctionnalités de ML. Il favorise ainsi la collaboration, en permettant aux membres de différentes équipes de data science de partager des idées et de développer et suivre la progression des fonctionnalités potentiellement utiles pour diverses applications professionnelles.
SNOWFLAKE AU SERVICE DES APPLICATIONS ET DES MODÈLES DE MACHINE LEARNING
Le Snowflake Feature Store (en preview) est une solution intégrée destinée aux data scientists et aux ML engineers pour créer, stocker, gérer et fournir des fonctionnalités de ML pour l’inférence et l’entraînement de modèles. Il s’agit d’API Python accessibles via la bibliothèque de Snowpark ML et d’interfaces SQL pour la définition, la gestion et la récupération des fonctionnalités, ainsi que d’une infrastructure gérée pour la gestion des métadonnées des fonctionnalités et le traitement continu des fonctionnalités. Avec le Snowflake Feature Store, les équipes de ML peuvent garantir une source de vérité unique et à jour pour les fonctionnalités utilisées dans l’inférence et l’entraînement des modèles.
En savoir plus sur l’utilisation de Snowflake pour l’IA et le ML