Upravit

Sdílet prostřednictvím


Uchovávání zaměstnanců pomocí Databricks a Kubernetes

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

Toto řešení ukazuje, jak může tým strojového učení používat Azure Databricks a Azure Kubernetes Service k vývoji a nasazování strojového učení jako rozhraní API k předpovídání pravděpodobnosti pokusu zaměstnance. Rozhraní API je možné integrovat s externími aplikacemi, které tým lidských zdrojů používá k tomu, aby poskytl další přehled o pravděpodobnosti, že by to bylo možné provést u daného zaměstnance v rámci organizace. Tyto informace je možné použít k zachování vysoce ovlivněných zaměstnanců, kteří pravděpodobně opustí organizaci tím, že pracovníkům poskytnou možnost aktivně incentivizovat tyto zaměstnance, aby zůstali.

Apache®, Apache Ignite, Ignite a logo plamene jsou registrované ochranné známky nebo ochranné známky Apache Software Foundation v USA a/nebo v jiných zemích. Použití těchto značek nevyžaduje žádné doporučení Apache Software Foundation.

Architektura

Diagram architektury v tomto článku znázorňující vývoj, nasazení, vystavení rozhraní API a monitorování metrik a protokolů

Stáhněte si powerpointový soubor pro všechny architektury.

Workflow

Na vysoké úrovni se tento návrh řešení zabývá jednotlivými fázemi životního cyklu strojového učení:

  • Příprava dat, která zahrnuje zdroje, čištění a transformaci dat pro zpracování a analýzu. Data můžou být uložená v datovém jezeře nebo datovém skladu a po kurátorování můžou být uložená v úložišti funkcí.

  • Vývoj modelů, který zahrnuje základní součásti procesu vývoje modelů, jako je sledování experimentů a registrace modelů pomocí MLflow.

  • Nasazení modelu, které zahrnuje implementaci kanálu kontinuální integrace a průběžného doručování (CI/CD) pro kontejnerizaci modelů strojového učení jako služeb API. Tyto služby se nasazují do clusterů Azure Kubernetes, aby je koncoví uživatelé mohli využívat.

  • Monitorování modelů, které zahrnuje monitorování výkonu rozhraní API a posunu dat modelu pomocí analýzy telemetrie protokolů pomocí služby Azure Monitor.

Jakmile tým strojového učení nasadí model strojového učení jako rozhraní API pro odvozování v reálném čase, můžou vývojáři rozhraní API snadno integrovat s externími aplikacemi, které používají externí týmy, jako jsou lidské zdroje. Telemetrie se shromažďuje, když externí tým používá službu modelu. Tým strojového učení může pomocí této telemetrie určit, kdy je potřeba model znovu nasadit. Tento přístup umožňuje týmům pracovat nezávisle a umožňuje externím týmům těžit z dovedností centralizovaného týmu strojového učení.

Poznámka:

  • Při implementaci kanálu CI/CD můžete použít různé nástroje, jako jsou Azure Pipelines a GitHub Actions.

  • Konkrétní obchodní požadavky vašeho případu použití pro analýzy můžou vyžadovat různé služby nebo funkce, které se v tomto návrhu nepovažují.

Komponenty

V rámci tohoto návrhu se používají následující komponenty:

  • Azure Databricks: Analytická služba pro velké objemy dat, která se snadno používá, usnadňuje spolupráci a je založená na Apache Sparku. Azure Databricks je navržený pro datové vědy a datové inženýrství.

  • Azure Kubernetes Service: Služba, která poskytuje zjednodušené nasazení a správu Kubernetes tím, že přesměruje provozní režii do Azure.

  • Azure Container Registry: Služba privátního registru pro správu imagí kontejnerů a artefaktů. Tato služba je založená na opensourcovém Dockeru.

  • Azure Data Lake Storage: Služba, která poskytuje škálovatelné úložiště optimalizované pro obrovské objemy nestrukturovaných dat. Data Lake Storage Gen2 nabízí sémantiku systému souborů, zabezpečení na úrovni souborů a škálování.

  • Azure Monitor: Komplexní řešení pro shromažďování, analýzu a zpracování telemetrie z vašich úloh.

  • MLflow: Opensourcové řešení integrované v Databricks pro správu životního cyklu strojového učení od konce do konce.

  • Azure API Management: Plně spravovaná služba, která zákazníkům pomáhá publikovat, zabezpečit, transformovat, udržovat a monitorovat rozhraní API.

  • Aplikace Azure lication Gateway: Nástroj pro vyrovnávání zatížení pro webový provoz, který umožňuje spravovat provoz do webových aplikací.

  • Azure DevOps nebo GitHub: Řešení pro implementaci postupů DevOps pro vynucení automatizace a dodržování předpisů s vašimi kanály vývoje a nasazení úloh.

