MLOps: DevOps ve světě strojového učení

V roce 2018 se v odborných kruzích a na tematických konferencích věnovaných AI objevil koncept MLOps, který se v oboru rychle uchytil a nyní se rozvíjí jako samostatný směr. V budoucnu se MLOps může stát jednou z nejoblíbenějších oblastí v IT. Co to je a s čím se jí? Pojďme to zjistit níže.

MLOps: DevOps ve světě strojového učení

Co je MLOps

MLOps (kombinující technologie a procesy strojového učení a přístupy k implementaci vyvinutých modelů do podnikových procesů) je nový způsob spolupráce mezi obchodními zástupci, vědci, matematiky, specialisty na strojové učení a IT inženýry při vytváření systémů umělé inteligence.

Jinými slovy, je to způsob, jak přeměnit metody a technologie strojového učení na užitečný nástroj pro řešení obchodních problémů. 

Je nutné pochopit, že řetězec produktivity začíná dlouho před vývojem modelu. Jeho prvním krokem je definování obchodního problému, hypotézy o hodnotě, kterou lze z dat extrahovat, a obchodního nápadu pro její použití. 

Samotný koncept MLOps vznikl jako obdoba konceptu DevOps ve vztahu k modelům a technologiím strojového učení. DevOps je přístup k vývoji softwaru, který umožňuje zvýšit rychlost implementace jednotlivých změn při zachování flexibility a spolehlivosti pomocí řady přístupů, včetně průběžného vývoje, rozdělení funkcí do řady nezávislých mikroslužeb, automatizovaného testování a nasazení jednotlivých změny, globální monitorování zdravotního stavu, systém rychlé reakce na zjištěné poruchy atd. 

DevOps definoval životní cyklus softwaru a komunita přišla s nápadem použít stejnou metodologii na velká data. DataOps je pokus o přizpůsobení a rozšíření metodiky s ohledem na vlastnosti ukládání, přenosu a zpracování velkého množství dat na různých a interoperabilních platformách.
  
S příchodem určitého kritického množství modelů strojového učení implementovaných do obchodních procesů podniků byla zaznamenána silná podobnost mezi životním cyklem modelů matematického strojového učení a životním cyklem softwaru. Jediný rozdíl je v tom, že modelové algoritmy jsou vytvářeny pomocí nástrojů a metod strojového učení. Proto přirozeně vznikl nápad aplikovat a adaptovat již známé přístupy k vývoji softwaru pro modely strojového učení. V životním cyklu modelů strojového učení lze tedy rozlišit následující klíčové fáze:

  • definování podnikatelského nápadu;
  • modelový výcvik;
  • testování a implementace modelu do podnikového procesu;
  • provoz modelu.

Když je během provozu potřeba model změnit nebo přetrénovat na nová data, cyklus se spustí znovu – model se zpřesní, otestuje a nasadí se nová verze.

Ústraní. Proč se rekvalifikovat a nerekvalifikovat? Pojem „rekvalifikace modelu“ má dvojí význam: mezi odborníky znamená defekt modelu, kdy model dobře predikuje, ve skutečnosti opakuje predikovaný parametr na trénovací množině, ale na externím vzorku dat si vede mnohem hůře. Takový model je přirozeně vadou, protože tato vada neumožňuje jeho použití.

V tomto životním cyklu se zdá logické používat nástroje DevOps: automatizované testování, nasazení a monitorování, navrhování modelových výpočtů ve formě samostatných mikroslužeb. Existuje však také řada funkcí, které brání přímému použití těchto nástrojů bez dodatečné vazby ML.

MLOps: DevOps ve světě strojového učení

Jak zajistit, aby modely fungovaly a byly ziskové

Jako příklad, na kterém si ukážeme použití přístupu MLOps, si vezmeme klasický úkol robotizace chatové podpory pro bankovní (nebo jakýkoli jiný) produkt. Obchodní proces podpory chatu obvykle vypadá takto: klient zadá zprávu s otázkou do chatu a obdrží odpověď od specialisty v rámci předem definovaného dialogového stromu. Úkol automatizace takového chatu se obvykle řeší pomocí odborně definovaných souborů pravidel, jejichž vývoj a údržba je velmi pracná. Účinnost takové automatizace může být v závislosti na úrovni složitosti úkolu 20–30 %. Přirozeně vzniká myšlenka, že je výhodnější implementovat modul umělé inteligence – model vyvinutý pomocí strojového učení, který:

  • je schopen zpracovat větší množství požadavků bez účasti operátora (v závislosti na tématu může v některých případech dosahovat efektivita 70–80 %);
  • lépe se přizpůsobuje nestandardním formulacím v dialogu - je schopen na základě nejasně formulovaného požadavku určit záměr, skutečné přání uživatele;
  • ví, jak určit, kdy je odpověď modelu přiměřená a kdy existují pochybnosti o „vědomosti“ této odpovědi a potřebujete položit další upřesňující otázku nebo přejít na operátora;
  • lze dodatečně trénovat automaticky (místo toho, aby skupina vývojářů neustále přizpůsobovala a opravovala skripty odpovědí, je model navíc trénován specialistou na Data Science pomocí příslušných knihoven strojového učení). 

MLOps: DevOps ve světě strojového učení

Jak zařídit, aby takový pokročilý model fungoval? 

Jako u řešení každého jiného problému je před vývojem takového modulu nutné definovat obchodní proces a formálně popsat konkrétní úkol, který budeme pomocí metody strojového učení řešit. V tomto okamžiku začíná proces operacionalizace, označený zkratkou Ops. 

Dalším krokem je, že Data Scientist ve spolupráci s Data Engineerem zkontroluje dostupnost a dostatečnost dat a obchodní hypotézu o životaschopnosti podnikatelského nápadu, vytvoří prototypový model a otestuje jeho skutečnou efektivitu. Teprve po potvrzení ze strany podniku může začít přechod od vývoje modelu k jeho integraci do systémů, které provádějí konkrétní obchodní proces. Úplné plánování implementace, hluboké porozumění v každé fázi toho, jak bude model používán a jaký ekonomický efekt přinese, je základním bodem v procesech zavádění přístupů MLOps do technologického prostředí společnosti.

S rozvojem technologií umělé inteligence se exponenciálně zvyšuje počet a rozmanitost problémů, které lze vyřešit pomocí strojového učení. Každý takový obchodní proces je pro společnost úsporou díky automatizaci práce hromadných zaměstnanců (call centrum, kontrola a třídění dokladů atd.), jde o rozšíření klientské základny o nové atraktivní a pohodlné funkce, je úspora peněz díky optimálnímu využití a přerozdělení zdrojů a mnoho dalšího. V konečném důsledku je jakýkoli proces zaměřen na vytváření hodnoty a ve svém důsledku musí přinášet určitý ekonomický efekt. Zde je velmi důležité jasně formulovat podnikatelskou myšlenku a vypočítat očekávaný zisk z implementace modelu do celkové struktury tvorby hodnoty firmy. Jsou situace, kdy se implementace modelu neospravedlňuje a čas strávený specialisty na strojové učení je mnohem dražší než pracoviště operátora provádějícího tento úkol. Proto je nutné pokusit se takové případy identifikovat v raných fázích vytváření systémů AI.

V důsledku toho modely začnou generovat zisk pouze tehdy, když je obchodní problém správně formulován v procesu MLOps, jsou stanoveny priority a proces zavádění modelu do systému je formulován v raných fázích vývoje.

Nový proces – nové výzvy

Obecná otázka důvěry v AI je komplexní odpovědí na základní obchodní otázku, jak použitelné modely ML k řešení problémů, je jednou z klíčových výzev v procesu vývoje a implementace přístupů MLOps. Zpočátku jsou podniky k zavádění strojového učení do procesů skeptické – je obtížné spoléhat se na modely v místech, kde dříve zpravidla lidé pracovali. Pro podniky se programy jeví jako „černá skříňka“, jejíž relevanci je třeba ještě prokázat. Navíc v bankovnictví, v podnikání telekomunikačních operátorů a dalších existují přísné požadavky státních regulátorů. Všechny systémy a algoritmy, které jsou implementovány v bankovních procesech, podléhají auditu. Aby se tento problém vyřešil, aby se podnikům a regulátorům prokázala platnost a správnost reakcí umělé inteligence, zavádějí se spolu s modelem monitorovací nástroje. Kromě toho existuje nezávislý ověřovací postup povinný pro regulační modely, který splňuje požadavky centrální banky. Nezávislá expertní skupina kontroluje výsledky získané modelem s přihlédnutím ke vstupním datům.

Druhou výzvou je posouzení a zohlednění rizik modelu při implementaci modelu strojového učení. I když člověk nedokáže se stoprocentní jistotou odpovědět na otázku, zda ty samé šaty byly bílé nebo modré, pak má umělá inteligence také právo na chybu. Rovněž stojí za zvážení, že data se mohou v průběhu času měnit a modely je třeba přeškolit, aby poskytly dostatečně přesný výsledek. Aby se zajistilo, že obchodní proces neutrpí, je nutné řídit rizika modelu a sledovat výkon modelu a pravidelně jej přeškolovat na nová data.

MLOps: DevOps ve světě strojového učení

Jenže po první fázi nedůvěry se začíná dostavovat opačný efekt. Čím více modelů je úspěšně implementováno do procesů, tím více roste chuť podniků využívat umělou inteligenci – objevují se nové a nové problémy, které lze řešit pomocí metod strojového učení. Každý úkol spouští celý proces, který vyžaduje určité kompetence:

  • datoví inženýři připravují a zpracovávají data;
  • datoví vědci používají nástroje strojového učení a vyvíjejí model;
  • IT implementuje model do systému;
  • Technik ML určuje, jak správně integrovat tento model do procesu, jaké IT nástroje použít, v závislosti na požadavcích na režim aplikace modelu, s přihlédnutím k toku požadavků, době odezvy atd. 
  • Architekt ML navrhuje, jak lze softwarový produkt fyzicky implementovat v průmyslovém systému.

Celý cyklus vyžaduje velké množství vysoce kvalifikovaných odborníků. V určité fázi vývoje a míry pronikání modelů ML do podnikových procesů se ukazuje, že lineární škálování počtu specialistů úměrně nárůstu počtu úkolů se stává drahým a neefektivním. Vyvstává tedy otázka automatizace procesu MLOps – definování několika standardních tříd problémů strojového učení, vývoj standardních kanálů pro zpracování dat a dodatečné školení modelů. V ideálním případě řešení takových problémů vyžaduje profesionály, kteří jsou stejně zdatní v kompetencích na pomezí Big Data, Data Science, DevOps a IT. Největším problémem v oboru datové vědy a největší výzvou v organizaci procesů MLOps je proto nedostatek takové kompetence na stávajícím trhu školení. Specialisté, kteří tyto požadavky splňují, jsou v současnosti na trhu práce vzácní a mají cenu zlata.

K otázce kompetencí

Teoreticky lze všechny úlohy MLOps řešit pomocí klasických nástrojů DevOps a bez použití specializovaného rozšíření modelu role. Pak, jak jsme uvedli výše, datový vědec musí být nejen matematik a datový analytik, ale také guru celého potrubí - je zodpovědný za vývoj architektury, programování modelů v několika jazycích v závislosti na architektuře, přípravu datový trh a nasazení samotné aplikace. Vytvoření technologického rámce implementovaného v end-to-end procesu MLOps však vyžaduje až 80 % mzdových nákladů, což znamená, že kvalifikovaný matematik, který je kvalitním Data Scientistem, bude své specializaci věnovat pouze 20 % svého času. . Vymezení rolí specialistů zapojených do procesu implementace modelů strojového učení se proto stává zásadní. 

Jak podrobně by měly být role vymezeny, závisí na velikosti podniku. Jedna věc je, když má startup jednoho specialistu, tvrdého pracovníka v energetické rezervě, kterým je jeho vlastní inženýr, architekt a DevOps. Zcela jiná věc je, když se ve velkém podniku všechny procesy vývoje modelu soustředí na několik vysoce postavených specialistů Data Science, zatímco programátor nebo databázový specialista – běžnější a méně nákladná kompetence na trhu práce – může na většinu práce.rutinní úkoly.

Rychlost a kvalita vyvinutých modelů, produktivita týmu a mikroklima v něm tedy přímo závisí na tom, kde leží hranice ve výběru specialistů na podporu procesu MLOps a jak je organizován proces operacionalizace vyvinutých modelů. .

Co už náš tým dokázal

Nedávno jsme začali budovat kompetenční strukturu a procesy MLOps. Ale naše projekty týkající se správy životního cyklu modelu a používání modelů jako služby jsou již ve fázi testování MVP.

Stanovili jsme také optimální kompetenční strukturu pro velký podnik a organizační strukturu interakce mezi všemi účastníky procesu. Byly zorganizovány agilní týmy pro řešení problémů pro celou řadu firemních zákazníků a byl zaveden proces interakce s projektovými týmy za účelem vytvoření platforem a infrastruktury, který je základem budované budovy MLOps.

Otázky do budoucna

MLOps je rostoucí oblast, která se potýká s nedostatkem kompetencí a v budoucnu nabere na síle. Mezitím je nejlepší stavět na vývoji a postupech DevOps. Hlavním cílem MLOps je efektivněji využívat modely ML k řešení obchodních problémů. To ale vyvolává mnoho otázek:

  • Jak zkrátit čas uvedení modelů do výroby?
  • Jak snížit byrokratické třenice mezi týmy různých kompetencí a zvýšit zaměření na spolupráci?
  • Jak sledovat modely, spravovat verze a organizovat efektivní monitorování?
  • Jak vytvořit skutečně kruhový životní cyklus pro moderní model ML?
  • Jak standardizovat proces strojového učení?

Odpovědi na tyto otázky do značné míry určí, jak rychle MLO dosáhnou svého plného potenciálu.

Zdroj: www.habr.com

Přidat komentář