Aller au contenu principal

Magasin de fonctionnalités Databricks

Le magasin de fonctionnalités Databricks est un registre central pour les fonctionnalités utilisées dans vos modèles d'IA et de ML. Lorsque vous enregistrez des fonctionnalités et des modèles dans Unity Catalog, vous bénéficiez d'une gouvernance intégrée, d'une traçabilité, de jointures temporelles (point-in-time), ainsi que du partage et de la découverte de fonctionnalités entre les workspaces.

Vous pouvez créer des fonctionnalités en utilisant deux stratégies.

Les deux produisent des fonctionnalités régies par Unity Catalog qui sont publiées dans le Magasin de fonctionnalités en ligne. Consultez Choisir une stratégie de création.

  • Feature Views, qui définissent les fonctionnalités de manière déclarative et permettent à Databricks de calculer et de gérer les pipelines de fonctionnalités pour vous. Cette fonctionnalité est en aperçu public.
  • Tables de fonctionnalités, que vous remplissez vous-même en écrivant des valeurs de fonctionnalités dans une table Delta.

Avec Databricks, l'ensemble du flux de travail d'entraînement des modèles a lieu sur une seule plateforme, y compris :

  • Pipelines de données qui ingèrent des données brutes, créent des tables de fonctionnalités, entraînent des modèles et effectuent l'inférence par batch.
  • Endpoints de mise en service de modèles et de Feature Serving qui sont disponibles en un seul clic et qui offrent une latence de l'ordre de la milliseconde.
  • Monitoring des données et des modèles.

Lorsque vous utilisez les fonctionnalités du Magasin de fonctionnalités Databricks pour entraîner des modèles, le modèle suit automatiquement la traçabilité jusqu'aux fonctionnalités utilisées lors de l'entraînement. Au moment de l'inférence, le modèle recherche automatiquement les dernières valeurs de fonctionnalités. Le Magasin de fonctionnalités Databricks fournit également un calcul à la demande des fonctionnalités pour les applications en temps réel, gérant toutes les tâches de calcul de fonctionnalités. Cela élimine le décalage entre l'entraînement et le service, garantissant que les calculs de fonctionnalités utilisés lors de l'inférence sont les mêmes que ceux utilisés lors de l'entraînement du modèle. Il simplifie également considérablement le code côté client, car toutes les recherches de fonctionnalités et le calcul sont gérés par le Magasin de fonctionnalités Databricks.

remarque

Cette page décrit le Magasin de fonctionnalités Databricks pour les Workspace où Unity Catalog est activé. Si votre workspace n'est pas activé pour Unity Catalog, consultez le Magasin de fonctionnalités du Workspace (obsolète).

Présentation conceptuelle

Pour une présentation du fonctionnement du Magasin de fonctionnalités Databricks et d'un glossaire des termes, consultez Présentation et glossaire du Magasin de fonctionnalités Databricks.

Choisir une stratégie de rédaction

Magasin de fonctionnalités prend en charge deux méthodes pour créer des fonctionnalités. Tous deux créent des fonctionnalités régies par Unity Catalog et peuvent publier dans l'Online Magasin de fonctionnalités. En général, les Feature Views sont recommandées pour la plupart des nouveaux cas, bien que les tables de fonctionnalités soient les mieux adaptées aux workloads batch flexibles et multi-étapes.

Stratégie

Idéal pour

Comment ça marche

Vues de fonctionnalités (recommandé)

La plupart des nouveaux projets, agrégations chronologiques et fonctionnalités de streaming.

Définissez les fonctionnalités de manière déclarative en tant qu'objets Feature dans Unity Catalog. Databricks crée et gère les pipelines de fonctionnalités. Vous pouvez expérimenter sur des fonctionnalités définies localement dans un Notebook avant de les enregistrer, et matérialiser les pipelines de fonctionnalités. Les Stream Feature Views prennent en charge des données de fonctionnalités fraîches en moins d'une seconde avec des écritures directes depuis le mode temps réel vers le Online Magasin de fonctionnalités.

Tables de fonctionnalités

Fonctionnalités que vous calculez à l'aide de Lakeflow ou de Spark Declarative Pipelines, et charges de travail nécessitant Delta Sharing, un magasin en ligne tiers ou un chemin de création en disponibilité générale (GA) uniquement.

Écrivez les valeurs de fonctionnalités dans une table Delta dans Unity Catalog qui possède une clé primaire. Vous êtes propriétaire du pipeline qui remplit et refresh la table.

Stratégie

Idéal pour

Comment ça marche

Vues de fonctionnalités (recommandé)

La plupart des nouveaux projets, agrégations chronologiques et fonctionnalités de streaming.

