Dávkové vyhodnocování modelů Spark ve službě Azure Databricks

Microsoft Entra ID
Azure Databricks
Azure Data Factory
Azure Blob Storage

Tato referenční architektura ukazuje, jak vytvořit škálovatelné řešení pro dávkové vyhodnocování klasifikačního modelu Apache Sparku podle plánu pomocí Azure Databricks. Azure Databricks je analytická platforma založená na Apache Sparku optimalizovaná pro Azure. Azure Databricks nabízí tři prostředí pro vývoj aplikací náročných na data: Databricks SQL, Databricks Datová Věda & Engineering a Databricks Machine Učení. Databricks Machine Učení je integrované komplexní prostředí strojového učení, které zahrnuje spravované služby pro sledování experimentů, trénování modelů, vývoj funkcí a správu funkcí a obsluhu modelů. Tuto referenční architekturu můžete použít jako šablonu, která se dá zobecnit v jiných scénářích. Referenční implementace pro tuto architekturu je k dispozici na GitHubu.

Apache® a Apache Spark® 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 znázorňující dávkové vyhodnocování modelů klasifikace Apache Sparku v Azure Databricks

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

Workflow

Architektura definuje tok dat, který je zcela obsažený v Azure Databricks na základě sady sekvenčních poznámkových bloků. Skládá se z následujících součástí:

Datové soubory. Referenční implementace používá simulovanou datovou sadu obsaženou v pěti statických datových souborech.

Příjem dat. Poznámkový blok pro příjem dat stáhne vstupní datové soubory do kolekce datových sad Databricks. V reálném scénáři by data ze zařízení IoT streamovala do úložiště přístupného pro Databricks, jako je Azure SQL nebo Azure Blob Storage. Databricks podporuje více zdrojů dat.

Trénovací kanál. Tento poznámkový blok spustí poznámkový blok přípravy funkcí, který vytvoří sadu dat analýzy z přijatých dat. Potom spustí poznámkový blok pro vytváření modelů, který trénuje model strojového učení pomocí škálovatelné knihovny strojového učení Apache Spark MLlib .

Bodovací kanál. Tento poznámkový blok spustí poznámkový blok přípravy funkcí, který vytvoří datovou sadu bodování z přijatých dat a spustí bodovací poznámkový blok. Bodovací poznámkový blok používá vytrénovaný model Spark MLlib k vygenerování predikcí pozorování v hodnoticí sadě dat. Předpovědi jsou uloženy v úložišti výsledků, novou datovou sadu v úložišti dat Databricks.

Plánovač. Naplánovaná úloha Databricks zpracovává dávkové vyhodnocování pomocí modelu Spark. Úloha spustí poznámkový blok kanálu bodování a předá argumenty proměnných prostřednictvím parametrů poznámkového bloku, aby určil podrobnosti pro vytvoření hodnoticí datové sady a umístění pro uložení sady dat výsledků.

Podrobnosti řešení

Scénář je vytvořený jako tok kanálu. Každý poznámkový blok je optimalizovaný tak, aby se prováděl v dávkovém nastavení pro každou operaci: příjem dat, příprava funkcí, sestavování modelů a bodování modelů. Poznámkový blok pro přípravu funkcí je navržený tak, aby vygeneroval obecnou datovou sadu pro jakékoli operace trénování, kalibrace, testování nebo bodování. V tomto scénáři používáme pro tyto operace dočasnou strategii rozdělení, takže parametry poznámkového bloku slouží k nastavení filtrování rozsahu kalendářních dat.

Vzhledem k tomu, že scénář vytvoří dávkový kanál, poskytujeme sadu volitelných poznámkových bloků pro zkoumání výstupu poznámkových bloků kanálu. Tyto poznámkové bloky najdete ve složce poznámkových bloků úložiště GitHub:

  • 1a_raw-data_exploring.ipynb
  • 2a_feature_exploration.ipynb
  • 2b_model_testing.ipynb
  • 3b_model_scoring_evaluation.ipynb

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

Firma v odvětví náročném na prostředky chce minimalizovat náklady a výpadky spojené s neočekávanými mechanickými selháními. Pomocí dat IoT shromážděných ze svých počítačů můžou vytvořit model prediktivní údržby. Tento model umožňuje firmě aktivně udržovat komponenty a opravit je před selháním. Maximalizací použití mechanických komponent může řídit náklady a snížit prostoje.

Model prediktivní údržby shromažďuje data z počítačů a uchovává historické příklady selhání komponent. Model se pak dá použít k monitorování aktuálního stavu komponent a k predikci, jestli daná komponenta brzy selže. Běžné případy použití a přístupy k modelování najdete v průvodci Azure AI pro řešení prediktivní údržby.

Tato referenční architektura je určená pro úlohy aktivované přítomností nových dat z počítačů komponent. Zpracování zahrnuje následující kroky:

  1. Ingestování dat z externího úložiště dat do úložiště dat Azure Databricks

  2. Trénování modelu strojového učení transformací dat do trénovací sady dat a následným sestavením modelu Spark MLlib Knihovna MLlib se skládá z nejběžnějších algoritmů strojového učení a nástrojů optimalizovaných tak, aby využívaly možnosti škálovatelnosti dat Sparku.

  3. Pomocí trénovaného modelu můžete předpovědět (klasifikovat) chyby komponent transformací dat do hodnoticí sady dat. Určení skóre dat pomocí modelu Spark MLLib

  4. Výsledky uložte do úložiště dat Databricks pro účely následného zpracování.

Poznámkové bloky jsou k dispozici na GitHubu , aby bylo možné provádět každou z těchto úloh.

Doporučení

Databricks je nastavený tak, abyste mohli načíst a nasadit natrénované modely, abyste mohli vytvářet předpovědi s novými daty. Databricks také poskytuje další výhody:

  • Podpora jednotného přihlašování pomocí přihlašovacích údajů Microsoft Entra
  • Plánovač úloh pro spouštění úloh pro produkční kanály
  • Plně interaktivní poznámkový blok se spoluprácemi, řídicími panely a rozhraními REST API
  • Neomezené clustery, které se dají škálovat na libovolnou velikost.
  • Pokročilé zabezpečení, řízení přístupu na základě role a protokoly auditu

Pokud chcete pracovat se službou Azure Databricks, použijte rozhraní pracovního prostoru Databricks ve webovém prohlížeči nebo rozhraní příkazového řádku (CLI). Přístup k Rozhraní příkazového řádku Databricks z libovolné platformy, která podporuje Python 2.7.9 až 3.6.

Referenční implementace používá poznámkové bloky k provádění úkolů v sekvenci. Každý poznámkový blok ukládá přechodné artefakty dat (trénování, testování, bodování nebo sady dat výsledků) do stejného úložiště dat jako vstupní data. Cílem je usnadnit vám jeho používání podle potřeby v konkrétním případě použití. V praxi byste svůj zdroj dat připojili k instanci Azure Databricks, aby poznámkové bloky mohli číst a zapisovat přímo do úložiště.

Podle potřeby monitorujte provádění úloh prostřednictvím uživatelského rozhraní Databricks, úložiště dat nebo rozhraní příkazového řádku Databricks. Monitorujte cluster pomocí protokolu událostí a dalších metrik , které Databricks poskytuje.

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.

Výkon

Cluster Azure Databricks ve výchozím nastavení umožňuje automatické škálování, aby databricks během běhu dynamicky relokuje pracovní procesy, aby zohlednily charakteristiky vaší úlohy. Některé části kanálu můžou být výpočetně náročnější než jiné. Databricks během těchto fází vaší úlohy přidá další pracovní procesy (a odebere je, když už nejsou potřeba). Automatické škálování usnadňuje dosažení vysokého využití clusteru, protože nemusíte zřizovat cluster tak, aby odpovídal úloze.

Vyvíjejte složitější naplánované kanály pomocí služby Azure Data Factory s Azure Databricks.

Úložiště

V této referenční implementaci se data ukládají přímo v úložišti Databricks kvůli jednoduchosti. V produkčním nastavení ale můžete ukládat data do cloudového úložiště dat, jako je Azure Blob Storage. Databricks také podporuje Azure Data Lake Store, Azure Synapse Analytics, Azure Cosmos DB, Apache Kafka a Apache Hadoop.

Optimalizace nákladů

Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

K odhadu nákladů použijte cenovou kalkulačku Azure. Další aspekty jsou popsané v části Náklady v architektuře Microsoft Azure Well-Architected Framework.

Azure Databricks je prémiová nabídka Sparku s přidruženými náklady. Kromě toho existují cenové úrovně Standard a Premium Databricks.

Pro tento scénář stačí cenová úroveň Standard. Pokud ale vaše konkrétní aplikace vyžaduje automatické škálování clusterů pro zpracování větších úloh nebo interaktivních řídicích panelů Databricks, může úroveň Premium dále zvýšit náklady.

Poznámkové bloky řešení můžou běžet na libovolné platformě založené na Sparku s minimálními úpravami a odebrat balíčky specifické pro Databricks. Podívejte se na následující podobná řešení pro různé platformy Azure:

Nasazení tohoto scénáře

Pokud chcete nasadit tuto referenční architekturu, postupujte podle kroků popsaných v úložišti GitHub a sestavte škálovatelné řešení pro vyhodnocování modelů Spark v dávce v Azure Databricks.

Přispěvatelé

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

Hlavní autor:

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

Další kroky