Revenir au contenu principal
Annonces

Présentation des Feature Views

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

  • De quoi s'agit-il : Les Feature Views sont un framework géré permettant de définir une fonctionnalité ML une seule fois et de l'utiliser partout — la même définition alimente les données historiques pour l'expérimentation et l'entraînement, ainsi que les pipelines de production pour l'inférence par lots ou en temps réel.
  • Le défi résolu : La mise en production du ML en temps réel. Expérimentez des fonctionnalités dans un notebook et mettez-les rapidement en production en quelques appels API. Éliminez le décalage entre l'entraînement et le service (training/serving skew), la duplication du code et les infrastructures fragiles de streaming et de stockage en ligne gérées en interne qui rendent le ML difficile à mettre à l'échelle.
  • Le résultat : Les fonctionnalités deviennent des objets Unity Catalog gouvernés, matérialisés par des pipelines gérés, avec des fonctionnalités de streaming servies avec un p99 de 200 ms de bout en bout.

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 :

  • La réimplémentation de la logique des features pour l'entraînement en temps réel et historique
  • Le décalage entre l'entraînement et le service (training/serving skew) qui dégrade les performances du modèle
  • La découverte et la réutilisation des features à travers différents cas d'usage
  • Le backfill de features avec un large historique de rétrospective dans le magasin en ligne
  • La maintenance d'une infrastructure de production complexe à l'échelle
  • La gouvernance et le suivi de la traçabilité (lineage) à travers les composants et les pipelines

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.

Que sont les Feature Views ?

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.

Pourquoi choisir Feature Views ?

1. Une seule définition, aucun décalage

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

2. Genie Code pour l'expérimentation

GIF montrant les Feature Views en action

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.

3. Des pipelines prêts pour la production que vous n'avez pas à gérer

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.

4. De la fraîcheur en temps réel quand vous en avez besoin

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.

5. Gouverné dans Unity Catalog, intégré sur toute la plateforme

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.

GIF de Genie Code ajoutant des features à un notebook

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.

Comment les équipes utilisent Feature Views

  • Les équipes des services financiers utilisent les features de streaming RollingWindow pour obtenir des signaux de transaction en moins d'une seconde pour la détection de la fraude.
  • Les équipes de personnalisation et de recommandation capturent l'intention la plus récente de l'utilisateur au cours de sa session pour stimuler l'engagement, tout en réutilisant les mêmes définitions hors ligne pour l'entraînement des modèles.
  • Les équipes plateforme consolident des pipelines de features auparavant fragmentés en objets gouvernés dans Unity Catalog, éliminant ainsi la charge opérationnelle liée à la gestion autonome des magasins en ligne et des processeurs de flux (stream processors).

Prise en main

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

Recevez les derniers articles dans votre boîte mail

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