Une méthode plus simple et gérée pour créer, servir et gouverner des fonctionnalités ML
par Nick Joung, Ian Ackerman et Julia Brouillette
Dans un monde idéal, les features de ML ne sont créées qu'une seule fois. Mais pour de nombreuses équipes, une feature qui fonctionne dans un notebook se traduit encore par une logique dupliquée, des pipelines fragiles, des backfills ponctuels, de la plomberie de magasin en ligne (online store) et une surcharge de gouvernance. Pour les cas d'usage en temps réel comme la détection de la fraude, la personnalisation et les recommandations, cette complexité est encore plus difficile à absorber car les modèles dépendent de signaux récents pour faire des prédictions précises. Les défis courants comprennent :
Databricks a le plaisir d'annoncer la Public Preview de Feature Views, un framework permettant de créer des pipelines de features gérés directement au sein de Databricks. Avec Feature Views, vous concevez une feature une seule fois et laissez la plateforme tout gérer, de l'expérimentation au service en temps réel.
Une Feature View est une abstraction simple et puissante qui couvre l'ensemble du cycle de vie du ML. Un data scientist ou un ingénieur ML définit sa logique de feature : la source, l'entité, la colonne de séries temporelles et le calcul. À partir de cette unique définition, le Feature Store de Databricks génère des données historiques précises à un instant t pour l'expérimentation et l'entraînement. Lorsqu'ils sont prêts, les utilisateurs matérialisent la Feature View, et Databricks exécute les pipelines qui calculent les données de features pour une inférence efficace.
La même définition de feature prend en charge les sources batch et de streaming. L'expérimentation et la mise en production sont identiques pour les deux sources. Passer d'une source batch à une source de streaming est aussi simple que d'écrire quelques lignes de code.
Voici la même définition de Feature View, fonctionnant à la fois comme une feature de streaming et une feature batch.
La principale cause d'échec du ML en temps réel est l'écart entre la façon dont une feature est calculée pour l'entraînement et la façon dont elle est calculée au moment du service (serving). Feature Views comble cet écart par construction : il existe une définition unique, et la plateforme calcule les valeurs d'entraînement et les valeurs d'inférence en ligne par rapport à cette définition unique afin qu'elles correspondent. Pour les équipes ML, cela se traduit par beaucoup moins de code à maintenir et un chemin vers la production beaucoup plus fluide.
De meilleures recommandations pour des centaines de millions de voyageurs commencent par de meilleures features. Feature Views réduit considérablement notre code de features - nos data scientists vont plus vite et se concentrent sur ce qui apporte de la valeur aux voyageurs, et non sur la manière de la calculer.—Jules Marshall, Sr. Director of Data, Skyscanner

Développez rapidement et facilement grâce au SDK client Feature Engineering et à Genie Code. Le SDK permet de déclarer simplement des features localement dans un notebook, de les calculer instantanément et correctement sur des données historiques, et d'assembler un ensemble d'entraînement précis à un instant t.
Parce que Databricks colocalise les définitions de features, les données de features, l'entraînement des modèles et MLflow dans un seul environnement, les data scientists peuvent passer d'une idée de feature à une expérimentation de modèle dans un seul notebook.
Avec Genie Code, les équipes peuvent utiliser Feature Views pour exécuter des workflows d'expérimentation de modèles ponctuels : identifier les bonnes sources de données, générer des idées de features et expérimenter avec des modèles et des données dans un seul notebook.
Lorsqu'une feature est prête pour la production, enregistrez-la dans Unity Catalog et appelez materialize_features. Databricks crée et gère les pipelines pour vous, en écrivant dans les magasins en ligne et hors ligne appropriés.
Prêt pour la production signifie des données de haute qualité, une infrastructure évolutive et une fiabilité essentielle à vos activités. Sous le capot, Feature Views orchestre des produits GA éprouvés comme Lakebase et RTM, optimisant la façon dont les composants fonctionnent ensemble pour prendre en charge les charges de travail de Feature Serving. Les cas particuliers sont gérés automatiquement, comme le backfill de longues fenêtres temporelles, les features en streaming ou l'expiration des lignes obsolètes du magasin en ligne.
Pour les cas d'usage où chaque nouvel événement doit immédiatement modifier la valeur fournie au modèle, Feature Views prend en charge les features en streaming provenant de Kafka, offrant une latence p99 de bout en bout de 200 ms entre l'événement et sa disponibilité en ligne. Un RollingWindow regarde en arrière à partir de l'horodatage de chaque événement avec une résolution de l'ordre de la milliseconde, de sorte qu'un agrégat tel que « la somme des transactions au cours des 10 dernières minutes » soit toujours à jour.
Sous le capot, Databricks orchestre les composants qui rendent cela possible : Spark Realtime Mode traite les événements en continu et met à jour les agrégats glissants par événement plutôt que d'attendre des micro-batchs ; Lakebase sert de magasin en ligne optimisé pour le streaming qui minimise l'amplification d'écriture pour les petits upserts fréquents ; et Model Serving récupère les features au moment de l'inférence. Vous concevez la feature de fenêtre glissante — la plateforme construit le pipeline.
Les features matérialisées sont des données, et elles doivent être gouvernées comme telles. Dans Databricks, les Feature Views sont des objets de premier plan dans Unity Catalog — découvrables, soumis à un contrôle d'accès et suivis avec une traçabilité (lineage) complète. Les features sont packagées avec le modèle : lorsque vous enregistrez un modèle avec MLflow, ses dépendances de features sont enregistrées, et au moment de l'inférence, Model Serving recherche automatiquement les features requises — pas de code de recherche personnalisé, pas de plomberie manuelle. Associé à MLflow, Model Serving et Genie Code, Feature Views fait de Databricks un lieu unique pour développer, déployer et gouverner l'ensemble de votre stack ML.

Genie Code est nativement intégré à Feature Views, so data scientists can build and iterate on features from simple prompts. Demandez-lui d'ajouter de nouvelles features à un notebook, et Genie Code peut générer le bon code en contexte, en utilisant les données et la gouvernance déjà présentes dans Databricks.
Pour commencer, demandez simplement à Genie d'utiliser les Feature Views pour créer une nouvelle expérience.
Il peut vous aider à définir une caractéristique, à analyser son importance pour votre jeu de données, à créer un ensemble d'entraînement et, lorsque vous êtes prêt pour la production, à l'enregistrer et à la matérialiser. La matérialisation en streaming nécessite également un espace de travail de niveau Enterprise dans une région prenant en charge Lakebase.
Pour en savoir plus, consultez la documentation :
Les Feature Views vous permettent de concevoir une caractéristique une seule fois et de l'utiliser pour l'expérimentation, le traitement par lots (batch) et le serving en temps réel, sans avoir à gérer l'infrastructure sous-jacente vous-même. Prenez une caractéristique batch existante et constatez à quel point son signal est plus fort avec une fraîcheur de l'ordre de la milliseconde, et laissez Databricks exécuter les pipelines pour y parvenir.
Si vous souhaitez travailler sur ce type de défis, sachez que nous recrutons.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.