MLOps: DevOps v svetu strojnega učenja

Leta 2018 se je v strokovnih krogih in na tematskih konferencah, posvečenih AI, pojavil koncept MLOps, ki se je hitro uveljavil v industriji in se sedaj razvija kot samostojna smer. V prihodnosti lahko MLO postane eno najbolj priljubljenih področij v IT. Kaj je to in s čim ga jemo? Poglejmo spodaj.

MLOps: DevOps v svetu strojnega učenja

Kaj je MLOps

MLOps (združevanje tehnologij in procesov strojnega učenja ter pristopov k implementaciji razvitih modelov v poslovne procese) je nov način sodelovanja med predstavniki gospodarstva, znanstveniki, matematiki, strokovnjaki za strojno učenje in IT inženirji pri ustvarjanju sistemov umetne inteligence.

Z drugimi besedami, to je način spreminjanja metod in tehnologij strojnega učenja v uporabno orodje za reševanje poslovnih problemov. 

Treba je razumeti, da se veriga produktivnosti začne veliko pred razvojem modela. Njegov prvi korak je opredelitev poslovnega problema, hipoteze o vrednosti, ki jo je mogoče izluščiti iz podatkov, in poslovne ideje za njeno uporabo. 

Sam koncept MLOps je nastal kot analogija konceptu DevOps v zvezi z modeli in tehnologijami strojnega učenja. DevOps je pristop k razvoju programske opreme, ki omogoča povečanje hitrosti implementacije posameznih sprememb ob ohranjanju fleksibilnosti in zanesljivosti z uporabo številnih pristopov, vključno z nenehnim razvojem, delitvijo funkcij na več neodvisnih mikrostoritev, avtomatiziranim testiranjem in uvajanjem posameznih spremembe, globalno spremljanje zdravja, sistem hitrega odzivanja na odkrite okvare itd. 

DevOps je opredelil življenjski cikel programske opreme in skupnost je prišla na idejo, da bi isto metodologijo uporabila za velike podatke. DataOps je poskus prilagoditve in razširitve metodologije ob upoštevanju značilnosti shranjevanja, prenosa in obdelave velikih količin podatkov v različnih in interoperabilnih platformah.
  
S pojavom določene kritične mase modelov strojnega učenja, implementiranih v poslovne procese podjetij, je bila opažena velika podobnost med življenjskim ciklom modelov matematičnih strojnih učenja in življenjskim ciklom programske opreme. Edina razlika je v tem, da so algoritmi modela ustvarjeni z orodji in metodami strojnega učenja. Zato se je seveda porodila ideja o uporabi in prilagoditvi že znanih pristopov k razvoju programske opreme za modele strojnega učenja. Tako lahko v življenjskem ciklu modelov strojnega učenja ločimo naslednje ključne faze:

  • definiranje poslovne ideje;
  • usposabljanje modelov;
  • testiranje in implementacija modela v poslovni proces;
  • delovanje modela.

Ko je med delovanjem treba spremeniti ali znova usposobiti model za nove podatke, se cikel začne znova - model se izboljša, preizkusi in uvede nova različica.

Umik. Zakaj prekvalificirati in ne prekvalificirati? Izraz »preusposabljanje modela« ima dvojni pomen: med strokovnjaki pomeni napako modela, ko model dobro napoveduje, dejansko ponovi predvideni parameter na učnem nizu, vendar se na vzorcu zunanjih podatkov obnese veliko slabše. Seveda je tak model napaka, saj ta napaka ne dovoljuje njegove uporabe.

V tem življenjskem ciklu se zdi logična uporaba orodij DevOps: avtomatizirano testiranje, uvajanje in spremljanje, oblikovanje izračunov modela v obliki ločenih mikrostoritev. Obstajajo pa tudi številne funkcije, ki preprečujejo neposredno uporabo teh orodij brez dodatne vezave ML.

MLOps: DevOps v svetu strojnega učenja

Kako narediti modele delujoče in dobičkonosne

Kot primer, v katerem bomo prikazali uporabo pristopa MLOps, bomo vzeli klasično nalogo robotizacije klepetalnice za bančni (ali kateri koli drug) produkt. Običajno je poslovni proces podpore prek klepeta videti takole: stranka v klepet vnese sporočilo z vprašanjem in prejme odgovor strokovnjaka znotraj vnaprej določenega dialoga. Nalogo avtomatizacije takega klepeta običajno rešimo s strokovno definiranimi nizi pravil, katerih razvoj in vzdrževanje sta zelo delovno intenzivna. Učinkovitost takšne avtomatizacije, odvisno od stopnje zahtevnosti naloge, je lahko 20–30%. Seveda se pojavi ideja, da je bolj donosno implementirati modul umetne inteligence - model, razvit s pomočjo strojnega učenja, ki:

  • je sposoben obdelati večje število zahtevkov brez sodelovanja operaterja (odvisno od teme, v nekaterih primerih lahko učinkovitost doseže 70–80%);
  • bolje se prilagaja nestandardnemu ubesedovanju v dialogu - zna ugotoviti namen, pravo željo uporabnika na podlagi nejasno oblikovane zahteve;
  • ve, kako ugotoviti, kdaj je odgovor modela ustrezen in kdaj obstajajo dvomi o "zavedanju" tega odgovora in morate postaviti dodatno pojasnjevalno vprašanje ali preklopiti na operaterja;
  • se lahko dodatno samodejno usposobi (namesto skupine razvijalcev, ki nenehno prilagaja in popravlja odzivne skripte, model dodatno usposobi specialist Data Science z uporabo ustreznih knjižnic strojnega učenja). 

MLOps: DevOps v svetu strojnega učenja

Kako doseči, da tako napreden model deluje? 

Kot pri reševanju vsakega drugega problema je treba pred razvojem takšnega modula definirati poslovni proces in formalno opisati konkretno nalogo, ki jo bomo reševali z metodo strojnega učenja. Na tej točki se začne proces operacionalizacije, ki ga označuje akronim Ops. 

Naslednji korak je, da Data Scientist v sodelovanju z Data Engineerjem preveri razpoložljivost in zadostnost podatkov ter poslovno hipotezo o upravičenosti poslovne ideje, razvije prototipni model in testira njegovo dejansko učinkovitost. Šele po potrditvi s strani podjetja se lahko začne prehod od razvoja modela do njegove integracije v sisteme, ki izvajajo določen poslovni proces. Načrtovanje implementacije od konca do konca, globoko razumevanje na vsaki stopnji, kako se bo model uporabljal in kakšen ekonomski učinek bo prinesel, je temeljna točka v procesih uvajanja pristopov MLOps v tehnološko krajino podjetja.

Z razvojem tehnologij umetne inteligence se število in raznolikost problemov, ki jih je mogoče rešiti s pomočjo strojnega učenja, eksponentno povečuje. Vsak tak poslovni proces je za podjetje prihranek zaradi avtomatizacije dela množičnih zaposlenih (klicni center, pregledovanje in sortiranje dokumentov itd.), je širitev baze strank z dodajanjem novih privlačnih in priročnih funkcij, je prihranek denarja zaradi optimalne njihove uporabe in prerazporeditve virov in še veliko več. Navsezadnje je vsak proces osredotočen na ustvarjanje vrednosti in mora posledično prinesti določen ekonomski učinek. Pri tem je zelo pomembno jasno oblikovati poslovno idejo in izračunati pričakovani dobiček od implementacije modela v celotno strukturo ustvarjanja vrednosti podjetja. Obstajajo situacije, ko se uvedba modela ne upraviči, čas, ki ga porabijo strokovnjaki za strojno učenje, pa je veliko dražji od delovnega mesta operaterja, ki opravlja to nalogo. Zato je treba takšne primere poskušati prepoznati že v zgodnjih fazah ustvarjanja sistemov AI.

Posledično modeli začnejo prinašati dobiček šele, ko je v MLOps procesu pravilno formuliran poslovni problem, postavljene prioritete in v zgodnjih fazah razvoja oblikovan proces uvajanja modela v sistem.

Nov proces - novi izzivi

Celovit odgovor na temeljno poslovno vprašanje, kako uporabni so modeli ML pri reševanju problemov, splošno vprašanje zaupanja v AI je eden ključnih izzivov v procesu razvoja in implementacije pristopov MLOps. Podjetja so sprva skeptična glede uvedbe strojnega učenja v procese - težko se je zanesti na modele na mestih, kjer so prej praviloma delali ljudje. Za podjetja se zdi, da so programi »črna skrinjica«, katere ustreznost je treba še dokazati. Poleg tega so v bančništvu, pri poslovanju telekomunikacijskih operaterjev in drugih stroge zahteve državnih regulatorjev. Vsi sistemi in algoritmi, ki so implementirani v bančne procese, so predmet revizije. Da bi rešili ta problem, da bi podjetjem in regulatorjem dokazali veljavnost in pravilnost odzivov umetne inteligence, so skupaj z modelom uvedena orodja za spremljanje. Poleg tega obstaja neodvisen postopek validacije, ki je obvezen za regulativne modele in izpolnjuje zahteve centralne banke. Neodvisna strokovna skupina revidira rezultate, pridobljene z modelom, ob upoštevanju vhodnih podatkov.

Drugi izziv je ocenjevanje in upoštevanje tveganj modela pri implementaciji modela strojnega učenja. Tudi če človek ne more s stoodstotno gotovostjo odgovoriti na vprašanje, ali je bila ta ista obleka bela ali modra, ima tudi umetna inteligenca pravico do napake. Upoštevati je treba tudi, da se lahko podatki sčasoma spremenijo in da je treba modele ponovno usposobiti, da bi dobili dovolj natančne rezultate. Za zagotovitev, da poslovni proces ne trpi, je potrebno obvladovati tveganja modela in spremljati delovanje modela ter ga redno usposobiti za nove podatke.

MLOps: DevOps v svetu strojnega učenja

Toda po prvi stopnji nezaupanja se začne pojavljati nasprotni učinek. Več ko je modelov uspešno implementiranih v procese, večja je želja podjetij po uporabi umetne inteligence – odkrivajo se novi in ​​novi problemi, ki jih je mogoče rešiti z metodami strojnega učenja. Vsaka naloga sproži celoten proces, ki zahteva določene kompetence:

  • podatkovni inženirji pripravljajo in obdelujejo podatke;
  • podatkovni znanstveniki uporabljajo orodja za strojno učenje in razvijajo model;
  • IT implementira model v sistem;
  • Inženir ML določi, kako ta model pravilno vključiti v proces, katera IT orodja uporabiti, odvisno od zahtev za način uporabe modela, upoštevajoč pretok zahtevkov, odzivni čas itd. 
  • Arhitekt ML načrtuje, kako je mogoče programski izdelek fizično implementirati v industrijski sistem.

Celoten cikel zahteva veliko visoko usposobljenih strokovnjakov. Na določeni točki razvoja in stopnje prodora modelov ML v poslovne procese se izkaže, da postane linearno povečevanje števila strokovnjakov sorazmerno z večanjem števila nalog drago in neučinkovito. Zato se postavlja vprašanje avtomatizacije procesa MLOps – definiranje več standardnih razredov problemov strojnega učenja, razvoj standardnih cevovodov za obdelavo podatkov in dodatno usposabljanje modelov. V idealni sliki reševanje takšnih problemov zahteva strokovnjake, ki so enako usposobljeni v kompetencah na stičišču velikih podatkov, znanosti o podatkih, DevOps in IT. Zato je največja težava v industriji Data Science in največji izziv pri organizaciji MLOps procesov pomanjkanje tovrstnih kompetenc na obstoječem izobraževalnem trgu. Strokovnjaki, ki izpolnjujejo te zahteve, so trenutno na trgu dela redki in so zlata vredni.

O vprašanju kompetenc

Teoretično je vse naloge MLOps mogoče rešiti s klasičnimi orodji DevOps in brez uporabe specializirane razširitve vzornika. Nato, kot smo omenili zgoraj, podatkovni znanstvenik ne sme biti samo matematik in podatkovni analitik, ampak tudi guru celotnega cevovoda - odgovoren je za razvoj arhitekture, programiranje modelov v več jezikih, odvisno od arhitekture, pripravo podatkovno trgovino in namestitev same aplikacije. Vendar ustvarjanje tehnološkega okvira, implementiranega v proces MLOps od konca do konca, zahteva do 80 % stroškov dela, kar pomeni, da bo kvalificiran matematik, ki je kakovosten Data Scientist, svoji specialnosti posvetil le 20 % svojega časa. . Zato postane razmejitev vlog strokovnjakov, vključenih v proces implementacije modelov strojnega učenja, ključnega pomena. 

Kako natančno naj bodo vloge razmejene, je odvisno od velikosti podjetja. Ena stvar je, če ima startup enega specialista, pridnega delavca v rezervi energije, ki je sam svoj inženir, arhitekt in DevOps. Popolnoma druga stvar je, če so v velikem podjetju vsi procesi razvoja modela osredotočeni na nekaj strokovnjakov za podatkovno znanost na visoki ravni, medtem ko programer ali specialist za baze podatkov - pogostejša in cenejša kompetenca na trgu dela - lahko prevzame pri večini dela, rutinskih opravilih.

Hitrost in kakovost razvitih modelov, produktivnost tima in mikroklima v njem so torej neposredno odvisni od tega, kje je meja pri izbiri strokovnjakov za podporo procesu MLOps in kako je organiziran proces operacionalizacije razvitih modelov. .

Kar je naša ekipa že naredila

Pred kratkim smo začeli graditi strukturo kompetenc in procese MLOps. Toda naši projekti o upravljanju življenjskega cikla modela in uporabi modelov kot storitve so že v fazi testiranja MVP.

Določili smo tudi optimalno kompetenčno strukturo za veliko podjetje in organizacijsko strukturo interakcije med vsemi udeleženci v procesu. Organizirane so bile agilne ekipe za reševanje problemov za celotno paleto poslovnih odjemalcev ter vzpostavljen proces interakcije s projektnimi ekipami za ustvarjanje platform in infrastrukture, ki je temelj stavbe MLOps v gradnji.

Vprašanja za prihodnost

MLOps je rastoče področje, ki se sooča s pomanjkanjem kompetenc in bo v prihodnosti dobilo zagon. Medtem je najbolje graditi na razvoju in praksah DevOps. Glavni cilj MLOps je učinkovitejša uporaba modelov ML za reševanje poslovnih problemov. Toda to odpira veliko vprašanj:

  • Kako skrajšati čas za lansiranje modelov v proizvodnjo?
  • Kako zmanjšati birokratska trenja med timi različnih kompetenc in povečati fokus na sodelovanje?
  • Kako slediti modelom, upravljati različice in organizirati učinkovito spremljanje?
  • Kako ustvariti resnično krožen življenjski cikel za sodoben model ML?
  • Kako standardizirati proces strojnega učenja?

Odgovori na ta vprašanja bodo v veliki meri določili, kako hitro bodo MLO dosegli svoj polni potencial.

Vir: www.habr.com

Dodaj komentar