Sdílet prostřednictvím


Operace úloh AI v Azure

Při sestavování a převodu úloh umělé inteligence do produkčního prostředí je důležité, aby provozní týmy byly plně vybavené tak, aby tyto úlohy podporovaly stejně jako jakékoli jiné produkční úlohy. Vzhledem k tomu, že provozní týmy můžou mít omezené zkušenosti s technologiemi umělé inteligence, je nezbytné je natrénovat na tyto technologie a integrovat úlohy AI do svých pracovních postupů v rané fázi procesu. Spojte provozní a datové týmy v rané fázi vývoje úlohy umělé inteligence, abyste podpořili vzájemné porozumění procesům jednotlivých týmů. Tato časná spolupráce je zásadní, protože oba týmy musí úzce spolupracovat na efektivní podpoře úloh AI. Datové týmy závisejí na provozních týmech, aby poskytovaly spolehlivé signály stavu a výstrahy umožňující reagovat. Provozní týmy závisí na datových týmech, které pomáhají diagnostikovat potenciální problémy a řešit skutečné problémy podle provozních standardů. Toto partnerství pomáhá zajistit hladký a efektivní výkon systému.

Tato příručka obsahuje doporučení pro vývoj provozních mechanismů a postupů pro zlepšení podpory úloh AI. Zdůrazňuje efektivní spolupráci mezi provozními a datovými týmy.

Doporučení

Tady je souhrn doporučení uvedených v tomto článku.

Doporučení Popis
Monitorujte všechny aspekty úlohy. I když se na úlohy umělé inteligence vztahuje také řada obecných aspektů monitorování a pozorovatelnosti, je potřeba vzít v úvahu konkrétní aspekty, které je potřeba projít, abyste zajistili, že se celá úloha bude průběžně odpovídajícím způsobem monitorovat. Pokud chcete vytvořit strategii monitorování a pozorovatelnosti, možná budete muset pracovat v různých týmech, abyste získali správné znalosti a pokryli všechny relevantní režimy a metriky.

Rozšíření platformy pozorovatelnosti
Využijte postupy bezpečného nasazení pro úlohu AI. Proveďte kroky k zajištění nejvyšší úrovně bezpečnosti citlivých produkčních dat a zajištění souladu přístupů k nasazení s požadavky na nulové výpadky. V případě potřeby používejte vhodné nástroje a klademe důraz na to, aby se nástroje a procesy, které již existují, nevytvrazily. Často budete moct používat zavedené služby, abyste dosáhli vysoké efektivity a zároveň umožnili bezpečné nasazení.

Zahrnutí komponent úloh AI do postupů bezpečného nasazení
Osvojte si postupy DevOps při testování a automatizaci. Použijte postupy DevOps při sestavování, nasazování a provozu úloh AI v produkčním prostředí. Vaše úloha by měla umožňovat pozorovatelnost a testování s reálným uživatelským vstupem v produkčním prostředí. To lze poskytnout bezpečným způsobem, pouze pokud silný proces DevOps a zjednodušená automatizace umožňuje rychlé nasazení, opravy chyb a testování A/B.

Podpora testování v produkčním prostředí
Automatizace provozních postupů, pokud je to možné
Přijetí postupů DevOps
Zdokumentujte průběh. Vytvářejte dobré návyky dokumentace od začátku, abyste umožnili zachycení strategických rozhodnutí, historie změn a klíčových informací o datech, která vaše úloha používá.

Přijetí osvědčených postupů dokumentace

Rozšíření platformy pozorovatelnosti

K dosažení efektivity provozu je důležitá robustní pozorovatelnost. Když vaše organizace přijme technologie AI, je důležité vylepšit platformu pozorovatelnosti, která pomáhá zajistit komplexní monitorování stavu úloh. Organizace, které s AI novinkou nejsou, můžou v rámci svého provozního týmu chybět velké objemy dat, datové vědy a znalosti DataOps. Proto je trénování provozních osvědčených postupů důležitým prvním krokem ke zlepšení platformy pozorovatelnosti. Z tohoto důvodu by provozní a datové týmy měly spolupracovat na určení správných režimů monitorování a metrik pro zachycení a analýzu.

K vyhodnocení stavu modelu se vyžaduje komplexní přehled konkrétních metrik kvality. Měření kvality obvykle zahrnují metriky, jako je aktuálnost modelu, správnost výstupu a latence odezvy. Měli byste ale spolupracovat s datovými vědci a inženýry, abyste vytvořili konkrétní metriky, které definují kvalitu vaší úlohy. Nedeterministické povahy úloh umělé inteligence zajišťuje pozorné monitorování kvality zvlášť důležité, protože tato měření se po nasazení můžou neočekávaně měnit. Mezi doporučení pro pozorovatelnost patří:

  • Spolupracujte s datovými vědci a inženýry a určete metriky kvality.

  • Sestavte nebo rozšiřte řídicí panely, abyste posoudili celkový stav úlohy. Tento přístup by měl zahrnovat metriky dostupnosti komponent a metriky kvality.

  • Implementujte dobře navržená upozornění na dostupnost a kvalitu, které provozní týmy můžou pochopit a provádět s nimi akce.

  • Standardní provozní postupy, které definují, jak provozní týmy reagují na upozornění na kvalitu, jako je například práce s datovými týmy za účelem vyšetřování a nápravy potenciálních poruch.

  • Věnujte velkou pozornost metrikám využití, protože spouštění úloh AI může být náročné na náklady. Náklady se můžou rychle zvýšit, pokud tým úloh nevypíná, vertikálně snížit kapacitu nebo uvolnit prostředky, když se nepoužívají. Operace můžou pomoct zajistit, aby náklady zůstaly v rámci očekávaných parametrů monitorováním využití.

Zahrnutí komponent úloh AI do postupů bezpečného nasazení

Úlohy umělé inteligence závisí na produkčních datech, která často obsahují citlivé informace. Proto je důležité zachovat nejvyšší úroveň bezpečnosti těchto úloh. Pokud chcete lépe chránit data, rozšiřte postupy bezpečného nasazení tak, aby zahrnoval veškerý kód, který souvisí s komponentami AI vaší úlohy. Pokud máte požadavky na nulové výpadky pro úlohu, navrhněte přístup nasazení pro komponenty AI odpovídajícím způsobem.

  • Pro odvozování koncových bodů použijte modré zelené nebo kanárské nasazení s zrcadlení provozu nebo bez zrcadlení provozu v závislosti na modelu nasazení.

  • Pro poskytování indexů použijte model nasazení vedle sebe s aktualizacemi aliasů, které přeruší provoz.

  • V případě kódu orchestrace použijte příznaky funkcí nebo nasazení s modrou zelenou barvou.

V závislosti na vaší aplikaci, datové platformě a konkrétní topologii sítě možná budete muset použít řešení brány, jako je Aplikace Azure lication Gateway nebo Azure Front Door.

Nástroje

Azure Machine Learning nativně podporuje blue-green nasazení s integrovaným rozdělením provozu.

Neobjevujte znovu kolo

Vzhledem k tomu, že koncové body pro odvozování online jsou v podstatě mikroslužby, fungují jako plně samostatné komponenty úloh s vlastními daty a kódem, které v pracovním postupu obsluhují konkrétní funkci. Z tohoto důvodu zacházejte s koncovými body pro odvozování online jako s jinými důležitými mikroslužbami, které mají své vlastní životní cykly. Koncové body pro odvozování online můžete aktualizovat jednotlivě. Stejně jako jiné mikroslužby ve větší úloze ale musí bez problémů spolupracovat. Proto byste měli při nasazování aktualizací určit prioritu integračního testování. Ujistěte se, že vaše nasazení nemají negativní vliv na jiné služby, jako je obsluha modelu a orchestrátor. Alternativně jsou koncové body dávkového odvozování často úzce svázané s výpočetními prostředky zpracování úloh a jsou zahrnuty do datového kanálu. V těchto případech je můžete považovat za součást většího řešení, nikoli jako mikroslužby.

Podpora testování v produkčním prostředí

Provozní týmy pravděpodobně nenavrhnou nebo neprovedou testování úloh AI. Musí však podporovat testování úloh AI prostřednictvím monitorování, upozorňování a vyšetřování, protože testování je potřeba v produkčním prostředí. Vzhledem k nedeterministické povaze umělé inteligence je testování v produkčním prostředí nezbytné k zajištění toho, aby úloha v průběhu času fungovala podle očekávání. Provozní tým by měl úzce spolupracovat s týmem úloh za účelem efektivního zachycení a diagnostiky neobvyklých výsledků testů a podle provozních standardů. Aby bylo zajištěno, že operace podporují testování a že týmy úloh mohou provádět testování, musí obě týmy spolupracovat na svých procesech. Trénování testovacích aktivit v neprodukčních prostředích pomáhá týmu seznámit se s pořadím operací.

Automatizace provozních postupů, pokud je to možné

Automatizujte všechny provozní postupy související s úlohami, včetně monitorování, upozorňování a testování procesů. Automatizace je primární strategií pro zachování opakovatelných, efektivních a konzistentních procesů. Při návrhu strategií automatizace vyžadovat lidský dohled nad aktivitami, jako je správná diagnostika nekonzistence modelu a další signály kvality. To platí zejména pro počáteční verze. Procesy, které souvisejí s údržbou modelu, jsou pro provozní týmy nové, takže riziko nesprávných reakcí na signály kvality je v této fázi vyšší. S tím, jak vaše úlohy zraly, můžete být schopni pomocí automatizace identifikovat falešná alarmy s dobře navrženými branami kvality, ale dostat se do tohoto bodu může být dlouhý a složitý proces.

Pokud je to možné, znovu použijte existující automatizační nástroje k provádění nových úloh automatizace pro vaši úlohu AI. Pokud už například používáte Pracovní postupy Azure Pipelines nebo GitHubu, můžete je dál používat k nasazení kódu orchestrace místo použití samostatného nástroje. Vyhněte se však nadměrnému inženýrství v úsilí, aby používal pouze jeden automatizační nástroj. Pokud některé úkoly nebo úlohy nejsou pro zvolený nástroj vhodné, zvolte vhodnější nástroj místo vytváření vlastního řešení, které zvyšuje zbytečnou složitost.

Poznámka:

Aby bylo zatížení plně podporováno, vyžaduje se mnoho protínajících rolí a technologií. Data, infrastruktura, zabezpečení a provozní týmy jsou v určitém rozsahu závislé na automatizaci. Použijte co nejmenší možné nástroje a standardizujte je, abyste mohli strategii automatizace spravovat a snadněji trénovat.

Přijetí postupů DevOps

V rané fázi vývoje úloh standardizujte použití postupů DevOps ve vašich vývojových procesech. Pro všechna prostředí kromě prostředí sandboxu by měly přísně definované a vynucené standardy řídit celý životní cyklus vývoje. Vynucujte tyto standardy tím, že přísně zakážete všechny aktivity ručního nasazení. Všechna nasazení, ať už se jedná o aktualizace, opravy nebo nová nasazení prostředků, se musí provádět prostřednictvím kanálu kontinuální integrace a průběžného nasazování, který dodržuje postupy bezpečného nasazení. Mezi osvědčené postupy hygieny DevOps patří:

  • Správa verzí: Co nejvíce používejte správu verzí pro všechny prostředky kódu. Správaverzích Použití správy verzí u balíčků knihoven, včetně sad SDK a imagí kontejnerů Buďte konzistentní při používání konkrétních verzí balíčků knihoven v životním cyklu vývoje softwaru (SDLC). Různé verze knihoven, jako je XGBoost nebo scikit-learn v různých vývojových prostředích, můžou způsobit změny chování vaší úlohy. Totéž platí pro správu verzí modelu. Ujistěte se, že jsou verze modelu v rámci SDLC konzistentní, abyste neprotestovali jednu verzi modelu v předprodukčním prostředí a v produkčním prostředí uvolnili jinou verzi.

  • Jednoduché schéma pojmenování verzí: Použijte jednoduché schéma pojmenování verzí, které vám pomůže zajistit, abyste vždy používali nejnovější schválenou verzi daného prostředku. Prostředky specifické pro AI můžou zahrnovat:

    • Kód poznámkového bloku
    • Kód orchestrátoru.
    • Kód úlohy zpracování dat.
    • Kód úlohy Machine Learning
    • Model.
  • Nástroje, které můžete zprovoznit: Některé nástroje jsou vhodné pro experimentování, ale nejsou určené pro operacionalizaci. Toto omezení může znesnadnit nebo znemožnit jejich integraci do provozní automatizace. Poznámkové bloky jsou například dobrým nástrojem pro experimentování a průzkumnou analýzu dat, ale nejsou vhodným nástrojem pro vývoj produkčních kanálů. Po dokončení experimentování vytáhněte logiku z těchto nástrojů a vložte ji do balíčku Pythonu, který můžete použít pro kód úlohy.

Přijetí osvědčených postupů dokumentace

Dobré návyky dokumentace jsou důležité pro všechny typy úloh. Díky složitosti úloh umělé inteligence jsou tyto návyky ještě důležitější. Ujistěte se, že máte úložiště, které je specifické pro váš tým úloh, kde je dokumentace bezpečně uložená a řízená verzí. Stejně jako u jiných úloh byste měli dokumentovat standardní informace. Tyto standardní informace zahrnují všechny nástroje, které se používají v úlohách, konfiguracích zabezpečení, návrhech sítě a průvodcích nastavením. Zvažte dokumentaci následujících informací o úlohách specifických pro AI:

  • Trénování a zemnění informací o správě indexů dat modelu: Zdokumentujte zdroje dat, vlastník zdrojů dat, frekvenci aktualizace a eliminační procesy pro stanovení způsobu trénování modelu a zpracování podkladových dat.

  • Historie procesu trénování: Podrobně popisuje, jak jste se dostali k aktuální schválené konfiguraci, a to tak, že zdokumentujete, proč jste zvolili konkrétní hyperparametry, teploty, váhy a další parametry. Uveďte, jaké další konfigurace jste otestovali, a změny chování, které jste zaznamenali v průběhu trénování. Tyto informace pomáhají zabránit opakování neúspěšných nebo neefektivních konfigurací.

  • Informace o úložišti funkcí: Zdokumentujte, které funkce mají nejlepší prediktivní výkon a jak jste se rozhodli.

  • Konfigurace pracovní stanice datového vědce: Důkladně zdokumentujte konfigurace pracovních stanic, abyste zjednodušili proces onboardingu pro datové vědce. Zadejte potřebné knihovny a závislosti potřebné k používání prostředí Conda.

  • Informace o transformaci dat: Dokumentujte celý proces od začátku do konce, když dojde k transformaci dat. Zdokumentujte, jak se data zobrazují při příjmu dat a jak se zobrazují po transformaci.

Nástroje

Využijte výhod automatizované konfigurace a historie zachytávání prostřednictvím MLFlow a Strojového učení.

Další kroky