Science des données et Machine Learning avec Azure Databricks

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes Service (AKS)
Azure Machine Learning

Idées de solution

Cet article présente une idée de solution. Si vous souhaitez que nous développions le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, adressez-nous vos commentaires GitHub.

Cette architecture montre comment vous pouvez améliorer les opérations à l’aide d’Azure Databricks, Delta Lake et MLflow pour la science des données et le Machine Learning. Vous pouvez améliorer votre efficacité globale et l’expérience client en développant, en formant et en déployant des modèles Machine Learning.

Architecture

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

Le diagramme contient trois rectangles gris intitulés Traiter, Fournir et Stocker. Les rectangles Traiter et Fournir apparaissent côte à côte dans la partie supérieure du diagramme. Le rectangle Fournir contient un encadré blanc avec des icônes pour Machine Learning et Azure Kubernetes Service. Un autre encadré blanc chevauche les rectangles Traiter et Fournir. Il contient des icônes pour Azure Databricks et MLflow. Une flèche pointe de cet encadré vers l’encadré blanc dans le rectangle Fournir. Le rectangle Stocker se trouve sous le rectangle Traiter. Il contient un encadré blanc avec des icônes pour Data Lake Storage, Delta Lake et trois tables de base de données nommées Bronze, Argent et Or. Trois traits connectent les rectangles Traiter et Stocker, et comportent des flèches à leur extrémité.

Téléchargez un fichier Visio de cette architecture.

La solution stocke, traite et fournit les données :

Dataflow

Stocker

Data Lake Storage stocke les données au format Delta Lake. Delta Lake forme la couche organisée du lac de données. Une architecture médaillon organise les données en trois couches :

  • Les tables Bronze contiennent des données brutes.
  • Les tables Argent contiennent des données filtrées et nettoyées.
  • Les tables Or stockent des données agrégées prêtes pour l’analytique et la création de rapports.

Process

  • Le code relevant de différents langages, frameworks et bibliothèques prépare, affine et nettoie les données brutes (1). Il est possible d’utiliser Python, R, SQL, Spark, Pandas et Koalas pour le codage.

  • Azure Databricks exécute les charges de travail de science des données. Cette plateforme crée et entraîne également les modèles Machine Learning (2). Azure Databricks utilise des bibliothèques optimisées et préinstallées (par exemple, scikit-learn, TensorFlow, PyTorch et XGBoost).

  • Le suivi MLflow capture les expériences Machine Learning, les exécutions de modèle et les résultats (3). Lorsque le meilleur modèle est prêt pour la production, Azure Databricks le déploie dans le référentiel de modèles MLflow. Ce registre centralisé stocke des informations sur les modèles de production. Le registre rend également les modèles disponibles pour d’autres composants :

    • Les pipelines Spark et Python peuvent ingérer des modèles. Ces pipelines gèrent les charges de travail de traitement par lots ou les processus ETL de streaming.
    • Les API REST permettent d’accéder aux modèles à de nombreuses fins (par exemple, test et score interactif dans les applications mobiles et web).

Service

Azure Databricks peut déployer des modèles vers d’autres services, tels que Machine Learning et AKS (4).

Components

  • Azure Databricks est une plateforme d’analytique des données. Ses clusters Spark entièrement managés exécutent des charges de travail de science des données. Azure Databricks utilise également des bibliothèques préinstallées et optimisées pour générer et entraîner des modèles Machine Learning. L’intégration de MLflow à Azure Databricks permet de suivre les expériences, de stocker les modèles dans des référentiels et de rendre les modèles disponibles pour d’autres services. Azure Databricks assure la scalabilité :

    • Des clusters de calcul à nœud unique gèrent les jeux de données de petite taille et les exécutions à un seul modèle.
    • Pour les jeux de données volumineux, des clusters de calcul à plusieurs nœuds ou des clusters GPU (Graphics Processing Unit) sont disponibles. Ces clusters utilisent des bibliothèques et des frameworks tels que HorovodRunner et Hyperopt pour les exécutions de modèles parallèles.
  • Data Lake Storage est un lac de données scalable et sécurisé pour vos charges de travail d’analytique hautes performances. Il traite plusieurs pétaoctets d’informations tout en maintenant un débit de plusieurs centaines de gigabits. Les données peuvent avoir les caractéristiques suivantes :

    • structurées, semi-structurées ou non structurées.
    • provenir de plusieurs sources hétérogènes, telles que des journaux, des fichiers et des médias.
    • être statiques, issues de lots ou diffusées en continu.
  • Delta Lake est une couche de stockage qui utilise un format de fichier ouvert. Cette couche s’exécute sur le stockage cloud, par exemple Data Lake Storage. Delta Lake est optimisé pour la transformation et le nettoyage des données par lots et en streaming. Cette plateforme prend en charge les fonctionnalités suivantes :

    • contrôle de version et restauration des données ;
    • transactions ACID (atomicité, cohérence, isolation et durabilité) pour la fiabilité ;
    • norme cohérente pour la préparation des données, l’entraînement des modèles et la fourniture des modèles ;
    • voyage dans le temps pour obtenir des instantanés cohérents des données sources. Les scientifiques des données peuvent entraîner les modèles sur les instantanés au lieu de créer des copies distinctes.
  • MLflow est une plateforme open source pour le cycle de vie du Machine Learning. Ses composants supervisent les modèles de Machine Learning pendant l’entraînement et l’exécution. Les informations stockées incluent le code, les données, les informations de configuration et les résultats. En outre, MLflow stocke les modèles et les charge en production. Comme MLflow utilise des frameworks ouverts, divers services, applications, frameworks et outils peuvent consommer les modèles.

  • Machine Learning est un environnement cloud qui vous aide à créer, déployer et gérer des solutions d’analyse prédictive. Avec ces modèles, vous pouvez prévoir le comportement, les résultats et les tendances.

  • AKS est un service Kubernetes hautement disponible, sécurisé et complètement managé. AKS facilite le déploiement et la gestion des applications conteneurisées.

