MLOps: DevOps u svijetu mašinskog učenja

2018. godine u stručnim krugovima i na tematskim konferencijama posvećenim AI pojavio se koncept MLOps-a, koji je brzo stekao uporište u industriji i sada se razvija kao samostalan pravac. MLOps bi u budućnosti mogao postati jedna od najtraženijih oblasti u IT-u. Šta je i sa čime se jede, razumemo ispod.

MLOps: DevOps u svijetu mašinskog učenja

Šta je MLOps?

MLOps (spajanje tehnologija i procesa mašinskog učenja i pristupa implementaciji razvijenih modela u poslovne procese) je novi način saradnje između poslovnih predstavnika, naučnika, matematičara, stručnjaka za mašinsko učenje i IT inženjera u kreiranju sistema veštačke inteligencije.

Drugim riječima, to je način da se metode i tehnologije strojnog učenja pretvore u koristan alat za rješavanje poslovnih problema. 

Mora se shvatiti da lanac produktivnosti počinje mnogo prije razvoja modela. Njegov prvi korak je definiranje poslovnog cilja, hipoteze o vrijednosti koja se može izvući iz podataka i poslovne ideje za njihovu primjenu. 

Sam koncept MLOps-a nastao je kao analogija konceptu DevOps-a u odnosu na modele i tehnologije mašinskog učenja. DevOps je pristup razvoju softvera koji vam omogućava da povećate brzinu pojedinačnih promjena uz održavanje fleksibilnosti i pouzdanosti koristeći niz pristupa, uključujući kontinuirani razvoj, razdvajanje funkcija u niz nezavisnih mikroservisa, automatizirano testiranje i implementaciju pojedinačnih promjena, globalno praćenje zdravlja, sistem brzog reagovanja na identifikovane kvarove, itd. 

DevOps je definisao životni ciklus softvera, a ideja se pojavila u softverskoj zajednici da se ista tehnika primeni na velike podatke. DataOps je pokušaj prilagođavanja i proširenja metodologije, uzimajući u obzir posebnosti pohranjivanja, prijenosa i obrade velikih količina podataka na različitim platformama koje djeluju u interakciji.
  
Sa pojavom određene kritične mase modela mašinskog učenja ugrađenih u poslovne procese preduzeća, uočena je snažna sličnost između životnog ciklusa matematičkih modela mašinskog učenja i životnog ciklusa softvera. Jedina razlika je u tome što su algoritmi modela kreirani pomoću alata i metoda mašinskog učenja. Stoga se prirodno pojavila ideja da se već poznati pristupi razvoju softvera primjenjuju i prilagođavaju za modele mašinskog učenja. Stoga se u životnom ciklusu modela mašinskog učenja mogu razlikovati sljedeće ključne faze:

  • definisanje poslovne ideje;
  • obuka za modele;
  • testiranje i implementacija modela u poslovni proces;
  • rad modela.

Kada tokom rada postane potrebno promijeniti ili ponovo obučiti model na novim podacima, ciklus počinje iznova - model se finalizira, testira i postavlja nova verzija.

Povlačenje. Zašto prevaspitavati a ne prevaspitavati? Termin “preobuka modela” ima dvostruko tumačenje: među stručnjacima to znači defekt u modelu, kada model dobro predviđa, zapravo ponavlja predviđeni parametar na skupu za obuku, ali radi mnogo lošije na vanjskom skupu podataka. Naravno, takav model je nedostatak, jer ovaj nedostatak ne dozvoljava njegovu primjenu.

U ovom životnom ciklusu, čini se logičnim koristiti DevOps alate: automatizovano testiranje, implementaciju i praćenje, registraciju proračuna modela kao zasebne mikroservise. Ali postoji niz karakteristika koje sprečavaju direktnu upotrebu ovih alata bez dodatnog ML-vezivanja.

MLOps: DevOps u svijetu mašinskog učenja

Kako natjerati modele da rade i ostvare profit

Kao primjer, u kojem ćemo demonstrirati primjenu MLOps pristupa, uzet ćemo sada već klasičan zadatak robotizacije chata za podršku za bankarski (ili bilo koji drugi) proizvod. Tipičan poslovni proces podrške za ćaskanje je sljedeći: korisnik unese pitanje u chat i dobije odgovor od stručnjaka unutar unaprijed definiranog stabla dijaloga. Zadatak automatizacije ovakvog ćaskanja obično se rješava korištenjem stručno definiranih skupova pravila koja su vrlo naporna za razvoj i održavanje. Efikasnost takve automatizacije, u zavisnosti od nivoa složenosti zadatka, može biti 20-30%. Naravno, nameće se ideja da je korisnije implementirati modul umjetne inteligencije - model razvijen korištenjem strojnog učenja koji:

  • mogućnost obrade više zahtjeva bez učešća operatera (u zavisnosti od teme, u nekim slučajevima, efikasnost može doseći 70-80%);
  • bolje se prilagođava nestandardnim formulacijama u dijalogu - može odrediti namjeru, stvarnu želju korisnika za nejasno formuliranim zahtjevom;
  • može odrediti kada je odgovor modela adekvatan, a kada postoje sumnje u „svijest“ ovog odgovora i potrebno je postaviti dodatno pojašnjavajuće pitanje ili preći na operatera;
  • može se automatski ponovo obučavati (umjesto da grupa programera stalno prilagođava i ispravlja scenarije odgovora, model se ponovo obučava od strane Data Scientist koristeći odgovarajuće biblioteke strojnog učenja). 

