Objevte obchodní hodnotu použití postupů DevOps na strojové učení.

Dokončeno

V této lekci probereme důležitost operací strojového učení (MLOps). MLOps používá metodologii DevOps (vývoj a provoz) ke správě životního cyklu strojového učení efektivněji. Umožňuje agilnější a produktivní spolupráci v týmech umělé inteligence mezi všemi zúčastněnými stranami. Mezi tyto spolupráce patří datoví vědci, technici umělé inteligence, vývojáři aplikací a další IT týmy.

Existuje mnoho dostupných produktů, které týmům pomůžou implementovat MLOps. Microsoft nabízí Azure Machine Učení, Azure DevOps a GitHub.

Procesy a nástroje MLOps pomáhají těmto týmům spolupracovat a poskytovat přehled prostřednictvím sdílené a auditovatelné dokumentace. Technologie MLOps umožňují ukládat a sledovat změny všech prostředků, jako jsou data, kód, modely a další nástroje. Tyto technologie také můžou vytvářet efektivity a zrychlit životní cyklus pomocí automatizace, opakovatelných pracovních postupů a opakovaně použitelných prostředků. Všechny tyto postupy usnadňují agilnější a efektivnější projekty umělé inteligence.

Reprodukovatelnost modelů

Během počátečního iterativního trénování a pozdějšího opětovného trénování modelu existuje několik věcí, které můžou složitější proces lépe spravovat. Jedním z nich je zachování reprodukovatelnosti modelů, což znamená, že je může snadno spustit na stejné datové sadě libovolný člen týmu se stejnými nebo podobnými výsledky. Reprodukovatelnost se dosahuje dokumentací procesů a sdílením prostředků.

Za prvé je užitečné centrálně spravovat prostředky , jako jsou prostředí, kód, datové sady a modely, aby je týmy mohly sdílet a opakovaně používat.

  • Registr modelů: Když týmy experimentují s různými verzemi modelu, poskytuje registr modelů centrální místo pro uložení jednotlivých verzí. S registrem se týmy můžou snadno vrátit k předchozí verzi, pokud něco nefunguje, i když řešení přejde do produkčního prostředí. Registr modelů slouží také jako záznam auditu pro historii jednotlivých modelů.
  • Správa kódu: Pracovníci s rozhodovací pravomocí musí určit, které technologie a procesy budou týmy používat ke správě kódu. To obecně zahrnuje úložiště kódu, jako je GitHub, kde je možné kód ukládat, spravovat verze, sdílet a opakovaně používat. Obsahuje také nástroje pro použití a správu verzí kódu.
  • Správa datových sad: Doporučujeme také ukládat trénovací datové sady centrálně. Díky tomu je týmy můžou opakovaně používat, sdílet je s kolegy nebo sledovat, jak se mění v průběhu času, aby mohly spravovat odchylky.

A screenshot of a graph showing MLOps practices: data scientists and IT work together on model reproducibility, validation, deployment, and retraining.

  • Sdílená prostředí: Vytvořte modelová prostředí, která se dají sdílet mezi jednotlivci. To zjednodušuje předání mezi kroky v procesu vytváření modelu a umožňuje týmům spolupracovat na určitých krocích.

Za druhé doporučujeme automatizovat úlohy pomocí kanálů strojového učení. Kanál je pracovní postup kompletních výpočetních úloh, které je možné spouštět nezávisle. Ve strojovém učení může kanál automatizovat přípravu dat, konfiguraci trénování, trénovací procesy nebo ověřování modelu. Kanály šetří náklady a čas pro datové vědce pokaždé, když potřebují iterovat část životního cyklu strojového učení.

Ověření modelu

Před nasazením modelu je důležité ověřit metriky výkonu. Můžete mít několik metrik, které slouží k označení "nejlepšího" modelu. Je důležité pracovat s datovými vědci, abyste pochopili, jaké metriky jsou důležité, a vyhodnotit je před nasazením. Existují nástroje pro vyhodnocení metrik modelu, například funkce ztráty nebo konfuzní matice.

Metriky obvykle porovnávají, co model predikoval, s tím, co by měl předpovědět (skutečnou hodnotu nebo základní pravdu). Celkově se zaměřujeme na maximalizaci pravdivě pozitivních a pravdivě negativních hodnot. To znamená, že model úspěšně předpovídá hodnoty true. Stejně důležité je vyhnout se falešně pozitivním a falešně negativním výsledkům, tj. nesprávným předpovědím a zmeškaným předpovědím.

Je důležité ověřit metriky výkonu v případě obchodního použití. Možná jste například navrhli model pro predikci stavu pacienta. Jako poskytovatel zdravotní péče, který se zabývá životními a smrtelnými situacemi, pravděpodobně dáváte přednost falešně pozitivní diagnostice, a ne neuvěřitelně vysokou míru přesnosti, která vynechává diagnostiku.

Pokud je model novější verzí existujícího modelu, musíte zjistit, jestli funguje lépe než předchozí verze s klíčovými metrikami.

A screenshot of a graph showing a confusion matrix with predicted and true labels. Alignment of true and predicted values indicates high accuracy.

Nasazení modelu

Existuje několik možností nasazení modelu do produkčního prostředí. Datoví vědci a technici umělé inteligence musí spolupracovat, aby zjistili nejlepší možnost pro každý případ.

  • Cloud: Jednou z možností je nasazení modelů pomocí cloudu, často využití aplikačního programovacího rozhraní (API). Existují škálovatelné nástroje pro automatizaci a zjednodušení tohoto procesu, jako je Kubernetes nebo Azure Container Instances.
  • Místní: Modely je také možné nasadit přímo na místní server na vlastních serverech organizace.
  • Edge: Je také možné nasazovat modely na hraniční zařízení, jako jsou kamery, drony a stroje. Tato možnost může být užitečná ve scénářích IoT.

Bez ohledu na to, kam model nasadíte, je pracovní postup podobný. Nejprve zaregistrujete model v registru modelů. Pak se připravíte k nasazení modelu zadáním prostředků, využití a cílového výpočetního objektu. Nakonec ho nasadíte do požadovaného umístění, otestujete ho a budete dál monitorovat metriky specifické pro model v průběhu životního cyklu.

Přeučení modelů

I když se jedná o konec procesu vývoje, jedná se pouze o začátek cyklu údržby. Modely je potřeba monitorovat a pravidelně přetrénovat, aby se opravovaly problémy s výkonem a využívaly novější trénovací data. Pokud si chcete nastavit úspěch, chcete vytvořit smyčku opětovného trénování – nebo systematický a iterativní proces, který bude průběžně upřesňovat a zajišťovat přesnost modelu.

Tento proces se může zdát příliš komplikovaný. Mějte na paměti, že se dá výrazně zjednodušit pomocí předem připravených modelů. Nástroje MLOps, jako je Azure Machine Učení nemusí být nutně naplněné vlastními modely, přijímají také předem připravené modely. V tomto smyslu je služba Azure AI Services skvělou alternativou, protože nabízí rychlejší výsledky s méně potřebnými odbornými znalostmi datových věd.

V další lekci si probereme příležitosti služeb Azure AI.