Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ AKS Automatic ✔️ AKS Standard
V tomto článku se dozvíte o operacích strojového učení (MLOps), včetně toho, jaké typy postupů a nástrojů se týkají, a dozvíte se, jak zjednodušit a urychlit pracovní postupy AI a strojového učení ve službě Azure Kubernetes Service (AKS).
Režimy clusteru AKS pro MLOps
AKS podporuje dva režimy clusteru: AKS Automatic a AKS Standard. AKS Automatic zvolte, pokud chcete základ připravený pro produkční nasazení s menšími nároky na následnou správu platformy. Pokud potřebujete hlubší kontrolu nad infrastrukturou clusteru a konfigurací platformy, zvolte AKS Standard.
Koncepty životního cyklu MLOps v tomto článku platí pro oba režimy. Odpovědnost za implementaci se ale liší podle režimu: AKS Automatic poskytuje více předkonfigurovaných výchozích hodnot, zatímco AKS Standard obvykle vyžaduje explicitnější konfiguraci platformy a vlastnictví životního cyklu.
| Area | AKS automatické | AKS Standard |
|---|---|---|
| Nastavení výchozího clusteru | Další předkonfigurované výchozí hodnoty | Explicitnější možnosti nastavení |
| Operace systémové skupiny uzlů | Další chování spravované službou | Další chování spravované operátorem |
| Ovládací prvky standardních hodnot zabezpečení | V běžných scénářích je předkonfigurováno několik ovládacích prvků. | Kontroly jsou běžně zaváděny a udržovány operátory. |
| Základní konfigurace sítě | Přednastavené výchozí hodnoty pro běžné postupy | Širší flexibilita konfigurace sítě |
| Provoz a aktualizace | Více spravované provozní chování | Další chování řízené operátorem |
| Zaměření implementace MLOps | Ověřte, spravujte a vyladťe výchozí nastavení | Návrh a konfigurace ovládacích prvků platformy |
Co je MLOps?
Operace strojového učení (MLOps) zahrnují postupy, které usnadňují spolupráci mezi odborníky na data, provozem IT a obchodními účastníky a zajišťují efektivní vývoj, nasazení a údržbu modelů strojového učení. MLOps aplikuje principy DevOps na projekty strojového učení, jejichž cílem je automatizovat a zjednodušit kompletní životní cyklus strojového učení. Tento životní cyklus zahrnuje trénování, balení, ověřování, nasazování, monitorování a opětovné trénování modelů.
MLOps vyžaduje, aby efektivně spolupracovalo několik rolí a nástrojů. Datoví vědci se zaměřují na úlohy související s trénováním modelu, který se označuje jako vnitřní smyčka. Technici strojového učení a provozní týmy IT zpracovávají vnější smyčku, kde používají postupy DevOps k balení, ověřování, nasazování a monitorování modelů. Pokud model potřebuje jemně doladit nebo přetrénovat, proces se vrátí zpět do vnitřní smyčky.
Tyto kroky životního cyklu jsou konzistentní napříč režimy clusteru AKS. Hlavní rozdíl spočívá v tom, jak velkou část nastavení platformy a provozní konfigurace vaše týmy spravují přímo.
Kanál MLOps
Vaše MLOps pipeline může využívat různé nástroje a mikroslužby, které jsou nasazovány postupně nebo paralelně. Níže jsou uvedeny příklady klíčových komponent ve vašem zpracovatelském systému, které těží z implementace následujících osvědčených postupů, abyste snížili režii a umožnili tak rychlejší iteraci.
- Nestrukturované úložiště dat pro nové toky dat do vaší aplikace
- Vektorová databáze pro ukládání a dotazování strukturovaných, předem zpracovaných dat
- Architektura pro příjem dat a indexování
- Pracovní postupy pro příjem vektorů a/nebo přeškolení modelu
- Nástroje pro shromažďování metrik a upozorňování (sledování výkonu modelu, objem přijatých dat atd.)
- Nástroje pro správu životního cyklu
Tyto součásti kanálu jsou relevantní pro AKS Automatic i AKS Standard. Volba režimu ovlivňuje především hranice vlastnictví platformy spíše než účel kanálu.
DevOps a MLOps
DevOps je kombinace nástrojů a postupů, které umožňují vytvářet robustní a reprodukovatelné aplikace. Cílem použití DevOps je rychle poskytovat hodnotu koncovým uživatelům. Hlavním cílem MLOps je vytváření, nasazování a monitorování robustních a reprodukovatelných modelů, které koncovým uživatelům poskytují hodnotu.
Pro MLOps jsou nezbytné tři procesy:
- Úlohy strojového učení , za které je zodpovědný datový vědec, včetně průzkumné analýzy dat (EDA), přípravy funkcí a trénování a ladění modelů.
- Postupy vývoje softwaru , včetně plánování, vývoje, testování a balení modelu pro nasazení
- Provozní aspekty nasazení a údržby modelu v produkčním prostředí, včetně uvolnění, konfigurace prostředků a monitorování modelu.
V AKS Automatic mohou týmy často vynakládat méně úsilí na běžné nastavení platformy a více na orchestraci zásad, kvality a životního cyklu modelů. V AKS Standard týmy obvykle provádějí explicitnější návrh a konfiguraci platformy.
Principy DevOps, které se vztahují na MLOps
MLOps využívá několik principů z DevOps k vylepšení životního cyklu strojového učení, jako je automatizace, kontinuální integrace a doručování (CI/CD),správa zdrojového kódu, agilní plánování a infrastruktura jako kód (IaC).
Automation
Automatizací úloh můžete snížit ruční chyby, zvýšit efektivitu a zajistit konzistenci v rámci životního cyklu ML. Automatizaci je možné použít v různých fázích, včetně shromažďování dat, trénování modelu, nasazení a monitorování. Prostřednictvím automatizace můžete také použít opatření v procesu AI, abyste proaktivně zajistili, že data splňují zásady vaší organizace.
Pracovní postup může například automatizovat:
- Ladění a přetrénování modelů v pravidelných časových intervalech nebo při shromažďování určitého množství nových dat ve vaší aplikaci
- Detekce snížení výkonu za účelem zahájení jemného ladění nebo opětovného natrénování na jiné podmnožině dat
- Skenování základních kontejnerových imagí stažených z externích registrů kontejnerů na běžné zranitelnosti a ohrožení (CVE) za účelem zajištění bezpečných postupů zabezpečení.
V obou režimech clusteru AKS zahrňte kromě spouštěčů kvality modelu také automatizaci pro ověřování zásad, detekci odchylek konfigurace a řízení vydávání.
Kontinuální integrace (CI)
Kontinuální integrace se zabývá vytvářením a ověřováním aspektů procesu vývoje modelu. Cílem CI je vytvořit kód a ověřit kvalitu kódu a modelu před nasazením. To zahrnuje testování řady ukázkových datových sad, aby se zajistilo, že model funguje podle očekávání a splňuje standardy kvality.
V rámci MLOps může CI zahrnovat:
- Refaktoring průzkumného kódu v poznámkových blocích Jupyter do skriptů v Pythonu nebo R
- Ověřování nových vstupních dat pro chybějící nebo chybové hodnoty
- Jednotkové testování a integrační testování v kompletním end-to-end kanálu
K testování lintování a jednotek můžete použít automatizační nástroje, jako je Azure Pipelines v Azure DevOps nebo GitHub Actions.
V AKS Automatic CI běžně ověřuje artefakty vůči očekávaným výchozím nastavením platformy. V AKS Standard CI často ověřuje předpoklady vůči explicitně nakonfigurovanému nastavení platformy.
Průběžné doručování (CD)
Průběžné doručování zahrnuje kroky potřebné k bezpečnému nasazení modelu v produkčním prostředí. Prvním krokem je zabalení a nasazení modelu v předprodukčním prostředí, jako jsou vývojová a testovací prostředí. Přenositelnost parametrů, hyperparametrů a dalších artefaktů modelu je důležitým aspektem údržby při propagaci kódu v těchto prostředích. Tato přenositelnost je obzvláště důležitá, pokud jde o velké jazykové modely (LLM) a stabilní modely difúze. Jakmile model projde testy jednotek a testy kontroly kvality (QA), můžete ho schválit pro nasazení v produkčním prostředí.
Postupy povýšení jsou v obou režimech clusteru AKS podobné, ale kanály AKS Standard před vydáním často obsahují více ověřování specifické pro infrastrukturu.
Správa zdrojového kódu
Správa zdrojového kódu nebo správy verzí je nezbytná pro správu změn kódu a modelů. V systému ML se to týká správy verzí dat, správy verzí kódu a správy verzí modelu, které umožňují týmům křížového fungování efektivně spolupracovat a sledovat změny v průběhu času. Použití systému správy zdrojového kódu založeného na Gitu, jako je Azure Repos v Azure DevOps nebo v úložišti GitHub, umožňuje programově udržovat historii změn, vrátit se k předchozím verzím a spravovat větve pro různé experimenty.
Agilní plánování
Agilní plánování zahrnuje izolování práce do sprintů, což jsou krátké časové rámce pro dokončení konkrétních úkolů. Tento přístup umožňuje týmům rychle přizpůsobit změny a zajistit přírůstková vylepšení modelu. Trénování modelu může být probíhající proces a agilní plánování může pomoct určit rozsah projektu a umožnit lepší sladění týmu.
Ke správě agilního plánování můžete použít nástroje, jako je Azure Boards v Azure DevOps nebo GitHub .
Infrastruktura jako kód (IaC)
Infrastrukturu použijete jako kód k opakování a automatizaci infrastruktury potřebné k trénování, nasazování a obsluhování modelů. V systému ML pomáhá IaC zjednodušit a definovat odpovídající prostředky Azure potřebné pro konkrétní typ úlohy v kódu a kód se udržuje v úložišti. To vám umožní podle potřeby řídit infrastrukturu verzí a provádět změny pro optimalizaci prostředků, nákladovou efektivitu atd.
V AKS Automatic se IaC běžně zaměřuje na definice úloh, mechanismy správy a řízení a konzistenci prostředí. V AKS Standard IaC často zahrnuje širší explicitní konfiguraci clusteru a platformy.
Související obsah
V následujících článcích najdete informace o osvědčených postupech MLOps v inteligentních aplikacích v AKS: