Deze oplossing laat zien hoe een machine learning-team azure Databricks en Azure Kubernetes Service kan gebruiken om machine learning als API te ontwikkelen en te implementeren om de kans op het ophalen van werknemers te voorspellen. De API kan worden geïntegreerd met externe toepassingen die door het Human Resources-team worden gebruikt om meer inzicht te krijgen in de kans op ophalen voor een bepaalde werknemer binnen de organisatie. Deze informatie kan worden gebruikt om werknemers met een hoge impact te behouden die de organisatie waarschijnlijk verlaten door Human Resources de mogelijkheid te bieden om dergelijke werknemers proactief te stimuleren om te blijven.
Apache, Apache® Ignite, Ignite en het vlamlogo zijn gedeponeerde handelsmerken of handelsmerken van de Apache Software Foundation in de Verenigde Staten en/of andere landen. Er wordt geen goedkeuring door De Apache Software Foundation geïmpliceerd door het gebruik van deze markeringen.
Architectuur
Download een PowerPoint-bestand voor alle architecturen.
Workflow
Op hoog niveau wordt met dit oplossingsontwerp elke fase van de machine learning-levenscyclus aangepakt:
Gegevensvoorbereiding, waaronder het ophalen, opschonen en transformeren van de gegevens voor verwerking en analyse. Gegevens kunnen zich in een data lake of datawarehouse bevinden en worden opgeslagen in een functieopslag nadat deze is samengesteld.
Modelontwikkeling, dat kernonderdelen van het proces van modelontwikkeling omvat, zoals het bijhouden van experimenten en modelregistratie met behulp van MLflow.
Modelimplementatie, waaronder het implementeren van een CI/CD-pijplijn (continue integratie en continue levering) om machine learning-modellen als API-services te containeriseren. Deze services worden geïmplementeerd in Azure Kubernetes-clusters die eindgebruikers kunnen gebruiken.
Modelbewaking, waaronder het bewaken van de API-prestaties en modelgegevensdrift door logboektelemetrie te analyseren met Azure Monitor.
Nadat het machine learning-team het machine learning-model als API voor realtime deductie heeft geïmplementeerd, kunnen ontwikkelaars de API eenvoudig integreren met externe toepassingen die worden gebruikt door externe teams, zoals Human Resources. Telemetrie wordt verzameld wanneer een extern team de modelservice gebruikt. Het machine learning-team kan deze telemetrie gebruiken om te bepalen wanneer het model opnieuw moet worden geïmplementeerd. Met deze aanpak kunnen teams onafhankelijk werken en kunnen externe teams profiteren van de vaardigheden van het gecentraliseerde machine learning-team.
Notitie
U kunt verschillende hulpprogramma's, zoals Azure Pipelines en GitHub Actions, gebruiken bij het implementeren van een CI/CD-pijplijn.
Voor de specifieke zakelijke vereisten van uw use-case voor analyses kunnen verschillende services of functies vereist zijn die niet in dit ontwerp worden overwogen.
Onderdelen
De volgende onderdelen worden gebruikt als onderdeel van dit ontwerp:
Azure Databricks: Een analyseservice voor big data die eenvoudig te gebruiken is, samenwerking faciliteert en is gebaseerd op Apache Spark. Azure Databricks is ontworpen voor data science en data engineering.
Azure Kubernetes Service: een service die vereenvoudigde implementatie en beheer van Kubernetes biedt door de operationele overhead naar Azure te offloaden.
Azure Container Registry: een privéregisterservice voor het beheren van containerinstallatiekopieën en artefacten. Deze service is gebaseerd op de opensource Docker.
Azure Data Lake Storage: een service die schaalbare opslag biedt die is geoptimaliseerd voor enorme hoeveelheden ongestructureerde gegevens. Data Lake Storage Gen2 biedt semantiek van het bestandssysteem, beveiliging op bestandsniveau en schaal.
Azure Monitor: Een uitgebreide oplossing voor het verzamelen, analyseren en uitvoeren van telemetrie van uw workloads.
MLflow: Een opensource-oplossing die is geïntegreerd in Databricks voor het beheren van de levenscyclus van machine learning van end-to-end.
Azure API Management: een volledig beheerde service waarmee klanten API's kunnen publiceren, beveiligen, transformeren, onderhouden en bewaken.
Azure-toepassing Gateway: een load balancer voor webverkeer waarmee u verkeer naar uw webtoepassingen kunt beheren.
Azure DevOps of GitHub: oplossingen voor het implementeren van DevOps-procedures voor het afdwingen van automatisering en naleving van uw workloadontwikkelings- en implementatiepijplijnen.
Scenariodetails
Het probleem van het optrigeren van werknemers is sinds de COVID-19-pandemie steeds groter geworden. Deze trend, waarin werknemers vrijwillig ontslag nemen van hun baan en massaal, wordt ook wel de Grote Ontslag genoemd. Het probleem kan ook worden vergroot voor bepaalde afdelingen in een organisatie die mogelijk geen speciale teams hebben die geavanceerde analyses uitvoeren, zoals Human Resources.
In dit voorbeeldscenario ziet u een operationeel model van gecentraliseerde machine learning. Dit omvat een centraal team dat verantwoordelijk is voor het bouwen en implementeren van machine learning-modellen voor externe teams binnen afdelingen binnen een organisatie. Deze aanpak is handig wanneer afdelingen te klein zijn om een team te onderhouden dat is toegewezen aan machine learning, terwijl de organisatie gericht is op het insluiten van geavanceerde analyses in alle producten en processen.
Potentiële gebruikscases
Dit scenario is gericht op het bouwen van een machine learning-model voor het ophalen van werknemers en het integreren ervan met externe toepassingen die worden gebruikt door Human Resources-teams. Het ontwerp kan echter worden gegeneraliseerd voor veel machine learning-workloads die zijn gebouwd door gecentraliseerde en gedecentraliseerde teams.
Deze gegeneraliseerde benadering is het meest geschikt voor:
Machine learning-teams die zijn gestandaardiseerd op Databricks voor data engineering- of machine learning-toepassingen.
Machine learning-teams die ervaring hebben met het implementeren en beheren van Kubernetes-workloads en een voorkeur voor het toepassen van deze vaardigheden voor het operationeel maken van machine learning-workloads.
Machine learning-workloads integreren met externe toepassingen waarvoor lage latentie en interactieve modelvoorspellingen zijn vereist (bijvoorbeeld realtime deductie).
Overwegingen
Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.
Voordat u deze oplossing implementeert, kunt u rekening houden met enkele factoren die u kunt overwegen:
Deze oplossing is ontworpen voor teams die een hoge mate van aanpassing vereisen en uitgebreide expertise hebben bij het implementeren en beheren van Kubernetes-workloads. Als uw data science-team niet over deze expertise beschikt, kunt u overwegen modellen te implementeren in een andere service, zoals Azure Machine Learning.
Aanbevolen procedures voor Machine Learning DevOps (MLOps) met Azure Machine Learning bevatten best practices en aanbevelingen voor het aannemen van ML-bewerkingen (MLOps) in de onderneming met machine learning.
Volg de aanbevelingen en richtlijnen die zijn gedefinieerd in het Azure Well-Architected Framework om de kwaliteit van uw Azure-oplossingen te verbeteren.
Wanneer u een CI/CD-pijplijn implementeert, kunt u verschillende hulpprogramma's gebruiken dan in dit voorbeeld, zoals Azure Pipelines en GitHub Actions. Zie CI/CD voor microservicesarchitecturen voor meer informatie over CI/CD.
Voor specifieke zakelijke vereisten voor uw analysegebruiksscenario kan het gebruik van services of functies vereist zijn die niet in dit ontwerp worden overwogen.
Kostenoptimalisatie
Kostenoptimalisatie gaat over het verminderen van onnodige uitgaven en het verbeteren van operationele efficiëntie. Zie de controlelijst ontwerpbeoordeling voor Kostenoptimalisatie voor meer informatie.
Alle services die in deze oplossing zijn geïmplementeerd, maken gebruik van een prijsmodel op basis van verbruik. U kunt de Azure-prijscalculator gebruiken om de kosten voor een specifiek scenario te schatten. Zie Kostenoptimalisatie in het Well-Architected Framework voor andere overwegingen.
Dit scenario implementeren
Een proof-of-concept-implementatie van dit scenario is beschikbaar op GitHub bij Retentie van werknemers met Databricks en Kubernetes.
Download een PowerPoint-bestand voor alle architectuur.
Dit bewijs van concept illustreert:
- Een MLflow-model trainen voor het ophalen van werknemers in Azure Databricks.
- Modellen verpakken als webservice met behulp van opensource-hulpprogramma's.
- Implementeren in Kubernetes via CI/CD met behulp van GitHub Actions.
- Het bewaken van API-prestaties en modelgegevensdrift in Azure Monitor- en Azure Log Analytics-werkruimten.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Hoofdauteur:
- Nicholas Moore | Cloud Solution Architect
Volgende stappen
Productdocumentatie:
- Wat is Azure Databricks?
- MLflow-handleiding
- Azure Kubernetes Service
- Inleiding tot privé-Docker-containerregisters in Azure
- Over API-beheer
- Wat is Azure-toepassing Gateway?
- Inleiding tot Azure Data Lake Storage Gen2
- Overzicht van Azure Monitor
- Documentatie voor Azure DevOps
- Integratie van Azure en GitHub
Microsoft Learn-modules:
- Gegevenswetenschap uitvoeren met Azure Databricks
- Machine Learning-oplossingen bouwen en gebruiken met Azure Databricks
- Inleiding tot Kubernetes in Azure
- Toepassingen ontwikkelen en implementeren in Kubernetes
- Uw werkstroom automatiseren met GitHub Actions
Verwante resources
U vindt deze Architecture Center-artikelen mogelijk ook nuttig: