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.
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 |
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 |
|---|---|
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 pour l'entraînement hors ligne ou le service en ligne. | |
Créez et travaillez avec des tables de fonctionnalités. |
Découvrir et partager des fonctionnalités
Fonctionnalité | Description |
|---|---|
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. |
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 |
|---|---|
Utilisez les fonctionnalités pour entraîner des modèles. | |
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. | |
Référence de l'API Python |
Servir des fonctionnalités
Fonctionnalité | Description |
|---|---|
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. | |
Recherchez automatiquement les valeurs de caractéristiques à partir d'un magasin en ligne. | |
Servez des fonctionnalités à des modèles et des applications en dehors de Databricks. | |
Calculer les valeurs des fonctionnalités au moment de l'inférence. |
Gouvernance des fonctionnalités et traçabilité
Fonctionnalité | Description |
|---|---|
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 |
|---|---|
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 :
IntegerTypeFloatTypeBooleanTypeStringTypeDoubleTypeLongTypeTimestampTypeDateTypeShortTypeArrayTypeBinaryType[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 :

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