MLOps: DevOps u svijetu mašinskog učenja

Kako učiniti da tako napredan model radi? 

Kao i u rješavanju svakog drugog zadatka, prije razvoja ovakvog modula potrebno je definirati poslovni proces i formalno opisati konkretan zadatak koji ćemo rješavati metodom mašinskog učenja. U ovom trenutku počinje proces operacionalizacije, označen skraćenicom Ops. 

Sljedeći korak je da data science, u suradnji s data inženjerom, provjerava dostupnost i dovoljnost podataka i poslovnu hipotezu o izvodljivosti poslovne ideje, razvijajući prototip modela i provjeravajući njegovu stvarnu efektivnost. Tek nakon potvrde od strane poslovanja može početi prijelaz sa razvoja modela na ugradnju u sisteme koji obavljaju 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, temeljni je momenat u procesima uvođenja MLOps pristupa u tehnološki krajolik kompanije.

S razvojem AI tehnologija, broj i raznovrsnost zadataka koji se mogu riješiti uz pomoć mašinskog učenja raste kao lavina. Svaki takav poslovni proces spašava kompaniju automatizacijom rada zaposlenih na masovnim pozicijama (pozivni centar, provjera i sortiranje dokumenata itd.), proširuje bazu klijenata dodavanjem novih atraktivnih i praktičnih funkcija, štedeći novac zbog optimalnog njihovog korištenje i preraspodjela resursa i još mnogo toga. U konačnici, svaki proces je usmjeren na stvaranje vrijednosti i kao rezultat mora donijeti određeni ekonomski učinak. Ovdje je vrlo važno jasno artikulirati poslovnu ideju i izračunati očekivani profit od implementacije modela u cjelokupnu strukturu stvaranja vrijednosti kompanije. Postoje situacije kada se implementacija modela ne opravdava, a vrijeme koje troše stručnjaci za strojno učenje mnogo je skuplje od radnog mjesta operatera koji obavlja ovaj zadatak. Zato je neophodno pokušati identifikovati takve slučajeve u ranim fazama stvaranja AI sistema.

Shodno tome, modeli počinju da donose profit tek kada je poslovni zadatak pravilno formulisan u MLOps procesu, postavljeni prioriteti, a proces uvođenja modela u sistem formulisan u ranim fazama razvoja.

Novi proces - novi izazovi

Iscrpni odgovor na osnovno poslovno pitanje koliko su ML modeli primjenjivi na rješavanje problema, opće pitanje povjerenja u AI jedan je od ključnih izazova u razvoju i implementaciji MLOps pristupa. U početku, kompanije su skeptične po pitanju uvođenja mašinskog učenja u procese – teško je osloniti se na modele na mestima gde su ljudi obično radili u prošlosti. Za poslovanje, programi su izgleda „crna kutija“, čija relevantnost odgovora tek treba da se dokaže. Osim toga, u bankarstvu, u poslovanju telekom operatera i dr. postoje strogi zahtjevi državnih regulatora. Svi sistemi i algoritmi koji se implementiraju u bankarske procese podliježu reviziji. Kako bi se riješio ovaj problem, kako bi se poslovnim subjektima i regulatorima dokazala valjanost i tačnost odgovora umjetne inteligencije, uz model se uvode i alati za praćenje. Osim toga, postoji nezavisna procedura validacije, obavezna za regulatorne modele, koja ispunjava zahtjeve Centralne banke. Nezavisna ekspertska grupa vrši reviziju rezultata dobijenih modelom, uzimajući u obzir ulazne podatke.

Drugi izazov je procjena i razmatranje rizika modela prilikom implementacije modela mašinskog učenja. Čak i ako osoba ne može sa apsolutnom sigurnošću odgovoriti na pitanje da li je ta haljina bila bijela ili plava, onda i umjetna inteligencija ima pravo na grešku. Također je vrijedno uzeti u obzir da se podaci mogu mijenjati tokom vremena, a modele je potrebno ponovo obučiti kako bi se proizveo dovoljno precizan rezultat. Kako poslovni proces ne bi trpio, potrebno je upravljati rizicima modela i pratiti performanse modela, redovno ga preobučavati na novim podacima.

MLOps: DevOps u svijetu mašinskog učenja

Ali nakon prve faze nepovjerenja počinje se javljati suprotan efekat. Što se više modela uspješno uvodi u procese, to poslovanje ima sve veći apetit za korištenjem umjetne inteligencije – pojavljuju se novi i novi zadaci koji se mogu rješavati metodama strojnog učenja. Svaki zadatak pokreće cijeli proces koji zahtijeva određene kompetencije:

  • inženjeri podataka pripremaju i obrađuju podatke;
  • naučnici podataka primjenjuju alate za strojno učenje i razvijaju model;
  • IT implementira model u sistem;
  • ML inženjer određuje kako pravilno integrirati ovaj model u proces, koje IT alate koristiti u zavisnosti od zahtjeva za načinom primjene modela, uzimajući u obzir tok zahtjeva, vrijeme odgovora itd. 
  • ML arhitekt dizajnira kako se softverski proizvod može fizički implementirati u industrijski sistem.

Cijeli ciklus zahtijeva veliki broj visoko kvalifikovanih stručnjaka. U određenoj tački razvoja i stepenu prodora ML modela u poslovne procese, ispostavlja se da linearno skaliranje broja stručnjaka proporcionalno rastu broja zadataka postaje skupo i neefikasno. Stoga se postavlja pitanje automatizacije MLOps procesa - definisanje nekoliko standardnih klasa problema mašinskog učenja, razvoj tipičnih cevovoda za obradu podataka i modela preobuke. U idealnoj slici, za rješavanje ovakvih problema potrebni su profesionalci koji su podjednako dobro upućeni u kompetencije na spoju BigData, Data Science, DevOps-a i IT-a. Stoga je najveći problem u industriji nauke o podacima i najveći izazov u organizaciji MLOps procesa nedostatak takve kompetencije na postojećem tržištu obuke. Specijalisti koji ispunjavaju takve uslove trenutno su rijetki na tržištu rada i zlata su vrijedni.

Na pitanje kompetencija

U teoriji, svi MLOps zadaci se mogu riješiti klasičnim DevOps alatima i bez pribjegavanja specijaliziranom proširenju uzora. Zatim, kao što smo gore napomenuli, data science bi trebao biti ne samo matematičar i analitičar podataka, već i guru cjelokupnog cevovoda - razvoja arhitekture, programiranja modela na nekoliko jezika ovisno o arhitekturi, pripreme baze podataka i implementacije pada na njegova ramena, sama aplikacija. Međutim, stvaranje tehnološkog povezivanja implementiranog u end-to-end MLOps procesu uzima do 80% troškova rada, što znači da će kvalifikovani matematičar, koji je visokokvalitetni Data Scientist, posvetiti samo 20% troškova rada. vrijeme za njegovu specijalnost. Stoga, diferencijacija uloga stručnjaka koji implementiraju proces implementacije modela mašinskog učenja postaje vitalna. 

Koliko detaljno treba razgraničiti uloge zavisi od veličine preduzeća. Jedno je kada startup ima jednog stručnjaka, radnika u rezervi energetskih inženjera, inženjera, arhitektu i DevOps-a za sebe. Potpuno je druga stvar kada su u velikom preduzeću svi procesi razvoja modela koncentrisani na nekoliko stručnjaka za podatke na visokom nivou, dok programer ili specijalista za baze podataka - uobičajena i jeftinija kompetencija na tržištu rada - može preuzeti većinu rutinskih zadataka.

Dakle, gdje je granica u izboru stručnjaka koji će osigurati MLOps proces i kako je organiziran proces operacionalizacije razvijenih modela direktno utječe na brzinu i kvalitetu razvijenih modela, produktivnost tima i mikroklimu u njemu.

Ono što je naš tim već uradio

Nedavno smo započeli izgradnju okvira kompetencija i MLOps procesa. Ali već sada su naši projekti o upravljanju životnim ciklusom modela i korištenju modela kao usluge u fazi MVP testiranja.

Utvrdili smo i optimalnu strukturu kompetencija za veliko preduzeće i organizacionu strukturu interakcije između svih učesnika u procesu. Organizirani su agilni timovi za rješavanje problema za cijeli spektar poslovnih korisnika, a uspostavljen je proces interakcije sa projektnim timovima za kreiranje platformi i infrastrukture, koja je temelj zgrade MLOps-a u izgradnji.

Pitanja za budućnost

MLOps je rastuća oblast koja doživljava nedostatak kompetencija i koja će dobiti zamah u budućnosti. U međuvremenu, najbolje je graditi na razvoju i praksi DevOps-a. Glavni cilj MLOps-a je efikasnije korištenje ML modela za rješavanje poslovnih problema. Ali ovo otvara mnoga pitanja:

  • Kako smanjiti vrijeme puštanja modela u proizvodnju?
  • Kako smanjiti birokratska trenja između timova različitih kompetencija i povećati fokus na saradnju?
  • Kako pratiti modele, upravljati verzijama i organizirati efikasno praćenje?
  • Kako stvoriti istinski kružni životni ciklus za moderni ML model?
  • Kako standardizirati proces mašinskog učenja?

Odgovori na ova pitanja će u velikoj mjeri odrediti koliko brzo će MLOps otkriti svoj puni potencijal.

izvor: www.habr.com

Dodajte komentar