Podrobnosti scénáře

Od epidemie COVID-19 se problém vytěsňování zaměstnanců zvýšil na výslovnost. Tento trend, ve kterém zaměstnanci dobrovolně rezignují ze svých pracovních míst v mase, je populární jako Velká rezignace. Problém je možné zvětšit také u některých oddělení v organizaci, které by mohly chybět vyhrazené týmy, které provádějí pokročilou analýzu, jako jsou lidské zdroje.

Tento ukázkový scénář znázorňuje provozní model centralizovaného strojového učení. To se skládá z centrálního týmu, který zodpovídá za vytváření a nasazování modelů strojového učení pro externí týmy napříč odděleními v rámci organizace. Tento přístup je užitečný v případě, že oddělení jsou příliš malá, aby udržovala tým vyhrazený pro strojové učení, zatímco organizace má v úmyslu začlenit pokročilé analýzy do všech produktů a procesů.

Potenciální případy použití

Tento scénář se zaměřuje na vytvoření modelu strojového učení při nasazování zaměstnanců a jeho integraci s externími aplikacemi, které používají týmy lidských zdrojů. Návrh lze však zobecnit pro mnoho úloh strojového učení, které jsou vytvořeny centralizovanými a decentralizovanými týmy.

Tento zobecněný přístup je nejvhodnější pro:

  • Týmy strojového učení, které mají standardizované v Databricks pro aplikace pro přípravu dat nebo strojové učení

  • Týmy strojového učení, které mají zkušenosti s nasazováním a správou úloh Kubernetes a předvolbou pro uplatnění těchto dovedností pro zprovoznění úloh strojového učení.

  • Integrace úloh strojového učení s externími aplikacemi, které vyžadují nízkou latenci a predikce interaktivního modelu (například odvozování v reálném čase).

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Před implementací tohoto řešení je vhodné zvážit některé faktory:

  • Toto řešení je navržené pro týmy, které vyžadují vysokou míru přizpůsobení a mají rozsáhlé znalosti při nasazování a správě úloh Kubernetes. Pokud váš tým datových věd nemá tyto znalosti, zvažte nasazení modelů do jiné služby, jako je Azure Machine Learning.

  • Osvědčené postupy Strojového učení DevOps (MLOps) se službou Azure Machine Learning představují osvědčené postupy a doporučení pro přijetí operací ML (MLOps) v podniku pomocí strojového učení.

  • Pokud chcete zlepšit kvalitu řešení Azure, postupujte podle doporučení a pokynů definovaných v architektuře Azure .

  • Při implementaci kanálu CI/CD můžete použít jiné nástroje, než je tento příklad, například Azure Pipelines a GitHub Actions. Další informace o CI/CD najdete v tématu CI/CD pro architektury mikroslužeb.

  • Konkrétní obchodní požadavky pro váš případ použití analýz můžou vyžadovat použití služeb nebo funkcí, které nejsou v tomto návrhu považovány.

Optimalizace nákladů

Optimalizace nákladů se týká snížení zbytečných výdajů a zlepšení efektivity provozu. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro optimalizaci nákladů.

Všechny služby nasazené v tomto řešení používají cenový model založený na spotřebě. K odhadu nákladů pro konkrétní scénář můžete použít cenovou kalkulačku Azure. Další aspekty najdete v tématu Optimalizace nákladů v dobře architektuře.

Nasazení tohoto scénáře

Implementace tohoto scénáře pro testování konceptu je k dispozici na GitHubu při uchovávání zaměstnanců pomocí Databricks a Kubernetes.

Diagram nasazení architektury v tomto článku znázorňující vývoj, sestavení, nasazení a monitorování

Stáhněte si powerpointový soubor pro všechny architektury.

Tento důkaz konceptu ilustruje:

  • Jak vytrénovat model MLflow pro výkon zaměstnanců v Azure Databricks
  • Jak zabalit modely jako webovou službu pomocí opensourcových nástrojů
  • Postup nasazení do Kubernetes prostřednictvím CI/CD pomocí GitHub Actions
  • Monitorování výkonu rozhraní API a posunu dat modelu v pracovních prostorech Služby Azure Monitor a Azure Log Analytics

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další kroky

Dokumentace k produktu:

Moduly Microsoft Learn:

Tyto články centra architektury můžou být užitečné také: