MLOps: DevOps vo svete strojového učenia

V roku 2018 sa v odborných kruhoch a na tematických konferenciách venovaných AI objavil koncept MLOps, ktorý sa v odvetví rýchlo udomácnil a teraz sa rozvíja ako samostatný smer. V budúcnosti sa MLOps môže stať jednou z najpopulárnejších oblastí v IT. Čo to je a s čím sa jedáva? Poďme zistiť nižšie.

MLOps: DevOps vo svete strojového učenia

Čo je MLOps

MLOps (spojenie technológií a procesov strojového učenia a prístupov k implementácii vyvinutých modelov do podnikových procesov) je nový spôsob spolupráce medzi obchodnými zástupcami, vedcami, matematikmi, špecialistami na strojové učenie a IT inžiniermi pri vytváraní systémov umelej inteligencie.

Inými slovami, je to spôsob, ako premeniť metódy a technológie strojového učenia na užitočný nástroj na riešenie obchodných problémov. 

Je potrebné pochopiť, že reťazec produktivity začína dlho pred vývojom modelu. Prvým krokom je definovanie obchodného problému, hypotézy o hodnote, ktorú možno z údajov získať, a obchodného nápadu na jej uplatnenie. 

Samotný koncept MLOps vznikol ako analógia konceptu DevOps vo vzťahu k modelom a technológiám strojového učenia. DevOps je prístup k vývoju softvéru, ktorý umožňuje zvýšiť rýchlosť implementácie jednotlivých zmien pri zachovaní flexibility a spoľahlivosti pomocou množstva prístupov vrátane neustáleho vývoja, rozdelenia funkcií do množstva nezávislých mikroslužieb, automatizovaného testovania a nasadzovania jednotlivých zmeny, globálne monitorovanie zdravotného stavu, systém rýchlej reakcie na zistené poruchy a pod. 

DevOps definoval životný cyklus softvéru a komunita prišla s myšlienkou použiť rovnakú metodológiu na veľké dáta. DataOps je pokus o prispôsobenie a rozšírenie metodiky s prihliadnutím na vlastnosti ukladania, prenosu a spracovania veľkého množstva údajov na rôznych a interoperabilných platformách.
  
S príchodom určitého kritického množstva modelov strojového učenia implementovaných do obchodných procesov podnikov sa zaznamenala silná podobnosť medzi životným cyklom modelov matematického strojového učenia a životným cyklom softvéru. Jediný rozdiel je v tom, že modelové algoritmy sú vytvorené pomocou nástrojov a metód strojového učenia. Preto prirodzene vznikla myšlienka aplikovať a prispôsobiť už známe prístupy k vývoju softvéru pre modely strojového učenia. V životnom cykle modelov strojového učenia teda možno rozlíšiť tieto kľúčové fázy:

  • definovanie podnikateľského nápadu;
  • modelový tréning;
  • testovanie a implementácia modelu do podnikového procesu;
  • prevádzka modelu.

Keď počas prevádzky vznikne potreba zmeniť alebo preškoliť model na nové dáta, cyklus sa spustí odznova – model sa spresní, otestuje a nasadí sa nová verzia.

Ustúpiť. Prečo sa rekvalifikovať a nerekvalifikovať? Pojem „pretrénovanie modelu“ má dvojaký význam: medzi odborníkmi znamená poruchu modelu, keď model dobre predpovedá, v skutočnosti zopakuje predpovedaný parameter na trénovacej množine, ale na vzorke externých údajov funguje oveľa horšie. Prirodzene, takýto model je chybou, pretože táto chyba neumožňuje jeho použitie.

V tomto životnom cykle sa zdá logické použiť nástroje DevOps: automatizované testovanie, nasadenie a monitorovanie, navrhovanie modelových výpočtov vo forme samostatných mikroslužieb. Existuje však aj množstvo funkcií, ktoré bránia priamemu použitiu týchto nástrojov bez dodatočnej väzby ML.

MLOps: DevOps vo svete strojového učenia

Ako dosiahnuť, aby modely fungovali a boli ziskové

Ako príklad, na ktorom si ukážeme využitie prístupu MLOps, si vezmeme klasickú úlohu robotizácie chatovej podpory pre bankový (alebo akýkoľvek iný) produkt. Obchodný proces podpory chatu zvyčajne vyzerá takto: klient zadá do chatu správu s otázkou a dostane odpoveď od špecialistu v rámci preddefinovaného dialógového stromu. Úloha automatizácie takéhoto chatu sa zvyčajne rieši pomocou odborne definovaných súborov pravidiel, ktorých vývoj a udržiavanie je veľmi náročné na prácu. Účinnosť takejto automatizácie môže byť v závislosti od úrovne zložitosti úlohy 20–30%. Prirodzene vzniká myšlienka, že je výhodnejšie implementovať modul umelej inteligencie - model vyvinutý pomocou strojového učenia, ktorý:

  • je schopný spracovať väčší počet požiadaviek bez účasti operátora (v závislosti od témy môže v niektorých prípadoch dosahovať efektivita 70–80 %);
  • lepšie sa prispôsobuje neštandardným formuláciám v dialógu – dokáže na základe nejasne formulovanej požiadavky určiť zámer, skutočnú túžbu používateľa;
  • vie, ako určiť, kedy je odpoveď modelu primeraná a kedy existujú pochybnosti o „vedomosti“ o tejto odpovedi a potrebujete položiť ďalšiu objasňujúcu otázku alebo prejsť na operátora;
  • môže byť dodatočne trénovaný automaticky (namiesto toho, aby skupina vývojárov neustále prispôsobovala a opravovala skripty odpovedí, model je dodatočne trénovaný odborníkom na Data Science pomocou vhodných knižníc strojového učenia). 

MLOps: DevOps vo svete strojového učenia

Ako dosiahnuť, aby takýto pokročilý model fungoval? 

Ako pri riešení každého iného problému, pred vývojom takéhoto modulu je potrebné definovať biznis proces a formálne popísať konkrétnu úlohu, ktorú budeme riešiť pomocou metódy strojového učenia. V tomto bode začína proces operacionalizácie, označený skratkou Ops. 

Ďalším krokom je, že Data Scientist v spolupráci s Data Engineer skontroluje dostupnosť a dostatočnosť údajov a podnikateľskú hypotézu o životaschopnosti podnikateľského nápadu, vytvorí prototypový model a otestuje jeho skutočnú efektivitu. Až po potvrdení zo strany podniku môže začať prechod od vývoja modelu k jeho integrácii do systémov, ktoré vykonávajú špecifický obchodný proces. Úplné plánovanie implementácie, hlboké pochopenie v každej fáze toho, ako sa bude model používať a aký ekonomický efekt prinesie, je základným bodom v procesoch zavádzania prístupov MLOps do technologického prostredia spoločnosti.

S rozvojom technológií AI sa počet a rozmanitosť problémov, ktoré možno vyriešiť pomocou strojového učenia, exponenciálne zvyšuje. Každý takýto obchodný proces je pre firmu úsporou z dôvodu automatizácie práce hromadných zamestnancov (call centrum, kontrola a triedenie dokladov a pod.), ide o rozšírenie klientskej základne o nové atraktívne a pohodlné funkcie, je úspora peňazí vďaka optimálnemu využitiu a prerozdeleniu zdrojov a mnoho ďalšieho. V konečnom dôsledku je každý proces zameraný na vytváranie hodnoty a v dôsledku toho musí priniesť určitý ekonomický efekt. Tu je veľmi dôležité jasne sformulovať podnikateľský nápad a vypočítať očakávaný zisk z implementácie modelu do celkovej štruktúry tvorby hodnoty podniku. Existujú situácie, keď sa implementácia modelu neospravedlňuje a čas strávený špecialistami na strojové učenie je oveľa drahší ako pracovisko operátora vykonávajúceho túto úlohu. Preto je potrebné pokúsiť sa identifikovať takéto prípady v počiatočných fázach vytvárania systémov AI.

Následne modely začínajú generovať zisk až vtedy, keď je v procese MLOps správne formulovaný obchodný problém, sú stanovené priority a proces zavádzania modelu do systému je formulovaný v raných fázach vývoja.

Nový proces – nové výzvy

Všeobecná otázka dôvery v AI je komplexná odpoveď na základnú obchodnú otázku o tom, ako použiteľné modely ML na riešenie problémov, je jednou z kľúčových výziev v procese vývoja a implementácie prístupov MLOps. Podniky sú spočiatku voči zavádzaniu strojového učenia do procesov skeptické – je ťažké spoliehať sa na modely na miestach, kde predtým spravidla ľudia pracovali. Pre podniky sa programy javia ako „čierna skrinka“, ktorej relevantnosť je ešte potrebné dokázať. Okrem toho v bankovníctve, v podnikaní telekomunikačných operátorov a iných sú prísne požiadavky vládnych regulátorov. Všetky systémy a algoritmy, ktoré sú implementované v bankových procesoch, podliehajú auditu. Na vyriešenie tohto problému, na preukázanie platnosti a správnosti reakcií umelej inteligencie podnikom a regulačným orgánom, sa spolu s modelom zavádzajú monitorovacie nástroje. Okrem toho existuje nezávislý overovací postup, povinný pre regulačné modely, ktorý spĺňa požiadavky centrálnej banky. Nezávislá expertná skupina kontroluje výsledky získané modelom s prihliadnutím na vstupné údaje.

Druhou výzvou je posúdenie a zohľadnenie rizík modelu pri implementácii modelu strojového učenia. Aj keď človek nedokáže so stopercentnou istotou odpovedať na otázku, či tie isté šaty boli biele alebo modré, aj umelá inteligencia má právo na chybu. Je tiež potrebné zvážiť, že údaje sa môžu časom meniť a modely je potrebné preškoliť, aby sa dosiahol dostatočne presný výsledok. Aby sa zabezpečilo, že obchodný proces neutrpí, je potrebné riadiť riziká modelu a monitorovať výkonnosť modelu a pravidelne ho preškoľovať na nové údaje.

MLOps: DevOps vo svete strojového učenia

No po prvom štádiu nedôvery sa začína dostavovať opačný efekt. Čím viac modelov sa úspešne implementuje do procesov, tým viac rastie chuť podnikov využívať umelú inteligenciu – objavujú sa nové a nové problémy, ktoré je možné riešiť pomocou metód strojového učenia. Každá úloha spúšťa celý proces, ktorý si vyžaduje určité kompetencie:

  • dátoví inžinieri pripravujú a spracovávajú dáta;
  • dátoví vedci používajú nástroje strojového učenia a vyvíjajú model;
  • IT implementuje model do systému;
  • Inžinier ML určuje, ako správne integrovať tento model do procesu, aké IT nástroje použiť, v závislosti od požiadaviek na režim aplikácie modelu, berúc do úvahy tok požiadaviek, čas odozvy atď. 
  • Architekt ML navrhuje, ako môže byť softvérový produkt fyzicky implementovaný v priemyselnom systéme.

Celý cyklus si vyžaduje veľký počet vysokokvalifikovaných odborníkov. V určitom bode vývoja a miery prieniku modelov ML do podnikových procesov sa ukazuje, že lineárne škálovanie počtu špecialistov úmerne zvyšovaniu počtu úloh sa stáva drahým a neefektívnym. Preto vyvstáva otázka automatizácie procesu MLOps – definovanie niekoľkých štandardných tried problémov strojového učenia, vývoj štandardných procesov spracovania dát a dodatočné školenie modelov. V ideálnom prípade si riešenie takýchto problémov vyžaduje profesionálov, ktorí sú rovnako zdatní v kompetenciách na priesečníku Big Data, Data Science, DevOps a IT. Preto je najväčším problémom v odvetví Data Science a najväčšou výzvou pri organizovaní procesov MLOps nedostatok takejto kompetencie na existujúcom školiacom trhu. Špecialisti, ktorí spĺňajú tieto požiadavky, sú v súčasnosti na trhu práce vzácni a majú cenu zlata.

K otázke kompetencií

Teoreticky je možné všetky úlohy MLOps vyriešiť pomocou klasických nástrojov DevOps a bez použitia špecializovaného rozšírenia vzoru. Potom, ako sme uviedli vyššie, dátový vedec musí byť nielen matematik a dátový analytik, ale aj guru celého potrubia - je zodpovedný za vývoj architektúry, programovanie modelov vo viacerých jazykoch v závislosti od architektúry, prípravu dátový obchod a nasadenie samotnej aplikácie. Vytvorenie technologického rámca implementovaného v end-to-end procese MLOps si však vyžaduje až 80 % nákladov práce, čo znamená, že kvalifikovaný matematik, ktorý je kvalitným Data Scientistom, bude svojej špecializácii venovať iba 20 % svojho času. . Preto je nevyhnutné vymedziť úlohy špecialistov zapojených do procesu implementácie modelov strojového učenia. 

Ako podrobne by mali byť úlohy vymedzené, závisí od veľkosti podniku. Jedna vec je, keď má startup jedného špecialistu, tvrdého pracovníka v energetickej rezerve, ktorým je jeho vlastný inžinier, architekt a DevOps. Je to úplne iná vec, keď sa vo veľkom podniku všetky procesy vývoja modelov sústreďujú na niekoľko špičkových špecialistov Data Science, zatiaľ čo programátor alebo databázový špecialista - bežnejšia a menej nákladná kompetencia na trhu práce - na väčšine práce.rutinné úlohy.

Rýchlosť a kvalita vyvinutých modelov, produktivita tímu a mikroklíma v ňom teda priamo závisia od toho, kde leží hranica vo výbere špecialistov na podporu procesu MLOps a ako je organizovaný proces operacionalizácie vyvinutých modelov. .

Čo už náš tím dokázal

Nedávno sme začali budovať kompetenčnú štruktúru a procesy MLOps. Ale naše projekty týkajúce sa riadenia životného cyklu modelov a používania modelov ako služby sú už v štádiu testovania MVP.

Stanovili sme tiež optimálnu kompetenčnú štruktúru pre veľký podnik a organizačnú štruktúru interakcie medzi všetkými účastníkmi procesu. Boli zorganizované agilné tímy na riešenie problémov pre celú škálu biznis zákazníkov a bol zavedený proces interakcie s projektovými tímami na vytváranie platforiem a infraštruktúry, ktorý je základom budovanej budovy MLOps.

Otázky do budúcnosti

MLOps je rastúca oblasť, ktorá pociťuje nedostatok kompetencií a v budúcnosti bude naberať na sile. Medzitým je najlepšie stavať na vývoji a postupoch DevOps. Hlavným cieľom MLOps je efektívnejšie využívať modely ML na riešenie obchodných problémov. To však vyvoláva veľa otázok:

  • Ako skrátiť čas uvedenia modelov do výroby?
  • Ako znížiť byrokratické trenice medzi tímami rôznych kompetencií a zvýšiť zameranie na spoluprácu?
  • Ako sledovať modely, spravovať verzie a organizovať efektívne monitorovanie?
  • Ako vytvoriť skutočne kruhový životný cyklus pre moderný model ML?
  • Ako štandardizovať proces strojového učenia?

Odpovede na tieto otázky do značnej miery určia, ako rýchlo MLOps dosiahne svoj plný potenciál.

Zdroj: hab.com

Pridať komentár