Upravit

Sdílet prostřednictvím


Orchestrace MLOps pomocí Azure Databricks

Azure Databricks

Nápady na řešení

Tento článek popisuje myšlenku řešení. Váš cloudový architekt může pomocí těchto pokynů vizualizovat hlavní komponenty pro typickou implementaci této architektury. Tento článek slouží jako výchozí bod k návrhu dobře navrženého řešení, které odpovídá konkrétním požadavkům vaší úlohy.

Tento článek obsahuje architekturu a proces operací strojového učení (MLOps), který používá Azure Databricks. Tento proces definuje standardizovaný způsob přesunu modelů strojového učení a kanálů z vývoje do produkčního prostředí s možnostmi zahrnutí automatizovaných a ručních procesů.

Architektura

Diagram znázorňující řešení pro použití Azure Databricks pro MLOps

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

Toto řešení poskytuje robustní proces MLOps, který používá Azure Databricks. Všechny prvky v architektuře jsou připojitelné, takže můžete podle potřeby integrovat další služby Azure a služby třetích stran. Tato architektura a popis jsou přizpůsobeny z elektronické knihy The Big Book of MLOps. Tato elektronická kniha zkoumá architekturu popsanou zde podrobněji.

  • Správa zdrojového kódu: Úložiště kódu tohoto projektu uspořádá poznámkové bloky, moduly a kanály. Datoví vědci vytvářejí vývojové větve pro testování aktualizací a nových modelů. Kód se vyvíjí v poznámkových blocích nebo v prostředích ID, které podporuje Git, s integrací Databricks Repos pro synchronizaci s vašimi pracovními prostory Azure Databricks. Správa zdrojového kódu podporuje kanály strojového učení od vývoje prostřednictvím přípravy (pro testování) do produkčního prostředí (pro nasazení).

  • Lakehouse – produkční data: Datoví vědci pracují ve vývojovém prostředí, kde mají přístup jen pro čtení k produkčním datům. (Případně je možné data zrcadlit nebo znovu upravovat.) Mají také přístup pro čtení a zápis do vývojového prostředí úložiště pro účely vývoje a experimentování. Pro data doporučujeme architekturu Lakehouse , ve které jsou data uložená ve službě Azure Data Lake Storage ve formátu Delta Lake . Řízení přístupu se definuje pomocí předávání přihlašovacích údajů Microsoft Entra nebo řízení přístupu k tabulce.

Vývoj

Ve vývojovém prostředí vyvíjejí kanály strojového učení datoví vědci a technici.

  1. Průzkumná analýza dat (EDA): Datoví vědci prozkoumávají data v interaktivním iterativním procesu. Tato ad hoc práce nemusí být nasazena do přípravného nebo produkčního prostředí. Mezi nástroje můžou patřit Databricks SQL a dbutils.data.summarizeAutoML.

  2. Trénovánímodelů a další kanály strojového učení: Kanály strojového učení se vyvíjejí jako modulární kód v poznámkových blocích nebo prostředích IDE. Například kanál trénování modelu čte data z úložiště funkcí a dalších tabulek Lakehouse. Trénování a ladění parametrů a metrik modelu protokolu na server pro sledování MLflow Rozhraní API úložiště funkcí protokoluje konečný model. Tyto protokoly propojují model, jeho vstupy a trénovací kód.

  3. Potvrzení kódu: Pro zvýšení úrovně pracovního postupu strojového učení do produkčního prostředí potvrdí datový vědec kód pro featurizaci, trénování a další kanály do správy zdrojového kódu.

Příprava

V přípravném prostředí se testy infrastruktury CI změní na kanály strojového učení v prostředí, které napodobuje produkční prostředí.

  1. Žádost o sloučení: Když se žádost o sloučení (nebo přijetí změn) odešle do přípravné (hlavní) větve projektu ve správě zdrojového kódu, spustí nástroj kontinuální integrace a průběžné doručování (CI/CD), jako je Azure DevOps , testy.

  2. Testy jednotek a CI: Testy jednotek se spouštějí v infrastruktuře CI a integrační testy spouštějí kompletní pracovní postupy v Azure Databricks. Pokud testy projdou, kód se sloučí.

  3. Vytvoření větve vydané verze: Když jsou technici strojového učení připraveni nasadit aktualizované kanály strojového učení do produkčního prostředí, můžou vytvořit novou verzi. Kanál nasazení v nástroji CI/CD znovu nasadí aktualizované kanály jako nové pracovní postupy.

Výroba

