Modifier

Partager via


Rétention des employés avec Databricks et Kubernetes

Azure Databricks
Azure Kubernetes Service (AKS)
Azure Container Registry
Stockage Azure
Azure Monitor

Cette solution montre comment une équipe de Machine Learning peut utiliser Azure Databricks et Azure Kubernetes Service pour développer et déployer le Machine Learning, en tant qu’API, afin de prédire la probabilité d’une attrition des employés. L’API peut être intégrée à des applications externes utilisées par l’équipe des ressources humaines pour fournir des informations supplémentaires sur la probabilité d’un départ pour un employé donné au sein de l’organisation. Ces informations peuvent être utilisées pour conserver les employés ayant un impact important qui sont susceptibles de quitter l’organisation en fournissant aux ressources humaines la possibilité d’encourager de tels employés de manière proactive.

Apache®, Apache Ignite, Ignite et le logo de la flamme sont soit des marques déposées, soit des marques commerciales d’Apache Software Foundation aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de l’Apache Software Foundation.

Architecture

Diagramme de l’architecture présentée dans cet article, montrant le développement, le déploiement, l’exposition de l’API, et la supervision des métriques et des journaux.

Téléchargez un fichier PowerPoint pour toutes les architectures.

Workflow

À un niveau élevé, cette conception de solution traite chaque étape du cycle de vie de l’apprentissage automatique :

  • La Préparation des données, qui comprend l’approvisionnement, le nettoyage et la transformation des données à des fins de traitement et d’analyse. Les données peuvent résider dans un lac de données ou un entrepôt de données, et être stockées dans un magasin de fonctionnalités après organisation.

  • Le développement de modèles, qui comprend des composants centraux du processus de développement de modèle, comme le suivi des expérimentations et l’enregistrement du modèle à l’aide de MLflow.

  • Le déploiement de modèle, qui comprend l’implémentation d’un pipeline d’intégration continue/de livraison continue (CI/CD) pour consolider les modèles de Machine Learning en tant que services d’API. Ces services sont déployés sur des clusters Azure Kubernetes pour que les utilisateurs finaux puissent les utiliser.

  • La supervision du modèle, qui comprend la surveillance des performances de l’API et la dérive des données de modèle en analysant la télémétrie des journaux avec Azure Monitor.

Une fois que l’équipe de Machine Learning a déployé le modèle de Machine Learning en tant qu’API pour l’inférence en temps réel, les développeurs peuvent facilement intégrer l’API à des applications externes utilisées par des équipes externes, comme les ressources humaines. Les données de télémétrie sont collectées lorsqu’une équipe externe utilise le service de modèle. L’équipe de Machine Learning peut utiliser ces données de télémétrie pour déterminer quand le modèle doit être redéployé. Cette approche permet aux équipes de travailler de manière indépendante et permet aux équipes externes de tirer parti des compétences de l’équipe de Machine Learning centralisée.

Notes

  • Vous pouvez utiliser différents outils, comme Azure DevOps Pipelines et GitHub Actions, lors de l’implémentation d’un pipeline CI/CD.

  • Des exigences métier spécifiques pour votre cas d’utilisation analytique pourraient nécessiter l’utilisation d’autres services ou fonctionnalités non pris en compte dans cette conception.

Composants

Les composants suivants sont utilisés dans le cadre de cette conception :

  • Azure Databricks : un service d’analyse du Big Data facile à utiliser, favorisant la collaboration et basé sur Apache Spark. Azure Databricks est conçu pour la science des données et l’ingénierie des données.

  • Azure Kubernetes Service : un service qui fournit un déploiement et une gestion simplifiés de Kubernetes en déchargeant la charge opérationnelle dans Azure.

  • Azure Container Registry : un service de registre privé pour la gestion des images de conteneurs et des artefacts. Ce service est basé sur Docker open source.

  • Azure Data Lake : un service qui fournit un stockage évolutif optimisé pour de gros volumes de données non structurées. Data Lake Storage Gen2 fournit une sémantique du système de fichiers, une sécurité au niveau des fichiers et la mise à l’échelle.

  • Azure Monitor : une solution complète pour collecter et analyser la télémétrie de vos charges de travail et agir en conséquence.

  • MLflow: une solution open source intégrée à Databricks pour gérer le cycle de vie de Machine Learning de bout en bout.

  • Gestion des API Azure : un service cloud complètement managé que les clients peuvent utiliser pour publier, sécuriser, transformer, maintenir et monitorer des API.

  • Azure Application Gateway : un équilibreur de charge pour le trafic web qui vous permet de gérer le trafic vers vos applications web.

  • Azure DevOps ou GitHub : des solutions permettant d’implémenter des pratiques DevOps pour mettre en œuvre l’automatisation et la conformité avec vos pipelines de développement et de déploiement de charges de travail.

Détails du scénario

Le problème d’attrition des employés a gagné en importance depuis la pandémie de COVID-19. Cette tendance, dans laquelle les employés abandonnent volontairement leurs emplois en masse, est communément connue sous le nom de Grande démission. Le problème peut également être amplifié pour certains départements d'une organisation qui ne disposent pas d'équipes spécialisées dans l'analyse avancée, comme les ressources humaines.

Cet exemple de scénario illustre un modèle d’exploitation de Machine Learning centralisé. Il s’agit d’une équipe centrale chargée de créer et de déployer des modèles de Machine Learning pour les équipes externes des différents services au sein d’une organisation. Cette approche est utile lorsque les services sont trop petits pour tenir à jour une équipe dédiée au Machine Learning, tandis que l’organisation a l’objectif d’intégrer les analyses avancées dans tous les produits et processus.

Cas d’usage potentiels

Ce scénario se concentre sur la création d’un modèle Machine Learning d’attrition des employés et son intégration à des applications externes utilisées par les équipes de ressources humaines. Toutefois, la conception peut être généralisée à de nombreuses charges de travail de Machine Learning qui sont créées par des équipes centralisées et décentralisées.

Cette approche généralisée est la plus adaptée pour :

  • Les équipes de Machine Learning qui ont standardisé sur Databricks pour l’ingénierie des données ou les applications de Machine Learning.

  • Les équipes de Machine Learning qui ont des connaissances en matière de déploiement et de gestion des charges de travail Kubernetes et une préférence pour l’application de ces compétences pour la mise en place des charges de travail de Machine Learning.

  • Intégration de charges de travail de Machine Learning à des applications externes nécessitant une faible latence et des prédictions de modèle interactives (par exemple, l’inférence en temps réel).

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Avant d’implémenter cette solution, vous pourriez vouloir envisager certains facteurs, notamment :

  • Cette solution est conçue pour les équipes qui requièrent un haut niveau de personnalisation et qui ont une grande expertise dans le déploiement et la gestion de charges de travail Kubernetes. Si votre équipe de science des données ne dispose pas de cette expertise, envisagez de déployer des modèles vers un autre service, par exemple Azure Machine Learning.

  • Les Meilleures pratiques de DevOps pour le Machine learning (MLOps) avec Azure Machine Learning présentent les meilleures pratiques et les recommandations pour l’adoption d’opérations de ML (MLOps) dans l’entreprise avec le Machine Learning.

  • Pour améliorer la qualité de vos solutions Azure, suivez les recommandations et instructions de l’Azure Well-Architected Framework.

  • Lors de l’implémentation d’un pipeline CI/CD, vous pouvez utiliser différents outils, par exemple Azure Pipelines et GitHub Actions. Pour plus d'informations sur la CI/CD, consultez Intégration continue/livraison continue (CI/CD) pour les architectures de microservices.

  • Des exigences métier spécifiques pour votre cas d’utilisation analytique pourraient nécessiter l’utilisation d’autres services ou fonctionnalités non pris en compte dans cette conception.

Optimisation des coûts

Tous les services déployés dans cette solution utilisent un modèle de tarification basé sur la consommation. Vous pouvez utiliser la Calculatrice de prix Azure pour estimer les coûts de votre scénario spécifique. Pour d’autres considérations, consultez Optimisation des coûts dans le Well-Architected Framework.

Déployer ce scénario

Une implémentation de preuve de concept de ce scénario est disponible sur GitHub dans Rétention des employés avec Databricks et Kubernetes.

Diagramme du déploiement de l’architecture présentée dans cet article, montrant comment développer, générer, déployer et superviser.

Téléchargez un fichier PowerPoint pour toute l’architecture.

Cette preuve de concept illustre les éléments suivants :

  • Comment former un modèle MLflow pour l’attrition des employés sur Azure Databricks.
  • Comment empaqueter des modèles en tant que service web à l’aide d’outils open source.
  • Procédure de déploiement sur Kubernetes via CI/CD à l’aide de GitHub Actions.
  • Comment surveiller les performances de l’API et la dérive des données de modèle dans Azure Monitor et les espaces de travail Azure Log Analytics.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes

Documentation du produit :

Modules Microsoft Learn :

Ces articles du Centre des architectures pourront également vous être utiles :