MLOps: DevOps u svijetu strojnog učenja

U 2018. godini u stručnim krugovima i na tematskim konferencijama posvećenim umjetnoj inteligenciji pojavio se koncept MLOps koji je vrlo brzo zavladao industrijom i sada se razvija kao samostalni pravac. MLO bi u budućnosti mogao postati jedno od najpopularnijih područja u IT-u. Što je to i s čime se jede, saznat ćemo u nastavku.

MLOps: DevOps u svijetu strojnog učenja

Što je MLOps

MLOps (kombiniranje tehnologija strojnog učenja i procesa te pristupa implementaciji razvijenih modela u poslovne procese) novi je način suradnje između poslovnih predstavnika, znanstvenika, matematičara, stručnjaka za strojno učenje i IT inženjera pri izradi sustava umjetne inteligencije.

Drugim riječima, to je način pretvaranja metoda i tehnologija strojnog učenja u koristan alat za rješavanje poslovnih problema. 

Potrebno je razumjeti da lanac produktivnosti počinje puno prije razvoja modela. Njegov prvi korak je definiranje poslovnog problema, hipoteze o vrijednosti koja se može izvući iz podataka i poslovne ideje za njezinu primjenu. 

Sam koncept MLOps nastao je kao analogija konceptu DevOps u odnosu na modele i tehnologije strojnog učenja. DevOps je pristup razvoju softvera koji vam omogućuje povećanje brzine implementacije pojedinačnih promjena uz zadržavanje fleksibilnosti i pouzdanosti korištenjem niza pristupa, uključujući kontinuirani razvoj, podjelu funkcija na više neovisnih mikroservisa, automatizirano testiranje i implementaciju pojedinačnih promjene, globalno praćenje zdravlja, sustav brzog odgovora za otkrivene kvarove itd. 

DevOps je definirao životni ciklus softvera, a zajednica je došla na ideju primjene iste metodologije na velike podatke. DataOps je pokušaj prilagodbe i proširenja metodologije uzimajući u obzir značajke pohranjivanja, prijenosa i obrade velikih količina podataka na različitim i interoperabilnim platformama.
  
S pojavom određene kritične mase modela strojnog učenja implementiranih u poslovne procese poduzeća, uočena je velika sličnost između životnog ciklusa matematičkih modela strojnog učenja i životnog ciklusa softvera. Jedina razlika je u tome što se algoritmi modela stvaraju pomoću alata i metoda strojnog učenja. Stoga se prirodno javila ideja primijeniti i prilagoditi već poznate pristupe razvoju softvera za modele strojnog učenja. Stoga se u životnom ciklusu modela strojnog učenja mogu razlikovati sljedeće ključne faze:

  • definiranje poslovne ideje;
  • obuka modela;
  • testiranje i implementacija modela u poslovni proces;
  • rad modela.

Kada tijekom rada postoji potreba za promjenom ili ponovnim uvježbavanjem modela na novim podacima, ciklus počinje iznova - model se dorađuje, testira i postavlja se nova verzija.

Povlačenje. Zašto prekvalifikacija, a ne prekvalifikacija? Izraz "preobuka modela" ima dvostruko značenje: među stručnjacima to znači nedostatak modela, kada model dobro predviđa, zapravo ponavlja predviđeni parametar na skupu za obuku, ali ima mnogo lošije rezultate na vanjskom uzorku podataka. Naravno, takav model je nedostatak, jer ovaj nedostatak ne dopušta njegovu upotrebu.

U ovom životnom ciklusu čini se logičnim koristiti DevOps alate: automatizirano testiranje, implementaciju i praćenje, projektiranje kalkulacija modela u obliku zasebnih mikroservisa. Ali postoji i niz značajki koje sprječavaju izravnu upotrebu ovih alata bez dodatnog ML vezivanja.

MLOps: DevOps u svijetu strojnog učenja

Kako učiniti da modeli rade i budu profitabilni

Kao primjer u kojem ćemo demonstrirati korištenje MLOps pristupa uzet ćemo klasični zadatak robotizacije chat podrške za bankarski (ili bilo koji drugi) proizvod. Tipično, poslovni proces podrške chatu izgleda ovako: klijent unese poruku s pitanjem u chatu i dobije odgovor od stručnjaka unutar unaprijed definiranog stabla dijaloga. Zadatak automatizacije takvog chata obično se rješava korištenjem stručno definiranih skupova pravila, čiji je razvoj i održavanje vrlo zahtjevan. Učinkovitost takve automatizacije, ovisno o razini složenosti zadatka, može biti 20–30%. Naravno, nameće se ideja da je isplativije implementirati modul umjetne inteligencije - model razvijen pomoću strojnog učenja, koji:

  • može obraditi veći broj zahtjeva bez sudjelovanja operatera (ovisno o temi, u nekim slučajevima učinkovitost može doseći 70–80%);
  • bolje se prilagođava nestandardnim formulacijama u dijalogu - zna odrediti namjeru, stvarnu želju korisnika na temelju nejasno formuliranog zahtjeva;
  • zna kako odrediti kada je odgovor modela adekvatan, a kada postoje sumnje u "svjesnost" ovog odgovora i potrebno je postaviti dodatno pitanje za pojašnjenje ili se prebaciti na operatera;
  • može se dodatno automatski obučavati (umjesto grupe programera koji stalno prilagođavaju i ispravljaju skripte odgovora, model dodatno obučava stručnjak Data Science koristeći odgovarajuće biblioteke strojnog učenja). 

MLOps: DevOps u svijetu strojnog učenja

Kako natjerati tako napredan model da funkcionira? 

Kao i kod rješavanja svakog drugog problema, prije izrade ovakvog modula potrebno je definirati poslovni proces i formalno opisati konkretan zadatak koji ćemo rješavati metodom strojnog učenja. U ovoj točki počinje proces operacionalizacije, označen akronimom Ops. 

Sljedeći korak je da Data Scientist u suradnji s Data Engineerom provjerava dostupnost i dostatnost podataka i poslovne hipoteze o održivosti poslovne ideje, razvija prototip modela i testira njegovu stvarnu učinkovitost. Tek nakon potvrde poslovanja može započeti prijelaz s razvoja modela na njegovu integraciju u sustave koji izvode određeni poslovni proces. Planiranje implementacije od kraja do kraja, duboko razumijevanje u svakoj fazi kako će se model koristiti i kakav će ekonomski učinak donijeti, temeljna je točka u procesima uvođenja MLOps pristupa u tehnološki krajolik tvrtke.

S razvojem AI tehnologija, broj i raznolikost problema koji se mogu riješiti korištenjem strojnog učenja eksponencijalno raste. Svaki takav poslovni proces je ušteda za tvrtku zbog automatizacije rada masovnih zaposlenika (pozivni centar, provjera i sortiranje dokumenata i sl.), proširenje baze klijenata dodavanjem novih atraktivnih i praktičnih funkcija, je ušteda novca zbog optimalnog njihovog korištenja i preraspodjele resursa i još mnogo toga. U konačnici, svaki proces usmjeren je na stvaranje vrijednosti i kao rezultat toga mora donijeti određeni ekonomski učinak. Ovdje je vrlo važno jasno formulirati poslovnu ideju i izračunati očekivanu dobit od implementacije modela u ukupnu strukturu stvaranja vrijednosti poduzeća. Postoje situacije kada se implementacija modela ne opravdava, a vrijeme koje provode stručnjaci za strojno učenje puno je skuplje od radnog mjesta operatera koji obavlja ovaj zadatak. Zato je potrebno pokušati identificirati takve slučajeve u ranim fazama stvaranja AI sustava.

Posljedično, modeli počinju generirati profit tek kada je poslovni problem pravilno formuliran u MLOps procesu, postavljeni su prioriteti i formuliran proces uvođenja modela u sustav u ranim fazama razvoja.

Novi proces - novi izazovi

Sveobuhvatan odgovor na temeljno poslovno pitanje o tome koliko su ML modeli primjenjivi na rješavanje problema, općenito pitanje povjerenja u AI jedan je od ključnih izazova u procesu razvoja i implementacije MLOps pristupa. U početku su poduzeća skeptična prema uvođenju strojnog učenja u procese - teško je osloniti se na modele na mjestima gdje su prije, u pravilu, ljudi radili. Čini se da su programi za poslovanje "crna kutija", čiju relevantnost tek treba dokazati. Osim toga, u bankarstvu, u poslovanju telekom operatera i dr., postoje strogi zahtjevi državnih regulatora. Svi sustavi i algoritmi koji se implementiraju u bankovne procese podliježu reviziji. Kako bi se riješio ovaj problem, kako bi se poslovanju i regulatorima dokazala valjanost i ispravnost odgovora umjetne inteligencije, zajedno s modelom uvode se alati za praćenje. Osim toga, postoji neovisna procedura validacije, obavezna za regulatorne modele, koja udovoljava zahtjevima Centralne banke. Neovisna stručna skupina revidira rezultate dobivene modelom uzimajući u obzir ulazne podatke.

Drugi izazov je procjena i uzimanje u obzir rizika modela prilikom implementacije modela strojnog učenja. Čak i ako čovjek ne može sa stopostotnom sigurnošću odgovoriti na pitanje je li ta ista haljina bila bijela ili plava, onda i umjetna inteligencija ima pravo na pogrešku. Također je vrijedno uzeti u obzir da se podaci mogu mijenjati tijekom vremena, a modeli se moraju ponovno uvježbati kako bi proizveli dovoljno točan rezultat. Kako bi se osiguralo da poslovni proces ne trpi, potrebno je upravljati rizicima modela i pratiti performanse modela, redovito ga prekvalificirajući novim podacima.

MLOps: DevOps u svijetu strojnog učenja

Ali nakon prve faze nepovjerenja, počinje se javljati suprotan učinak. Što se više modela uspješno implementira u procese, to raste apetit poslovanja za korištenjem umjetne inteligencije – pronalaze se novi i novi problemi koji se mogu riješiti metodama strojnog učenja. Svaki zadatak pokreće cijeli proces koji zahtijeva određene kompetencije:

  • podatkovni inženjeri pripremaju i obrađuju podatke;
  • podatkovni znanstvenici koriste alate za strojno učenje i razvijaju model;
  • IT implementira model u sustav;
  • ML inženjer određuje kako pravilno integrirati ovaj model u proces, koje IT alate koristiti, ovisno o zahtjevima za način primjene modela, uzimajući u obzir tijek zahtjeva, vrijeme odziva itd. 
  • ML arhitekt dizajnira kako se softverski proizvod može fizički implementirati u industrijski sustav.

Cijeli ciklus zahtijeva veliki broj visokokvalificiranih stručnjaka. U određenom trenutku razvoja i stupnja prodora ML modela u poslovne procese, pokazuje se da linearno skaliranje broja stručnjaka proporcionalno povećanju broja zadataka postaje skupo i neučinkovito. Stoga se postavlja pitanje automatizacije MLOps procesa – definiranje nekoliko standardnih klasa problema strojnog učenja, razvoj standardnih cjevovoda za obradu podataka i dodatno uvježbavanje modela. U idealnoj slici, rješavanje takvih problema zahtijeva stručnjake koji su jednako stručni u kompetencijama na raskrižju Big Data, Data Science, DevOps i IT. Stoga je najveći problem u Data Science industriji i najveći izazov u organizaciji MLOps procesa nedostatak takve kompetencije na postojećem tržištu obuke. Stručnjaci koji ispunjavaju ove uvjete trenutno su rijetki na tržištu rada i zlata vrijede.

O pitanju kompetencija

U teoriji, svi MLOps zadaci mogu se riješiti pomoću klasičnih DevOps alata i bez pribjegavanja specijaliziranom proširenju uzora. Zatim, kao što smo gore napomenuli, podatkovni znanstvenik mora biti ne samo matematičar i analitičar podataka, već i guru cijelog cjevovoda - on je odgovoran za razvoj arhitekture, programiranje modela na nekoliko jezika ovisno o arhitekturi, pripremu prodavaonicu podataka i implementaciju same aplikacije. Međutim, stvaranje tehnološkog okvira implementiranog u end-to-end MLOps procesu oduzima do 80% troškova rada, što znači da će kvalificirani matematičar, koji je kvalitetan Data Scientist, posvetiti samo 20% svog vremena svojoj specijalnosti . Stoga razgraničenje uloga stručnjaka uključenih u proces implementacije modela strojnog učenja postaje vitalno. 

Koliko bi uloge trebale biti detaljno definirane ovisi o veličini poduzeća. Jedna je stvar kada startup ima jednog stručnjaka, vrijednog radnika u rezervi energije, koji je sam svoj inženjer, arhitekt i DevOps. Sasvim je druga stvar kada su u velikom poduzeću svi procesi razvoja modela koncentrirani na nekoliko stručnjaka visoke razine Data Science, dok programer ili stručnjak za baze podataka - češća i jeftinija kompetencija na tržištu rada - može uzeti na većini posla.rutinski zadaci.

Dakle, brzina i kvaliteta razvijenih modela, produktivnost tima i mikroklima u njemu izravno ovise o tome gdje je granica u odabiru stručnjaka za podršku MLOps procesu i kako je organiziran proces operacionalizacije razvijenih modela. .

Što je naš tim već napravio

Nedavno smo započeli izgradnju strukture kompetencija i MLOps procesa. Ali naši projekti upravljanja životnim ciklusom modela i korištenja modela kao usluge već su u fazi testiranja MVP-a.

Također smo utvrdili optimalnu strukturu kompetencija za veliko poduzeće i organizacijsku strukturu interakcije između svih sudionika u procesu. Organizirani su agilni timovi za rješavanje problema cjelokupnog spektra poslovnih korisnika te je uspostavljen proces interakcije s projektnim timovima za kreiranje platformi i infrastrukture koja je temelj MLOps zgrade u izgradnji.

Pitanja za budućnost

MLOps je rastuće područje koje doživljava manjak kompetencija i koje će u budućnosti dobiti na zamahu. U međuvremenu, najbolje je graditi na razvoju i praksi DevOps-a. Glavni cilj MLOps-a je učinkovitija upotreba ML modela za rješavanje poslovnih problema. Ali ovo otvara mnoga pitanja:

  • Kako smanjiti vrijeme za puštanje modela u proizvodnju?
  • Kako smanjiti birokratska trvenja između timova različitih kompetencija i povećati fokus na suradnju?
  • Kako pratiti modele, upravljati verzijama i organizirati učinkovito praćenje?
  • Kako stvoriti istinski kružni životni ciklus za moderan ML model?
  • Kako standardizirati proces strojnog učenja?

Odgovori na ova pitanja uvelike će odrediti koliko će brzo MLO-ovi dosegnuti svoj puni potencijal.

Izvor: www.habr.com

Dodajte komentar