Technici strojového učení spravují produkční prostředí, kde kanály strojového učení přímo obsluhují koncové aplikace. Klíčové kanály v tabulkách funkcí produkční aktualizace, trénování a nasazování nových modelů, spouštění odvozování nebo obsluhování a monitorování výkonu modelu.

  1. Aktualizace tabulky funkcí: Tento kanál čte data, výpočetní funkce a zápisy do tabulek úložiště funkcí. Běží nepřetržitě v režimu streamování, běží podle plánu nebo se aktivuje.

  2. Trénování modelu: V produkčním prostředí se kanál trénování nebo opětovného trénování modelu aktivuje nebo naplánuje na trénování nového modelu na nejnovějších produkčních datech. Modely jsou zaregistrované v registru modelů MLflow.

  3. Průběžné nasazování: Registrace nových verzí modelu aktivuje kanál CD, který spouští testy, aby se zajistilo, že model bude v produkčním prostředí dobře fungovat. S tím, jak model projde testy, se jeho průběh sleduje v registru modelů prostřednictvím přechodů fází modelu. Webhooky registru lze použít pro automatizaci. Testy můžou zahrnovat kontroly dodržování předpisů, testy A/B pro porovnání nového modelu s aktuálním produkčním modelem a testy infrastruktury. Výsledky testů a metriky se zaznamenávají v tabulkách Lakehouse. Volitelně můžete vyžadovat ruční odhlašování před přechodem modelů do produkčního prostředí.

  4. Nasazení modelu: Při vstupu modelu do produkčního prostředí se nasadí pro bodování nebo obsluhu. Mezi nejběžnější režimy nasazení patří:

    • Dávkové nebo streamovací bodování: Pro latence minut nebo déle jsou dávky a streamování nákladově nejefektivnějšími možnostmi. Kanál bodování čte nejnovější data z úložiště funkcí, načte nejnovější verzi produkčního modelu z registru modelů a provádí odvozování v úloze Databricks. Může publikovat předpovědi do tabulek Lakehouse, připojení JDBC (Java Database Connectivity), ploché soubory, fronty zpráv nebo jiné podřízené systémy.
    • Online obsluha (ROZHRANÍ REST API): U případů použití s nízkou latencí je online obsluha obecně nezbytná. MLflow může nasazovat modely do MLflow Model Obsluhy v Azure Databricks, poskytovateli cloudových služeb a dalších systémech. Ve všech případech se obslužný systém inicializuje pomocí nejnovějšího produkčního modelu z registru modelů. Pro každý požadavek načte funkce z online úložiště funkcí a předpovědí.
  5. Monitorování: Průběžné nebo pravidelné pracovní postupy monitorují vstupní data a předpovědi modelu pro posun, výkon a další metriky. Rozdílové živé tabulky můžou zjednodušit automatizaci kanálů monitorování a ukládat metriky do tabulek Lakehouse. Databricks SQL, Power BI a další nástroje mohou z těchto tabulek číst a vytvářet řídicí panely a výstrahy.

  6. Přetrénování: Tato architektura podporuje ruční i automatické přetrénování. Naplánované úlohy opětovného natrénování představují nejjednodušší způsob, jak zachovat modely čerstvé.

Komponenty

  • Data Lakehouse. Architektura Lakehouse sjednocuje nejlepší prvky datových jezer a datových skladů, což zajišťuje správu a výkon dat obvykle v datových skladech s nízkonákladovými flexibilními úložišti objektů nabízenými datovými jezery.
    • Delta Lake je doporučenou volbou pro opensourcový formát dat pro lakehouse. Azure Databricks ukládá data ve službě Data Lake Storage a poskytuje vysoce výkonný dotazovací modul.
  • MLflow je opensourcový projekt pro správu kompletního životního cyklu strojového učení. Toto jsou její hlavní komponenty:
    • Sledování umožňuje sledovat experimenty pro zaznamenávání a porovnávání parametrů, metrik a artefaktů modelu.
    • Model MLflow umožňuje ukládat a nasazovat modely z libovolné knihovny strojového učení do různých platforem obsluhy a odvozování modelů.
    • Registr modelů poskytuje centralizované úložiště modelů pro správu přechodů fází životního cyklu modelu z vývoje do produkčního prostředí.
    • Obsluha modelů umožňuje hostovat modely MLflow jako koncové body REST.
  • Azure Databricks. Azure Databricks poskytuje spravovanou službu MLflow s funkcemi podnikového zabezpečení, vysokou dostupností a integrací s dalšími funkcemi pracovního prostoru Azure Databricks.
    • Databricks Runtime pro Machine Learning automatizuje vytváření clusteru, který je optimalizovaný pro strojové učení, předinstalace oblíbených knihoven strojového učení, jako jsou TensorFlow, PyTorch a XGBoost, a také Azure Databricks pro nástroje strojového učení, jako jsou autoML a klienti úložiště funkcí.
    • Úložiště funkcí je centralizované úložiště funkcí. Umožňuje sdílení a zjišťování funkcí a pomáhá zabránit nerovnoměrné distribuci dat mezi trénováním modelu a odvozováním.
    • Databricks SQL Databricks SQL poskytuje jednoduché prostředí pro dotazy SQL na data Lakehouse a vizualizace, řídicí panely a výstrahy.
    • Databricks Repos poskytuje integraci s vaším poskytovatelem Gitu v pracovním prostoru Azure Databricks, což zjednodušuje vývoj poznámkových bloků nebo kódu a integrace integrovaného vývojového prostředí (IDE).
    • Pracovní postupy a úlohy poskytují způsob, jak spustit neinteraktivní kód v clusteru Azure Databricks. Pro strojové učení úlohy poskytují automatizaci pro přípravu dat, featurizaci, trénování, odvozování a monitorování.