Définissez les fonctionnalités de manière déclarative en tant qu'objets Feature dans Unity Catalog. Databricks crée et gère les pipelines de fonctionnalités. Vous pouvez expérimenter sur des fonctionnalités définies localement dans un Notebook avant de les enregistrer, et matérialiser les pipelines de fonctionnalités. Les Stream Feature Views prennent en charge des données de fonctionnalités fraîches en moins d'une seconde avec des écritures directes depuis le mode temps réel vers le Online Magasin de fonctionnalités.

Tables de fonctionnalités

Fonctionnalités que vous calculez à l'aide de Lakeflow ou de Spark Declarative Pipelines, et charges de travail nécessitant Delta Sharing, un magasin en ligne tiers ou un chemin de création en disponibilité générale (GA) uniquement.

Écrivez les valeurs de fonctionnalités dans une table Delta dans Unity Catalog qui possède une clé primaire. Vous êtes propriétaire du pipeline qui remplit et refresh la table.

Développer des fonctionnalités

Fonctionnalité

Description

Vues des fonctionnalités

Définissez et compute les fonctionnalités de manière déclarative à l'aide de Feature Views, y compris les agrégations par fenêtre temporelle et les fonctionnalités de streaming.

Matérialiser les vues de fonctionnalités

Matérialiser les vues de fonctionnalités pour l'entraînement hors ligne ou le service en ligne.

Tables de fonctionnalités dans Unity Catalog

Créez et travaillez avec des tables de fonctionnalités.

Fonctionnalité

Description

Vues des fonctionnalités

Définissez et compute les fonctionnalités de manière déclarative à l'aide de Feature Views, y compris les agrégations par fenêtre temporelle et les fonctionnalités de streaming.

Matérialiser les vues de fonctionnalités

Matérialiser les vues de fonctionnalités pour l'entraînement hors ligne ou le service en ligne.

Tables de fonctionnalités dans Unity Catalog

Créez et travaillez avec des tables de fonctionnalités.

Découvrir et partager des fonctionnalités

Fonctionnalité

Description

Explorer les tables de fonctionnalités dans Unity Catalog

Explorer et gérer les tables de fonctionnalités à l'aide de Catalog Explorer et de l'interface utilisateur des fonctionnalités.

Utilisez des étiquettes avec les tables de fonctionnalités et les fonctionnalités dans Unity Catalog

Utilisez de simples paires clé-valeur pour catégoriser et gérer vos tables de fonctionnalités et vos fonctionnalités.

Explorez les vues de fonctionnalités dans Unity Catalog

Parcourez les définitions de la vue des fonctionnalités et l'état de matérialisation dans l'interface utilisateur de Databricks.

Fonctionnalité

Description

Explorer les tables de fonctionnalités dans Unity Catalog

Explorer et gérer les tables de fonctionnalités à l'aide de Catalog Explorer et de l'interface utilisateur des fonctionnalités.

Utilisez des étiquettes avec les tables de fonctionnalités et les fonctionnalités dans Unity Catalog

Utilisez de simples paires clé-valeur pour catégoriser et gérer vos tables de fonctionnalités et vos fonctionnalités.

Explorez les vues de fonctionnalités dans Unity Catalog

Parcourez les définitions de la vue des fonctionnalités et l'état de matérialisation dans l'interface utilisateur de Databricks.

Utiliser des fonctionnalités dans les workflows d'entraînement

Fonctionnalité

Description

Entraîner des modèles avec des tables de fonctionnalités

Utilisez les fonctionnalités pour entraîner des modèles.

Jointures de fonctionnalités ponctuelles

Utilisez la justesse temporelle pour créer un dataset d'entraînement qui reflète les valeurs des caractéristiques au moment où une observation d'étiquette a été enregistrée.

API Python de Feature Engineering

Référence de l'API Python

Fonctionnalité

Description

Entraîner des modèles avec des tables de fonctionnalités

Utilisez les fonctionnalités pour entraîner des modèles.

Jointures de fonctionnalités ponctuelles

Utilisez la justesse temporelle pour créer un dataset d'entraînement qui reflète les valeurs des caractéristiques au moment où une observation d'étiquette a été enregistrée.

API Python de Feature Engineering

Référence de l'API Python

Servir des fonctionnalités

Fonctionnalité

Description

Magasins de fonctionnalités en ligne Databricks

Servir des données d'entités aux applications en ligne et aux modèles de machine learning en temps réel. Optimisé par Databricks Lakebase.

Model Serving avec recherche automatique de fonctionnalités

Recherchez automatiquement les valeurs de caractéristiques à partir d'un magasin en ligne.

Endpoint de Feature Serving

Servez des fonctionnalités à des modèles et des applications en dehors de Databricks.

Calcul de fonctionnalités à la demande

Calculer les valeurs des fonctionnalités au moment de l'inférence.

Fonctionnalité

Description

Magasins de fonctionnalités en ligne Databricks

Servir des données d'entités aux applications en ligne et aux modèles de machine learning en temps réel. Optimisé par Databricks Lakebase.

Model Serving avec recherche automatique de fonctionnalités

Recherchez automatiquement les valeurs de caractéristiques à partir d'un magasin en ligne.

Endpoint de Feature Serving

Servez des fonctionnalités à des modèles et des applications en dehors de Databricks.

Calcul de fonctionnalités à la demande

Calculer les valeurs des fonctionnalités au moment de l'inférence.

Gouvernance des fonctionnalités et traçabilité

Fonctionnalité

Description

Gouvernance et lignage des fonctionnalités

Utilisez Unity Catalog pour contrôler l'accès aux tables de caractéristiques et afficher la lignée d'une table de caractéristiques, d'un modèle ou d'une fonction.

Fonctionnalité

Description

Gouvernance et lignage des fonctionnalités

Utilisez Unity Catalog pour contrôler l'accès aux tables de caractéristiques et afficher la lignée d'une table de caractéristiques, d'un modèle ou d'une fonction.

Didacticiels

Didacticiel

Description

Exemples de Notebook pour commencer

Notebook de base . Montre comment créer une table de fonctionnalités, l'utiliser pour entraîner un modèle et exécuter un scoring batch en utilisant la recherche automatique de fonctionnalités. Montre également l'interface utilisateur d'ingénierie des fonctionnalités pour rechercher des fonctionnalités et visualiser la lignée.

Exemple de notebook de taxi . Présente le processus de création de fonctionnalités, de leur mise à jour et de leur utilisation pour l'entraînement de modèles et l'inférence par batch.

Exemple : déployer et interroger un endpoint de Feature Serving

Tutoriel et notebook d'exemple montrant comment déployer et interroger un endpoint de Feature Serving.

Exemple : utiliser des fonctionnalités avec des applications RAG structurées

Tutoriel montrant comment utiliser les tables en ligne Databricks et les Feature Serving Endpoints pour les applications RAG (Retrieval Augmented Generation).

Didacticiel

Description

Exemples de Notebook pour commencer

Notebook de base . Montre comment créer une table de fonctionnalités, l'utiliser pour entraîner un modèle et exécuter un scoring batch en utilisant la recherche automatique de fonctionnalités. Montre également l'interface utilisateur d'ingénierie des fonctionnalités pour rechercher des fonctionnalités et visualiser la lignée.

Exemple de notebook de taxi . Présente le processus de création de fonctionnalités, de leur mise à jour et de leur utilisation pour l'entraînement de modèles et l'inférence par batch.

Exemple : déployer et interroger un endpoint de Feature Serving

Tutoriel et notebook d'exemple montrant comment déployer et interroger un endpoint de Feature Serving.

Exemple : utiliser des fonctionnalités avec des applications RAG structurées

Tutoriel montrant comment utiliser les tables en ligne Databricks et les Feature Serving Endpoints pour les applications RAG (Retrieval Augmented Generation).

Exigences

Pour utiliser le Magasin de fonctionnalités Databricks, votre workspace doit être activé pour Unity Catalog. Si votre workspace n'est pas activé pour Unity Catalog, consultez le Magasin de fonctionnalités du Workspace (obsolète).

Types de données pris en charge

Databricks Magasin de fonctionnalités et le Workspace Feature Store hérité prennent en charge les types de données PySpark suivants :

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]
  • StructType [2]

[1] BinaryType, DecimalType et MapType sont pris en charge dans toutes les versions de Feature Data Engineering dans Unity Catalog et dans Workspace Magasin de fonctionnalités v0.3.5 ou supérieur. [2] StructType est pris en charge dans Feature Engineering v0.6.0 ou supérieur.

Les types de données listés ci-dessus prennent en charge les types de fonctionnalités courants dans les applications de Machine Learning. Par exemple :

  • Vous pouvez stocker des vecteurs denses, des tenseurs et des embeddings en tant que ArrayType.
  • Vous pouvez stocker des vecteurs, tenseurs et embeddings épars en tant que MapType.
  • Vous pouvez stocker du texte en tant que StringType.

Lorsqu'elles sont publiées dans des boutiques en ligne, les fonctionnalités ArrayType et MapType sont stockées au format JSON.

L'interface utilisateur du Magasin de fonctionnalités affiche les métadonnées sur les types de données de fonctionnalités :

Exemple de types de données complexes

Plus d’informations

Pour plus d'informations sur les meilleures pratiques, download Le guide complet des magasins de fonctionnalités.