Détails du scénario

À mesure que votre organisation prend conscience de la puissance de la science des données et du Machine Learning, vous pouvez améliorer l’efficacité, optimiser l’expérience des clients et prédire les changements. Pour atteindre ces objectifs dans les cas d’usage stratégiques, vous avez besoin d’un modèle cohérent et fiable pour :

  • suivre les expériences ;
  • reproduire les résultats ;
  • déployer les modèles Machine Learning en production.

Cet article décrit une solution pour développer une infrastructure de Machine Learning cohérente et fiable. Azure Databricks forme le cœur de l’architecture. La couche de stockage Delta Lake et la plateforme Machine Learning MLflow jouent également des rôles importants. Ces composants s’intègrent de façon transparente à d’autres services tels qu’Azure Data Lake Storage, Azure Machine Learning et Azure Kubernetes Service (AKS).

Ensemble, ces services offrent une solution pour la science des données et le Machine Learning :

  • simple : un lac de données ouvert simplifie l’architecture. Le lac de données contient une couche organisée, Delta Lake. Celle-ci fournit l’accès aux données dans un format open source.

  • ouverte : la solution prend en charge le code open source, les standards ouverts et les frameworks ouverts. Cette approche réduit la nécessité d’appliquer des mises à jour ultérieures. Azure Databricks et Machine Learning prennent en charge MLflow et Delta Lake en mode natif. Ensemble, ces composants fournissent des opérations de Machine Learning (MLOps) de pointe, ou des DevOps pour Machine Learning. Une large gamme d’outils de déploiement s’intègre au format de modèle standardisé de la solution.

  • collaborative : les équipes en charge de la science des données et des opérations MLOps collaborent avec cette solution. Elles utilisent le suivi MLflow pour enregistrer et interroger les expériences. Elles déploient également des modèles dans le registre de modèle MLflow central. Les ingénieurs Données utilisent ensuite des modèles déployés dans l’ingestion des données, les processus ETL (extract-transform-load) et les pipelines de streaming.

Cas d’usage potentiels

Une plateforme conçue par AGL pour la prévision énergétique a inspiré cette solution. Cette plateforme offre un entraînement, un déploiement et une gestion du cycle de vie rapides et rentables pour des milliers de modèles parallèles.

Outre les fournisseurs d’énergie, cette solution peut être avantageuse pour toutes les organisations qui :

  • utilisent la science des données ;
  • créent et entraînent des modèles Machine Learning ;
  • exécutent des modèles Machine Learning en production.

Il peut s’agir d’organisations actives dans les secteurs suivants :

  • vente et e-commerce ;
  • banque et finances ;
  • santé et sciences de la vie ;
  • industrie automobile et fabrication.

Étapes suivantes

  • AGL Energy crée une plateforme standardisée pour des milliers de modèles parallèles. La plateforme offre un entraînement, un déploiement et une gestion du cycle de vie rapides et rentables pour les modèles.
  • Open GRID Europe (OGE) utilise des modèles d’intelligence artificielle pour surveiller les pipelines de gaz. OGE utilise Azure Databricks et MLflow pour développer les modèles.
  • Scandinavian Airlines (SAS) utilise Azure Databricks au cours d’une phase de recherche collaborative. La compagnie aérienne utilise également le Machine Learning pour développer des modèles prédictifs. En identifiant les structures récurrentes dans les données de l’entreprise, les modèles améliorent les opérations quotidiennes.