Partage via


Ingénierie et mise en service de caractéristiques

Cette page couvre l’ingénierie des fonctionnalités et les fonctionnalités de service pour les espaces de travail activés pour le catalogue Unity. Si votre espace de travail n’est pas activé pour Unity Catalog, consultez Magasin de fonctionnalités de l’espace de travail (Héritage).

Pourquoi utiliser Databricks comme magasin de fonctionnalités ?

Avec la plateforme Databricks Data Intelligence, l’ensemble du flux de travail d’entraînement du modèle se déroule sur une plateforme unique :

  • 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. Lorsque vous entraînez et journalisez un modèle à l’aide de l’ingénierie de caractéristiques dans le catalogue Unity, le modèle est empaqueté avec les métadonnées de fonctionnalités. Quand vous utilisez le modèle pour du scoring par lot ou de l’inférence en ligne, il récupère automatiquement les valeurs des fonctionnalités. L’appelant n’a pas besoin d’en savoir plus sur les caractéristiques, ou d’inclure une logique pour rechercher ou joindre des caractéristiques pour calculer le score de nouvelles données.
  • 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.

En outre, la plateforme fournit les éléments suivants :

  • Détection de fonctionnalités. Vous pouvez parcourir et rechercher des fonctionnalités dans l’interface utilisateur Databricks.
  • Gouvernance. Les tables de fonctionnalités, les fonctions et les modèles sont tous régis par le catalogue Unity. Lorsque vous entraînez un modèle, il hérite des autorisations des données sur lesquelles il a été entraîné.
  • Traçabilité. Quand vous créez une table de fonctionnalités dans Azure Databricks, les sources de données utilisées pour créer la table de fonctionnalités sont enregistrées et accessibles. Pour chaque caractéristique d’une table de caractéristiques, vous pouvez aussi accéder aux modèles, aux notebooks, aux travaux et aux points de terminaison qui utilisent la caractéristique.
  • Accès inter-espaces de travail. Les tables, fonctions et modèles de fonctionnalités sont automatiquement disponibles dans n’importe quel espace de travail qui a accès au catalogue.

Spécifications

  • Vous devez activer votre espace de travail pour Unity Catalog.
  • L’ingénierie des fonctionnalités dans Unity Catalog exige le Databricks Runtime 13.3 LTS ou une version ultérieure.

Si votre espace de travail ne répond pas à ces exigences, consultez Magasin de fonctionnalités d’espace de travail (hérité) pour savoir comment utiliser le magasin de fonctionnalités de l’espace de travail.

Comment fonctionne l’ingénierie des fonctionnalités sur Databricks ?

Le processus d’un workflow Machine Learning classique avec l’ingénierie des fonctionnalités est le suivant :

  1. Écrivez du code pour convertir des données brutes en caractéristiques et créez un DataFrame Spark contenant les caractéristiques souhaitées.
  2. Créez une table Delta dans Unity Catalog. N’importe quelle table Delta disposant d’une clé primaire est automatiquement une table de fonctionnalités.
  3. Entraînez et journalisez un modèle à l’aide de la table de fonctionnalités. Quand vous procédez ainsi, le modèle stocke les spécifications des caractéristiques utilisées pour l’entraînement. Lorsque le modèle est utilisé pour l’inférence, il joint automatiquement des caractéristiques à partir des tables de caractéristiques appropriées.
  4. Inscrivez le modèle dans le registre de modèles.

Vous pouvez maintenant utiliser ce modèle pour effectuer des prédictions sur de nouvelles données. Pour les cas d’usage de traitement par lots, le modèle récupère automatiquement les caractéristiques dont il a besoin dans le magasin de caractéristiques.

Workflow du magasin de fonctionnalités pour les cas d’usage par lots de Machine Learning.

Pour les cas d’usage de mise en service en temps réel, publiez les caractéristiques dans une table en ligne. Les magasins tiers en ligne sont également pris en charge. Consultez Magasins tiers en ligne.

Au moment de l’inférence, le modèle lit les fonctionnalités précalculées du magasin en ligne et les joint aux données fournies dans la requête du client au point de terminaison de mise en service du modèle.

Flux du magasin de fonctionnalités pour les modèles Machine Learning qui sont traités.

Commencez à l’utiliser l’ingénierie des fonctionnalités avec des exemples de notebooks

Pour commencer, essayez ces exemples de notebooks. Le notebook de base vous guide tout au long de la création d’une table de caractéristiques, de son utilisation pour entraîner un modèle, puis d’effectuer un scoring par lot en utilisant la recherche automatique de fonctionnalités. Il vous présente également l’interface utilisateur Magasin de caractéristiques et vous montre comment l’utiliser pour rechercher des fonctionnalités et comprendre comment les fonctionnalités sont créées et utilisées.

Exemple de notebook d’ingénierie de caractéristiques de base Unity Catalog

Obtenir le notebook

L’exemple de notebook sur les taxis illustre le processus de création de caractéristiques, leur mise à jour et leur utilisation pour l’apprentissage de modèle et l’inférence par lots.

Exemple de notebook sur les taxis d’ingénierie de caractéristiques dans Unity Catalog

Obtenir le notebook

Types de données pris en charge

L’ingénierie des fonctionnalités dans Unity Catalog et le magasin de fonctionnalités de l’espace de travail prennent en charge les types de données PySpark suivantes :

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

[1] BinaryType, DecimalType et MapType sont prises 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 Feature Engineering 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.