Alternativy

Toto řešení můžete přizpůsobit vaší infrastruktuře Azure. Mezi běžná přizpůsobení patří:

  • Několik vývojových pracovních prostorů, které sdílejí společný produkční pracovní prostor.
  • Výměna jedné nebo více komponent architektury pro stávající infrastrukturu K orchestraci úloh Databricks můžete například použít Azure Data Factory .
  • Integrace s existujícími nástroji CI/CD prostřednictvím rozhraní REST API Gitu a Azure Databricks

Podrobnosti scénáře

MLOps pomáhá snížit riziko selhání v systémech strojového učení a umělé inteligence a zlepšit efektivitu spolupráce a nástrojů. Úvod do MLOps a přehled této architektury najdete v tématu Návrh MLOps na Lakehouse.

Pomocí této architektury můžete:

  • Propojte své obchodní účastníky s týmy strojového učení a datových věd. Tato architektura umožňuje datovým vědcům používat poznámkové bloky a prostředí IDE pro vývoj. Umožňuje obchodním zúčastněným stranám zobrazit metriky a řídicí panely v Databricks SQL, a to vše ve stejné architektuře Lakehouse.
  • Vytvořte datacentrickou infrastrukturu strojového učení. Tato architektura zpracovává data strojového učení (data z přípravy funkcí, trénování, odvozování a monitorování) stejně jako ostatní data. Opakovaně používá nástroje pro produkční kanály, řídicí panely a další obecné zpracování dat pro zpracování dat strojového učení.
  • Implementujte MLOps v modulech a kanálech. Stejně jako u jakékoli softwarové aplikace umožňují modulární kanály a kód v této architektuře testování jednotlivých komponent a snížit náklady na budoucí refaktoring.
  • Podle potřeby automatizujte procesy MLOps. V této architektuře můžete automatizovat kroky, které zlepšují produktivitu a snižují riziko lidských chyb, ale ne každý krok je potřeba automatizovat. Azure Databricks umožňuje kromě rozhraní API pro automatizaci také uživatelské rozhraní a ruční procesy.

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

Tato architektura se vztahuje na všechny typy strojového učení, hluboké učení a pokročilé analýzy. Mezi běžné techniky strojového učení / AI používané v této architektuře patří:

  • Klasické strojové učení, jako jsou lineární modely, stromové modely a posílení.
  • Moderní hluboké učení, jako je TensorFlow a PyTorch.
  • Vlastní analýzy, jako jsou statistiky, Bayesovské metody a analýzy grafů.

Architektura podporuje jak malá data (jeden počítač), tak i velká data (distribuovaná výpočetní prostředí a akcelerované GPU). V každé fázi architektury můžete zvolit výpočetní prostředky a knihovny, které se přizpůsobí vašim datům a dimenzím problémů.

Architektura se vztahuje na všechny typy odvětví a obchodní případy použití. Zákazníci Azure Databricks, kteří používají tuto a podobnou architekturu, zahrnují malé a velké organizace v odvětvích, jako jsou tyto:

  • Spotřební zboží a maloobchodní služby
  • Finanční služby
  • Zdravotnictví a lékařské technologie
  • Informační technologie

Příklady najdete na webu Databricks.

Přispěvatelé

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

Hlavní autor:

Další přispěvatel:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky