Fermer

février 28, 2024

Ingénierie de fonctionnalités avec Databricks et Unity Catalog / Blogs / Perficient

Ingénierie de fonctionnalités avec Databricks et Unity Catalog / Blogs / Perficient


L’ingénierie des fonctionnalités est l’étape de prétraitement utilisée pour rendre les données brutes utilisables comme entrée dans un modèle ML via la transformation, l’agrégation, l’enrichissement, la jointure, la normalisation et d’autres processus. Parfois, l’ingénierie des fonctionnalités est utilisée sur la sortie d’un autre modèle plutôt que sur les données brutes (apprentissage par transfert). À un niveau élevé, l’ingénierie des fonctionnalités a beaucoup en commun avec l’ingénierie des données ; nous utilisons ces mêmes étapes allant des couches Bronze à Argent en passant par Or dans une architecture médaillon Databricks. L’objectif de l’ingénierie des données est de disposer de données de haute qualité qui soient facilement consommées par l’entreprise, tandis que l’objectif de l’ingénierie des fonctionnalités est de créer un ensemble de données qui peut être entraîné pour créer un modèle d’apprentissage automatique et reproduit ultérieurement pour inférence. Il existe des différences entre un pipeline d’ingénierie de fonctionnalités et un pipeline de transformation de données qui apparaissent lorsque vous y regardez de plus près.

Ingénierie des fonctionnalités

Les pipelines d’ingénierie des fonctionnalités et des données doivent donner la priorité à la qualité des données. Cependant, les modèles d’apprentissage automatique utiliseront des fonctionnalités à la fois pour entraîner le modèle et, plus tard, lorsque le modèle sera utilisé à des fins d’inférence. Il y a une valeur commerciale considérable à rendre les fonctionnalités réutilisables. Les calculs de fonctionnalités reproductibles sont un composant essentiel et difficile du pipeline ML. Tirer pleinement parti de l’ingénierie des fonctionnalités réside dans la réutilisabilité. Un pipeline d’ingénierie de fonctionnalités efficace peut permettre un modèle plus fiable et plus performant. Gérer et permettre leur réutilisation permet de gagner du temps mais, plus important encore, améliore la qualité de tout modèle grâce à une fonctionnalité robuste, performante et bien testée. Il y a évidemment un gain de temps dans la réutilisation des fonctionnalités, comme dans la réutilisation en général. Cependant, des fonctionnalités robustes aident à empêcher les modèles d’utiliser des données de fonctionnalités différentes entre la formation et l’inférence, ce qui contribue à atténuer les problèmes de biais en ligne/hors ligne. La réutilisabilité au niveau de l’entreprise nécessitait une capacité de découverte (afin que les utilisateurs puissent trouver la fonctionnalité) et une traçabilité (afin que les ingénieurs sachent où et comment les fonctionnalités sont utilisées). Les magasins de fonctionnalités sont généralement utilisés pour assurer la découverte et le traçage des fonctionnalités.

Magasin de fonctionnalités

Intelligence des données - L'avenir du Big Data
L’avenir du Big Data

Avec quelques conseils, vous pouvez créer une plateforme de données adaptée aux besoins de votre organisation et tirer le meilleur parti de votre capital de données.

Obtenez le guide

Les magasins de fonctionnalités offrent aux utilisateurs un référentiel centralisé où les fonctionnalités peuvent être découvertes et partagées et où le lignage peut être suivi. Les magasins de fonctionnalités permettent également un calcul de fonctionnalités reproductible en garantissant que la même fonctionnalité est utilisée pendant la formation et l’inférence. Databricks offre une valeur supplémentaire avec son Feature Store. La découvrabilité est simplifiée grâce à l’interface utilisateur Feature Store, qui dispose de fonctionnalités de navigation et de recherche. La lignée est robuste. Les tables de fonctionnalités regroupent leurs propres sources de données. Chaque fonctionnalité d’un tableau de fonctionnalités donne accès aux modèles, notebooks, tâches et points de terminaison qui les utilisent. Databricks intègre le Feature Store avec l’évaluation et la diffusion de modèles. Les métadonnées des fonctionnalités sont regroupées avec des modèles entraînés à l’aide des fonctionnalités du Databricks Feature Store. Les fonctionnalités du Feature Store sont récupérées automatiquement lors de l’évaluation par lots ou de l’inférence en ligne. Cela simplifie le déploiement et les mises à jour du modèle.

Ce référentiel centralisé a été activé à l’aide du métastore Hive dans Databricks, qui présente des limites. Databricks a mis à niveau ses fonctionnalités en passant du métastore Hive hérité au catalogue Unity plus robuste et le magasin de fonctionnalités a également récemment été transféré vers Unity Catalog. Unity Catalog servira automatiquement de magasin de fonctionnalités en supposant que vous utilisez Databricks Runtime 13.2 ou supérieur et que votre espace de travail est activé pour Unity Catalog.

Catalogue Unity

Unity Catalog est la couche de gouvernance unifiée pour la plateforme Databricks Intelligence. Le principal facteur d’adoption de l’entreprise tend à être ses capacités simplifiées de gestion des accès. Unity Catalog fournit un modèle d’autorisation unique pour les actifs. Le modèle objet Unity Catalog possède une hiérarchie dans laquelle le métastore est le conteneur de niveau supérieur. Sous le métastore se trouvent le catalogue et le schéma. Les objets sécurisables sous Schema incluent Table, View, Volume, Model et Function. Cela permet à tous les objets sécurisables dans Unity Catalog d’être référencés à l’aide d’un espace de noms à trois niveaux : catalog.schema.asset. Les modèles doivent être enregistrés dans le registre des modèles MLFlow.

Databricks a mis au point ce que je considère comme une approche très élégante pour intégrer l’ingénierie des fonctionnalités dans leur cadre de gouvernance Unity Catalog d’une manière qui devrait être très simple à mettre en œuvre au niveau de l’entreprise. Sous le capot, Databricks a exploité le fonctionnement déjà existant d’Unity Catalog pour fournir un chemin permettant d’utiliser Unity Catalog comme magasin de fonctionnalités. En ce qui concerne Unity Catalog, toute table Delta avec une contrainte de clé primaire peut être une table de fonctionnalités. Si vous souhaitez une table de fonctionnalités de séries chronologiques, ajoutez simplement une colonne de temps à la clé primaire avec le mot-clé TIMESERIES (Databrick Runtime 13.3 et supérieur). Si vous disposez d’un environnement d’exécution Databricks non ML, vous devez utiliser pip pour installer le package databricks-feature-engineering. Ce package est préinstallé sur Databricks Runtime 13,2 ML et supérieur.

Conclusion

L’intention de Databricks a toujours été de fournir une plate-forme unifiée pour les données et l’IA. Cependant, la concrétisation de cette vision une fois les mains sur le clavier est plus difficile qu’il n’y paraît. Python et SQL ont fait des données et de l’IA l’équivalent moderne de « deux nations séparées par un langage commun ». Intégrer l’ingénierie des fonctionnalités au modèle de gouvernance des données en utilisant une touche aussi légère fournit un mécanisme très pratique pour créer des solutions de ML et d’IA avec le même niveau de sécurité et de gouvernance que les solutions de données.






Source link