Bearbeiten

Mitarbeiterbindung mit Databricks und Kubernetes

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

Diese Lösung veranschaulicht, wie ein Machine Learning-Team Azure Databricks und Azure Kubernetes Service verwenden kann, um maschinelles Lernen als API zu entwickeln und bereitzustellen, um die Wahrscheinlichkeit von Mitarbeiterfluktuation vorherzusagen. Die API kann in externe Anwendungen integriert werden, die vom Personalteam verwendet werden, um zusätzliche Erkenntnisse zur Wahrscheinlichkeit eines Abgangs eines bestimmten Mitarbeiters innerhalb der Organisation zu erhalten. Diese Informationen können verwendet werden, um Mitarbeiter mit hohen Auswirkungen zu behalten, die wahrscheinlich die Organisation verlassen werden, indem sie den Personalabteilungen die Möglichkeit bieten, proaktiv für das Bleiben dieser Mitarbeiter zu gewinnen.

Apache®, Apache Ignite, Ignite und das Flammenlogo sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern. Die Verwendung dieser Markierungen impliziert kein Endorsement durch die Apache Software Foundation.

Aufbau

Diagram of the architecture in this article, showing development, deployment, exposure of the API, and monitoring of metrics and logs.

Laden Sie eine PowerPoint-Datei für alle Architekturen herunter.

Workflow

Dieser Lösungsentwurf befasst sich auf hoher Ebene mit jeder Phase des Machine Learning-Lebenszyklus:

  • Datenaufbereitung, einschließlich der Beschaffung, Bereinigung und Transformation der Daten für die Verarbeitung und Analyse. Die Daten können in einem Data Lake oder Data Warehouse gespeichert werden und nach ihrer Kuratierung in einem Feature Store abgelegt werden.

  • Modellentwicklung, die Kernkomponenten des Modellentwicklungsprozesses umfasst, z. B. Experimentnachverfolgung und Modellregistrierung mithilfe von MLflow.

  • Modellbereitstellung, die die Implementierung einer CI/CD-Pipeline (Continuous Integration/Continuous Delivery) zum Containerisieren von Machine Learning-Modellen als API-Dienste umfasst. Diese Dienste werden in Azure Kubernetes-Clustern bereitgestellt, damit Endbenutzer sie nutzen können.

  • Modellüberwachung, die Überwachung der API-Leistung und Modelldatendrift durch Analysieren von Protokolltelemetriedaten mit Azure Monitor umfasst.

Nachdem das Machine Learning-Team das Machine Learning-Modell als API für Echtzeitrückschlüsse bereitgestellt hat, können Entwickler die API problemlos in externe Anwendungen integrieren, die von externen Teams wie Personalabteilungen verwendet werden. Telemetriedaten werden gesammelt, wenn ein externes Team den Modelldienst verwendet. Das Machine Learning-Team kann diese Telemetriedaten verwenden, um zu bestimmen, wann das Modell erneut bereitgestellt werden muss. Dieser Ansatz ermöglicht es Teams, unabhängig zu arbeiten, und ermöglicht externen Teams, von den Fähigkeiten des zentralisierten Machine Learning-Teams zu profitieren.

Hinweis

  • Sie können verschiedene Tools verwenden, z. B. Azure DevOps-Pipelines und GitHub Actions, wenn Sie eine CI/CD-Pipeline implementieren.

  • Die geschäftsspezifischen Anforderungen Ihres Anwendungsfalls für Analysen können unterschiedliche Dienste oder Features erfordern, die in diesem Entwurf nicht berücksichtigt werden.

Komponenten

Im Rahmen dieses Entwurfs werden die folgenden Komponenten verwendet:

  • Azure Databricks: Ein Analysedienst für Big Data, der einfach zu verwenden ist, die Zusammenarbeit vereinfacht und auf Apache Spark basiert. Azure Databricks ist für Data Science und Datentechnik konzipiert.

  • Azure Kubernetes Service: Ein Dienst, der eine vereinfachte Bereitstellung und Verwaltung von Kubernetes durch Abladung des Betriebsaufwands an Azure ermöglicht.

  • Azure Container Registry: Ein privater Registrierungsdienst zum Verwalten von Containerimages und Artefakten. Dieser Dienst basiert auf dem Open-Source-Docker.

  • Azure Data Lake: Ein Dienst, der skalierbaren Speicher bietet, der für große Mengen unstrukturierter Daten optimiert ist. Data Lake Storage Gen2 bietet Dateisystemsemantik, Sicherheit auf Dateiebene und Skalierung.

  • Azure Monitor: Eine umfassende Lösung, mit der Sie Telemetriedaten aus Ihren Workloads erfassen und analysieren und entsprechende Maßnahmen ergreifen können.

  • MLflow: Eine Open-Source-Lösung, die in Databricks integriert ist, um den Machine Learning-Lebenszyklus von Anfang bis Ende zu verwalten.

  • Azure API Management: Ein vollständig verwalteter Dienst, der Kunden dabei unterstützt, APIs zu veröffentlichen, zu schützen, zu transformieren, zu warten und zu überwachen.

  • Azure Application Gateway: Ein Lastenausgleich für Webdatenverkehr, mit dem Sie eingehenden Datenverkehr für Ihre Webanwendungen verwalten können.

  • Azure DevOps oder GitHub: Lösungen für die Implementierung DevOps-Methoden zur Erzwingung von Automatisierung und Konformität bei Ihren Workloadentwicklungs- und Bereitstellungspipelines.

Szenariodetails

Das Problem der Mitarbeiterfluktuation hat seit der COVID-19-Pandemie an Bedeutung gewonnen. Dieser Trend, bei dem Beschäftigte massenhaft freiwillig ihren Arbeitsplatz aufgeben, ist im Volksmund als Große Kündigung bekannt. Das Problem kann auch für bestimmte Abteilungen in einer Organisation vergrößert werden, die möglicherweise keine dedizierten Teams haben, die erweiterte Analysen durchführen, z. B. Personalabteilungen.

Dieses Beispielszenario veranschaulicht ein Betriebsmodell des zentralisierten maschinellen Lernens. Das umfasst ein zentrales Team, das für die Entwicklung und Bereitstellung von Machine Learning-Modellen für externe Teams abteilungsübergreifend innerhalb einer Organisation verantwortlich ist. Dieser Ansatz ist nützlich, wenn Abteilungen zu klein sind, um ein Team zu verwalten, das für maschinelles Lernen zuständig ist, während die Organisation erweiterte Analysen in alle Produkte und Prozesse integrieren möchte.

Mögliche Anwendungsfälle

Dieses Szenario konzentriert sich auf die Entwicklung eines Machine Learning-Modells für die Mitarbeiterfluktuation und die Integration davon in externe Anwendungen, die von Personalteams verwendet werden. Der Entwurf kann jedoch für viele Machine Learning-Workloads generalisiert werden, die von zentralisierten und dezentralisierten Teams gleichermaßen erstellt werden.

Dieser generalisierte Ansatz eignet sich am besten für:

  • Machine Learning-Teams, die auf Databricks für Datentechnik- oder Machine Learning-Anwendungen standardisiert sind.

  • Machine Learning-Teams, die Erfahrung mit der Bereitstellung und Verwaltung von Kubernetes-Workloads haben und diese Fähigkeiten bevorzugt für die Operationalisierung von Machine Learning-Workloads einsetzen möchten.

  • Integrieren von Machine Learning-Workloads in externe Anwendungen, die eine geringe Latenz und interaktive Modellvorhersagen erfordern (z. B. Echtzeitrückschluss).

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Bevor Sie diese Lösung implementieren, sollten Sie folgende Faktoren berücksichtigen:

  • Diese Lösung ist für Teams konzipiert, die ein hohes Maß an Anpassung erfordern und über umfassende Kenntnisse in der Bereitstellung und Verwaltung von Kubernetes-Workloads verfügen. Wenn Ihr Data Science-Team nicht über diese Kenntnisse verfügt, erwägen Sie die Bereitstellung von Modellen für einen anderen Dienst, z. B. Azure Machine Learning.

  • Machine Learning DevOps (MLOps) – Bewährte Methoden mit Azure Machine Learning präsentiert bewährte Methoden und Empfehlungen für die Einführung von ML Operations (MLOps) im Unternehmen mit Machine Learning).

  • Befolgen Sie die Empfehlungen und Richtlinien im Azure Well-Architected Framework, um die Qualität Ihrer Azure-Lösungen zu verbessern.

  • Beim Implementieren einer CI/CD-Pipeline können Sie andere Tools als in diesem Beispiel verwenden, z. B. Azure Pipelines und GitHub Actions. Weitere Informationen zu CI/CD finden Sie unter CI/CD für Microservices-Architekturen.

  • Bestimmte Geschäftsanforderungen für Ihren Analyseanwendungsfall könnten die Verwendung von Diensten oder Features erfordern, die mit diesem Entwurf nicht abgedeckt sind.

Kostenoptimierung

Alle in dieser Lösung bereitgestellten Dienste verwenden ein nutzungsbasiertes Preismodell. Sie können den Azure-Preisrechner verwenden, um die Kosten für ein spezifisches Szenario abzuschätzen. Weitere Überlegungen finden Sie unter Kostenoptimierung im Well-Architected Framework.

Bereitstellen dieses Szenarios

Eine Proof-of-Concept-Implementierung dieses Szenarios ist auf GitHub unter Mitarbeiterbindung mit Databricks und Kubernetes verfügbar.

Diagram of the deployment of the architecture in this article, showing develop, build, deploy, and monitor.

Laden Sie eine PowerPoint-Datei für alle Architekturen herunter.

Dieser Proof of Concept veranschaulicht:

  • Wie Sie ein MLflow-Modell für die Abwanderung von Mitarbeitern auf Azure Databricks trainieren.
  • Wie Sie Modelle mithilfe von Open-Source-Tools als Webdienst packen.
  • Wie Sie Bereitstellungen für Kubernetes über CI/CD mithilfe GitHub Actions ausführen.
  • Wie Sie die API-Leistung überwachen und Datendrift in Azure Monitor und Azure Log Analytics-Arbeitsbereichen modellieren.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte

Produktdokumentation:

Microsoft Learn-Module:

Unter Umständen sind auch diese Architecture Center-Artikel für Sie hilfreich: