Jak Databricks podporuje CI/CD pro strojové učení?
CI/CD (kontinuální integrace a průběžné doručování) odkazuje na automatizovaný proces pro vývoj, nasazování, monitorování a údržbu vašich aplikací. Díky automatizaci sestavování, testování a nasazení kódu můžou vývojové týmy dodávat vydané verze častěji a spolehlivěji než ruční procesy v mnoha týmech datových inženýrů a datových věd. CI/CD pro strojové učení spojuje techniky MLOps, DataOps, ModelOps a DevOps.
Tento článek popisuje, jak Databricks podporuje CI/CD pro řešení strojového učení. Vaplikacích
Prvky strojového učení, které potřebují CI/CD
Jednou z výzev vývoje STROJOVÉho učení je to, že různé týmy vlastní různé části procesu. Týmy můžou spoléhat na různé nástroje a mít různé plány vydávání verzí. Azure Databricks poskytuje jednu sjednocenou platformu dat a strojového učení s integrovanými nástroji, které zlepšují efektivitu týmů a zajišťují konzistenci a opakovatelnost kanálů dat a ML.
Obecně platí, že úlohy strojového učení by se měly sledovat v automatizovaném pracovním postupu CI/CD:
- Tréninková data, včetně kvality dat, schema změn a změn distribuce.
- Vstupní datové kanály
- Kód pro trénování, ověřování a obsluhu modelu
- Predikce modelu a výkon
Integrace Databricks do procesů CI/CD
MLOps, DataOps, ModelOps a DevOps odkazují na integraci vývojových procesů s "operacemi", díky čemuž jsou procesy a infrastruktura předvídatelné a spolehlivé. Tato set článků popisuje, jak integrovat principy operací ("ops") do pracovních postupů ML na platformě Databricks.
Databricks zahrnuje všechny komponenty potřebné pro životní cyklus ML, včetně nástrojů pro sestavení "konfigurace jako kódu", aby se zajistila reprodukovatelnost a "infrastruktura jako kód" pro automatizaci zřizování cloudových služeb. Zahrnuje také služby protokolování a upozorňování, které vám pomůžou odhalit a řešit problémy, když k nim dojde.
DataOps: Spolehlivá a zabezpečená data
Vhodné modely ML závisí na spolehlivých datových kanálech a infrastruktuře. S platformou Databricks Data Intelligence Platform je celý datový kanál od ingestování dat až po výstupy z obsluhované modelu na jedné platformě a používá stejnou sadu nástrojů, která usnadňuje produktivitu, reprodukovatelnost, sdílení a řešení potíží.
Úlohy a nástroje DataOps v Databricks
V table jsou uvedené běžné úlohy a nástroje DataOps v Databricks:
Úloha DataOps | Nástroj v Databricks |
---|---|
Ingestování a transformace dat | Automatický zavaděč a Apache Spark |
Sledování změn dat včetně správy verzí a rodokmenu | Delta tables |
Vytváření, správa a monitorování kanálů zpracování dat | Delta Live Tables |
Zajištění zabezpečení a zásad správného řízení dat | Jednota Catalog |
Průzkumné analýzy dat a řídicí panely | Poznámkové bloky Databricks SQL, řídicích panelů a Databricks |
Obecné kódování | Poznámkové bloky Databricks SQL a Databricks |
Plánování datových kanálů | Úlohy Databricks |
Automatizace obecných pracovních postupů | Úlohy Databricks |
Vytváření, ukládání, správa a zjišťování funkcí pro trénování modelů | Úložiště funkcí Databricks |
Monitorování dat | Monitorování Lakehouse |
ModelOps: Vývoj a životní cyklus modelů
Vývoj modelu vyžaduje řadu experimentů a způsob, jak sledovat a porovnat podmínky a výsledky těchto experimentů. Platforma Databricks Data Intelligence zahrnuje MLflow pro sledování vývoje modelů a registr modelů MLflow ke správě životního cyklu modelu, včetně přípravy, obsluhy a ukládání artefaktů modelu.
Po uvolnění modelu do produkčního prostředí může dojít ke změně mnoha věcí, které můžou ovlivnit jeho výkon. Kromě monitorování výkonu předpovědi modelu byste měli také monitorovat vstupní data o změnách kvality nebo statistických charakteristik, které by mohly vyžadovat opětovné trénování modelu.
Úlohy a nástroje ModelOps v Databricks
V table jsou uvedené běžné úlohy a nástroje ModelOps, které poskytuje Databricks:
Úloha ModelOps | Nástroj v Databricks |
---|---|
Sledování vývoje modelů | Sledování modelů MLflow |
Správa životního cyklu modelu | Modely v Unity Catalog |
Správa verzí kódu modelu a sdílení | Složky Gitu pro Databricks |
Vývoj modelů bez kódu | AutoML |
Monitorování modelů | Monitorování Lakehouse |
DevOps: Výroba a automatizace
Platforma Databricks podporuje modely ML v produkčním prostředí s následujícími funkcemi:
- Kompletní data a rodokmen modelů: Od modelů v produkčním prostředí zpět ke zdroji nezpracovaných dat na stejné platformě.
- Obsluha modelu na úrovni produkce: Automaticky vertikálně navyšuje nebo snižuje kapacitu na základě vašich obchodních potřeb.
- Úlohy: Automatizuje úlohy a vytváří naplánované pracovní postupy strojového učení.
- Složky Gitu: Správa verzí kódu a sdílení z pracovního prostoru, pomáhá týmům také dodržovat osvědčené postupy softwarového inženýrství.
- Poskytovatel Databricks Terraform: Automatizuje infrastrukturu nasazení napříč cloudy pro úlohy odvozování ML, obsluhu koncových bodů a úlohy featurizace.
Obsluha modelu
Pro nasazení modelů do produkčního prostředí MLflow proces výrazně zjednodušuje a poskytuje jednoklikové nasazení jako dávkovou úlohu pro velké objemy dat nebo jako koncový bod REST v clusteru automatického škálování. Integrace úložiště funkcí Databricks s MLflow také zajišťuje konzistenci funkcí pro trénování a obsluhu; Modely MLflow také můžou automaticky vyhledávat funkce z úložiště funkcí, a to i kvůli nízké latenci online obsluhy.
Platforma Databricks podporuje řadu možností nasazení modelu:
- Kód a kontejnery.
- Dávkové obsluhy.
- Online obsluha s nízkou latencí
- Obsluha na zařízení nebo hraničních zařízeních.
- Více cloudů, například trénování modelu v jednom cloudu a jeho nasazení s druhým.
Další informace naleznete v tématu Puzzle AI Model Obsluha.
Úlohy
Úlohy Databricks umožňují automatizovat a plánovat libovolný typ úloh od ETL do ML. Databricks také podporuje integraci s oblíbenými orchestrátory třetích stran , jako je Airflow.
Složky Gitu
Platforma Databricks zahrnuje podporu Gitu v pracovním prostoru, která týmům pomáhá dodržovat osvědčené postupy softwarového inženýrství prováděním operací Gitu prostřednictvím uživatelského rozhraní. Správci a technici DevOps můžou pomocí rozhraní API set automatizaci pomocí svých oblíbených nástrojů CI/CD. Databricks podporuje jakýkoli typ nasazení Gitu, včetně privátních sítí.
Další informace o osvědčených postupech pro vývoj kódu pomocí složek Git Databricks najdete v pracovních postupech CI/CD s integrací Gitu a složkami Git Databricks a používání CI/CD. Tyto techniky společně s rozhraním Databricks REST API umožňují vytvářet automatizované procesy nasazení pomocí GitHub Actions, kanálů Azure DevOps nebo úloh Jenkinse.
Unity Catalog pro zásady správného řízení a zabezpečení
Platforma Databricks zahrnuje Unity Catalog, která správcům umožňuje set jemně odstupňované řízení přístupu, zásady zabezpečení a zásady správného řízení pro všechna data a prostředky AI napříč Databricks.