Magasin de caractéristiques Databricks

Databricks Feature Store est un registre central pour les fonctionnalités utilisées dans vos modèles IA et ML. Lorsque vous enregistrez des fonctionnalités et des modèles dans le catalogue Unity, vous bénéficiez de la gouvernance intégrée, de la lignée, des jointures ponctuelles, ainsi que du partage et de la découverte de fonctionnalités entre espaces de travail.

Vous pouvez rédiger des reportages en utilisant deux stratégies.

Les deux produisent des fonctionnalités gouvernées par le catalogue Unity qui sont publiées sur le Online Feature Store. Voir Choisir une stratégie d’écriture.

  • Les 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 préversion publique.
  • Des tables de caractéristiques, que vous remplissez vous-même en écrivant les valeurs des caractéristiques dans une table Delta.

Avec Databricks, l’ensemble du flux de travail d’entraînement de modèle a lieu sur une plateforme unique, notamment :

  • Des 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 une inférence par lots.
  • Un modèle et une fonctionnalité servant des points de terminaison disponibles en un seul clic avec une latence de quelques millisecondes.
  • Surveillance des données et des modèles.

Lorsque vous utilisez des fonctionnalités du Feature Store Databricks pour entraîner des modèles, le modèle suit automatiquement la provenance des 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é. Databricks Feature Store fournit également un calcul à la demande des fonctionnalités pour les applications en temps réel, gérant toutes les tâches de calcul des fonctionnalités. Cela élimine l’asymétrie d’entraînement/service, ce qui garantit que les calculs de fonctionnalités utilisés à l’inférence sont identiques à ceux utilisés pendant 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ées par databricks Feature Store.

Note

Cette page décrit le Databricks Feature Store pour les espaces de travail activés pour le Unity Catalog. Si votre espace de travail n’est pas activé pour le catalogue Unity, consultez le Magasin de fonctionnalités de l’espace de travail (déconseillé).

Vue d'ensemble conceptuelle

Pour obtenir une vue d’ensemble du fonctionnement du Magasin de fonctionnalités Databricks et un glossaire des termes, consultez la vue d’ensemble et le glossaire du Magasin de fonctionnalités Databricks.

Choisissez une stratégie de rédaction

Le Feature Store prend en charge deux façons de créer des fonctionnalités. Les deux créent des fonctionnalités gouvernées par le catalogue Unity et peuvent publier sur la boutique de fonctionnalités en ligne. En général, les Feature Views sont recommandées pour la plupart des nouveaux cas, bien que les tables de caractéristiques soient les mieux adaptées aux charges de travail flexibles et multi-étapes.

Strategy Idéal pour Fonctionnement
Vues de fonctionnalités (recommandées) La plupart des nouveaux projets, des agrégations temporelles et des fonctionnalités de streaming. Définissez les caractéristiques de manière déclarative comme des objets du catalogue Feature Unity. Databricks crée et gère les pipelines de fonctionnalités. Vous pouvez expérimenter sur des fonctionnalités définies localement dans un carnet avant de les enregistrer, et matérialiser des pipelines de fonctionnalités. Les vues de fonctionnalités en flux prennent en charge les données de fonctionnalités fraîches en moins d’une seconde avec des écritures directes du mode temps réel vers la boutique en ligne.
Tables de fonctionnalités Fonctionnalités que vous calculez à l’aide de pipelines déclaratifs Lakeflow ou Spark, et des charges de travail nécessitant le partage Delta, une boutique en ligne tierce, ou un chemin d’auteur généralement disponible uniquement (GA). Écrivez les valeurs des caractéristiques dans une table Delta dans le catalogue Unity qui possède une clé primaire. Vous possédez le pipeline qui remplit et rafraîchit la table.

Développer des fonctionnalités

Caractéristique Descriptif
Vues en vedette Définir et calculer les fonctionnalités de manière déclarative à l’aide des Vues de Fonctionnalités, incluant les agrégations par fenêtres temporelles et les fonctionnalités de streaming.
Visualisations des fonctionnalités Materialize Matérialisez les Feature Views pour la formation en ligne ou le service en ligne.
Tables de fonctionnalités dans le catalogue Unity Créez et utilisez des tables de fonctionnalités.

Découvrir et partager des fonctionnalités

Caractéristique Descriptif
Explorer les tables de fonctionnalités dans le catalogue Unity Explorez et gérez les tables de fonctionnalités à l’aide de l’Explorateur de catalogues et de l’interface utilisateur des fonctionnalités.
Utiliser des balises avec des tables de caractéristiques et des fonctionnalités dans le Unity Catalog Utilisez des paires clé-valeur simples pour catégoriser et gérer vos tables de fonctionnalités et fonctionnalités.
Découvrez les Feature Views dans Unity Catalog Parcourez les définitions d’affichage des fonctionnalités et l’état de matérialisation dans l’interface utilisateur Databricks.

Utiliser des fonctionnalités dans les flux de travail d’entraînement

Caractéristique Descriptif
Entraîner des modèles avec des tables de caractéristiques Utilisez des fonctionnalités pour entraîner des modèles.
Jointures de fonctionnalités temporelles (point-in-time) Utilisez l’exactitude temporelle pour créer un jeu de données d’entraînement qui reflète les valeurs des fonctionnalités à partir du moment où une observation d’étiquette a été enregistrée.
API d’ingénierie de fonctionnalités Python Informations de référence sur l’API Python

Fonctionnalités de service

Caractéristique Descriptif
Magasins de fonctionnalités Databricks Online Servez les données de caractéristiques aux applications en ligne et aux modèles d'apprentissage automatique en temps réel. Technologie Databricks Lakebase.
Service de modèle avec recherche automatique de fonctionnalités Recherchez automatiquement les valeurs de caractéristiques depuis un magasin en ligne.
Points de terminaison de service de fonctionnalités Servir des fonctionnalités aux modèles et applications en dehors de Databricks.
Calcul des fonctionnalités à la demande Calculez les valeurs des fonctionnalités au moment de l’inférence.

Gouvernance et traçabilité des caractéristiques

Caractéristique Descriptif
Gouvernance et traçabilité des fonctionnalités Utilisez le catalogue Unity pour contrôler l’accès aux tables de fonctionnalités et afficher la traçabilité d’une table de caractéristiques, d’un modèle ou d’une fonction.

Tutorials

Tutorial Descriptif
Exemples de notebooks pour commencer Bloc-notes de base. Montre comment créer une table de fonctionnalités, l’utiliser pour entraîner un modèle et exécuter le scoring par lots à l’aide de la recherche automatique des fonctionnalités. Affiche également l'UI de Feature Engineering pour rechercher des fonctionnalités et afficher le lignage.
Exemple de bloc-notes taxi. Affiche le processus de création de fonctionnalités, leur mise à jour et leur utilisation pour l’apprentissage du modèle et l’inférence par lots.
Exemple : Déployer et interroger un point de terminaison de mise en service des fonctionnalités Tutoriel et exemple de notebook montrant comment déployer et interroger un point de terminaison de service des fonctionnalités.
Exemple : utiliser des fonctionnalités avec des applications RAG structurées Tutoriel montrant comment utiliser des tables en ligne Databricks et les points de terminaison de mise en service des fonctionnalités pour les applications de génération augmentée par récupération (RAG).

Spécifications

Pour utiliser databricks Feature Store, votre espace de travail doit être activé pour le catalogue Unity. Si votre espace de travail n’est pas activé pour le catalogue Unity, consultez le Magasin de fonctionnalités de l’espace de travail (déconseillé).

Types de données pris en charge

Databricks Feature Store et le magasin de fonctionnalités d’espace de travail 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 par toutes les versions de l’ingénierie de caractéristiques dans Unity Catalogue et par les versions 0.3.5 et ultérieures du magasin de caractéristiques de l’espace de travail. [2] StructType est pris en charge dans l'ingénierie de caractéristiques v0.6.0 ou version ultérieure.

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

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

Quand elles sont publiées dans des magasins en ligne, les caractéristiques ArrayType et MapType sont stockées au format JSON.

L’interface utilisateur du magasin de caractéristiques affiche des métadonnées sur les types de données des caractéristiques :

Exemple de types de données complexes

Plus d’informations

Pour plus d’informations sur les bonnes pratiques, téléchargez le Guide complet des magasins de fonctionnalités.