MLOps: DevOps maŔīnmācīŔanās pasaulē

2018. gadā profesionālos lokos un tematiskajās konferencēs, kas veltītas AI, parādījās jēdziens MLOps, kas ātri nostiprinājās nozarē un tagad attīstās kā patstāvīga virzība. Nākotnē MLOps var kļūt par vienu no pieprasītākajām jomām IT. Kas tad tas ir un kā to izmantot, noskaidrojam tālāk.

MLOps: DevOps maŔīnmācīŔanās pasaulē

Kas ir MLOps

MLOps (tehnoloÄ£iju un procesu apvienojums maŔīnmācīŔanās un izstrādāto modeļu integrācijas biznesa procesos) — tas ir jauns sadarbÄ«bas veids starp biznesa pārstāvjiem, zinātniekiem, matemātiÄ·iem, maŔīnmācīŔanās speciālistiem un IT inženieriem, izstrādājot mākslÄ«gā intelekta sistēmas.

Citiem vārdiem sakot, tas ir veids, kā pārvērst maŔīnmācīŔanās metodes un tehnoloÄ£ijas par noderÄ«gu instrumentu biznesa uzdevumu risināŔanai.Ā 

Jāņem vērā, ka produktivizācijas ķēde sākas krietni pirms modeļa izstrādes. Pirmais solis ir biznesa uzdevuma noteikÅ”ana, hipotēzes par vērtÄ«bu, ko var gÅ«t no datiem, un biznesa idejas par tās izmantoÅ”anu izstrāde.Ā 

Pats jēdziens MLOps radās kā analoÄ£ija DevOps jēdzienam, kas attiecas uz maŔīnmācīŔanās modeļiem un tehnoloÄ£ijām. DevOps ir pieeja programmatÅ«ras izstrādei, kas ļauj palielināt atseviŔķu izmaiņu ievieÅ”anas ātrumu, saglabājot elastÄ«bu un uzticamÄ«bu, izmantojot vairākus pieejas veidus, tostarp nepārtrauktu izstrādi, funkciju sadalīŔanu atseviŔķos neatkarÄ«gos mikroservisos, automatizētu testēŔanu un atseviŔķu izmaiņu ievieÅ”anu, globālo darbspēju uzraudzÄ«bu, operatÄ«vās reakcijas sistēmu uz identificētiem traucējumiem utt.Ā 

DevOps definēja programmatÅ«ras dzÄ«ves ciklu, un speciālistu kopienā radās ideja izmantot Å”o paÅ”u metodoloÄ£iju attiecÄ«bā uz lielajiem datiem. DataOps ir mēģinājums pielāgot un paplaÅ”ināt metodiku, ņemot vērā lielu datu apjomu glabāŔanas, pārsÅ«tīŔanas un apstrādes Ä«patnÄ«bas dažādās savstarpēji saistÄ«tajās platformās.
Ā Ā 
ParādÄ«jos noteiktai kritiskai masai maŔīnmācīŔanās modeļu, kas tiek ieviesti uzņēmumu biznesa procesos, tika novērota spēcÄ«ga lÄ«dzÄ«ba maŔīnmācīŔanās matemātisko modeļu dzÄ«ves cikla un programmatÅ«ras dzÄ«ves cikla starpā. AtŔķirÄ«ba ir tikai tajā, ka modeļu algoritmus izveido, izmantojot maŔīnmācīŔanās rÄ«kus un metodes. Tāpēc dabiski radās ideja piemērot un pielāgot jau zināmos programmatÅ«ras izstrādes pieejas maŔīnmācīŔanās modeļiem. Tādējādi maŔīnmācīŔanās modeļu dzÄ«ves ciklā var izcelt Ŕādus galvenos posmus:

  • biznesa idejas noteikÅ”ana;
  • modeļa apmācÄ«ba;
  • modeļa testēŔana un ievieÅ”ana biznesa procesā;
  • modeļa ekspluatācija.

Kad ekspluatācijas procesā rodas nepiecieÅ”amÄ«ba mainÄ«t vai papildināt modeli ar jauniem datiem, cikls sākas no jauna — modelis tiek pilnveidots, testēts, un tiek izvietota jauna versija.

Novirze. Kāpēc papildināt, nevis pār-apmācÄ«t? Termins Ā«modeļa pār-apmācÄ«baĀ» ir divdomÄ«gs: starp speciālistiem tas apzÄ«mē modeļa defektu, kad modelis labi prognozē, faktiski atkārtojot prognozējamo parametrus apmācÄ«bas izlasē, bet daudz sliktāk darbojas ārējā datu izlasē. Dabiski, Ŕāds modelis ir defekts, jo Å”is trÅ«kums neļauj to izmantot.

Å ajā dzÄ«ves ciklā Ŕķiet loÄ£iski izmantot DevOps rÄ«kus: automatizētu testēŔanu, izvietoÅ”anu un uzraudzÄ«bu, modeļu aprēķinu noformēŔanu kā atseviŔķus mikroservisus. Bet ir arÄ« vairāki aspekti, kas traucē Å”o rÄ«ku tieÅ”u pielietojumu bez papildu ML papildinājumiem.

MLOps: DevOps maŔīnmācīŔanās pasaulē

Kā likt modeļiem strādāt un nest peļņu

Kā piemēru, ar kuru mēs demonstrēsim MLOps pieeju, ņemsim klasisko uzdevumu banku (vai jebkura cita) produkta klientu atbalsta čata robotizācijai. Parasti atbalsta čata biznesa process izskatās Ŕādi: klients ievada čata ziņojumu ar jautājumu un saņem atbildi no eksperta iepriekÅ” noteiktā dialogu koka ietvaros. Šāda čata automatizācijas uzdevums parasti tiek risināts, izmantojot ekspertu noteiktus noteikumu kopumus, kas ir ļoti darbietilpÄ«gi izstrādē un uzturēŔanā. Šādas automatizācijas efektivitāte, atkarÄ«bā no uzdevuma sarežģītÄ«bas, var svārstÄ«ties no 20–30%. Protams, rodas doma, ka izdevÄ«gāk ir ieviest mākslÄ«gā intelekta moduli — modeli, kas izstrādāts ar maŔīnmācÄ«bas palÄ«dzÄ«bu, kas:

  • spēj apstrādāt bez operatora iekļauÅ”anas lielāku pieprasÄ«jumu skaitu (atkarÄ«bā no tēmas, dažos gadÄ«jumos efektivitāte var sasniegt 70–80%);
  • labāk pielāgojas nestandarta formulējumiem dialogā — spēj noteikt nodomu, reālo lietotāja vēlmi neskaidri formulētā pieprasÄ«jumā;
  • spēj noteikt, kad modeļa atbilde ir adekvāta, bet kad par to ir Å”aubas un ir jāuzdod papildu precizējoÅ”s jautājums vai jāpārslēdzas uz operatoru;
  • var tikt papildu apmācÄ«ta automatizēti (vietā grupai izstrādātāju, kuri nepārtraukti pielāgo un koriģē atbilžu scenārijus, modeli papildu apmāca datu zinātnes speciālists, izmantojot atbilstoŔās maŔīnmācÄ«bas bibliotēkas).Ā 

MLOps: DevOps maŔīnmācīŔanās pasaulē

Kā panākt, ka Ŕāds progresīvs modelis darbojas? 

Kā arÄ«, risinot jebkuru citu uzdevumu, pirms Ŕāda moduļa izstrādes ir jānosaka biznesa process un formāli jāpiesaka konkrētais uzdevums, ko mēs risināsim, izmantojot maŔīnmācÄ«bu metodi. Å ajā punktā sākas operacionizācijas process, kas apzÄ«mēts ar akronÄ«mu Ops.Ā 

Nākamais solis datu zinātnieka speciālista sadarbÄ«bā ar datu inženieri ir pārbaudÄ«t datu pieejamÄ«bu un atbilstÄ«bu, kā arÄ« biznesa hipotēzi par biznesa idejas dzÄ«votspēju, izstrādājot modeļa prototipu un pārbaudot tā faktisko efektivitāti. Tikai pēc tam, kad bizness to apstiprina, var uzsākt pāreju no modeļa izstrādes uz tā integrāciju sistēmās, kas veic konkrētu biznesa procesu. SvarÄ«gs moments ir rÅ«pÄ«ga plānoÅ”ana integrēŔanā, kā arÄ« dziļa izpratne par to, kā katrā posmā tiks izmantots modelis un kādu ekonomisko efektu tas radÄ«s, jo tas ir bÅ«tisks jautājums MLOps pieeju ievieÅ”anā uzņēmuma tehnoloÄ£iskajā ainā.

Ar mākslÄ«gā intelekta tehnoloÄ£iju attÄ«stÄ«bu strauji pieaug uzdevumu skaits un dažādÄ«ba, kurus var risināt, izmantojot maŔīnmācīŔanos. Katrs Ŕāds biznesa process ir uzņēmuma ietaupÄ«jums, automatizējot darbinieku darbu masveida pozÄ«cijās (izsaukumu centri, dokumentu pārbaude un ŔķiroÅ”ana uc), tas ir klientu bāzes paplaÅ”ināŔana, pievienojot jaunas pievilcÄ«gas un ērtas funkcijas, kā arÄ« ekonomija resursu optimālās izmantoÅ”anas un pārdales dēļ. Galu galā katrs process ir vērsts uz vērtÄ«bas radīŔanu un, kā rezultātā, tam jānes noteikts ekonomiskais efekts. Å eit Ä«paÅ”i svarÄ«gi ir skaidri formulēt biznesa ideju un aprēķināt paredzamo peļņu no modeļa ievieÅ”anas kopējā uzņēmuma vērtÄ«bas radīŔanas struktÅ«rā. Pienāk brīži, kad modeļa ievieÅ”ana neattaisno sevi, un laiks, ko iegulda maŔīnmācīŔanās speciālisti, var izrādÄ«ties dārgāks nekā operators, kas veic Å”o uzdevumu. TieÅ”i tāpēc Ŕādus gadÄ«jumus ir jācenÅ”as atklāt jau agrÄ«najos mākslÄ«gā intelekta sistēmu izstrādes posmos.

Tādējādi modeļa peļņa sākas tikai tad, kad MLOps procesā ir pareizi formulēts biznesa uzdevums, noteikti prioritātes un agrīnajos izstrādes posmos ir formulēts modeļa integrācijas process sistēmā.

Jauns process – jauni izaicinājumi

VisaptveroÅ”a atbilde uz principālo uzņēmējdarbÄ«bas jautājumu par to, cik piemērotas ir ML modeļi uzdevumu risināŔanai, un vispārējo uzticēŔanās jautājumu mākslÄ«gajam intelektam – tas ir viens no galvenajiem izaicinājumiem MLOps pieejas attÄ«stÄ«bas un Ä«stenoÅ”anas procesā. Sākotnēji uzņēmēji skeptiski raugās uz maŔīnmācÄ«bas ievieÅ”anu procesos – ir grÅ«ti paļauties uz modeļiem vietās, kur iepriekÅ” parasti strādāja cilvēki. Uzņēmumiem programmas Ŕķiet kā ā€žmelnā kasteā€, kuras atbilstoŔība vēl ir jāpierāda. Turklāt banku sektorā, telekomunikāciju uzņēmumos un citur ir stingras valsts regulētāju prasÄ«bas. Visas sistēmas un algoritmi, kas ieviesti banku procesos, tiek pakļauti auditam. Lai atrisinātu Å”o uzdevumu un pierādÄ«tu uzņēmējdarbÄ«bai un regulētājiem mākslÄ«gā intelekta atbilstoŔību un precizitāti, kopā ar modeli tiek ieviesti uzraudzÄ«bas rÄ«ki. Turklāt pastāv neatkarÄ«gas validācijas procedÅ«ra, kas ir obligāta regulējuma modeļiem, un tā atbilst Centrālās bankas prasÄ«bām. NeatkarÄ«ga ekspertu grupa veic modeļa rezultātu auditu, ņemot vērā ievades datus.

Otrs izaicinājums ir modeļu risku novērtēŔana un uzskaite, ievieÅ”ot maŔīnmācÄ«bas modeli. Pat ja cilvēks nevar ar simtprocentÄ«gu pārliecÄ«bu atbildēt uz jautājumu, vai tas ir balts vai zils kleita, tāpat arÄ« mākslÄ«gajam intelektam ir tiesÄ«bas uz kļūdām. Vērts ņemt vērā, ka laika gaitā dati var mainÄ«ties, un modeļiem nepiecieÅ”ams tālāk mācÄ«ties, lai sniegtu pietiekami precÄ«zus rezultātus. Lai uzņēmumu process necietu, ir jāvada modeļu riski un regulāri jāuzrauga modeļa darbÄ«ba, to apmācot uz jauniem datiem.

MLOps: DevOps maŔīnmācīŔanās pasaulē

Taču pēc pirmā neuzticēŔanās posma sāk parādÄ«ties pretējs efekts. Jo vairāk modeļu veiksmÄ«gi tiek ieviesti procesos, jo lielāka ir uzņēmumu vēlme izmantot mākslÄ«go intelektu – rodas jauni un jauni uzdevumi, kurus var risināt ar maŔīnmācÄ«bas metodēm. Katrs uzdevums uzsāk veselu procesu, kam nepiecieÅ”amas noteiktas kompetences:

  • datu inženieri sagatavo un apstrādā datus;
  • datu zinātnieki izmanto maŔīnmācÄ«bas rÄ«kus un izstrādā modeli;
  • IT ievieÅ” modeli sistēmā;
  • ML inženieris nosaka, kā Å”o modeli pareizi integrēt procesā, kādus IT rÄ«kus izmantot atkarÄ«bā no modeļa lietoÅ”anas prasÄ«bām, ņemot vērā pieprasÄ«juma plÅ«smu, atbildes laiku utt.Ā 
  • ML arhitekts projektē, kā fiziski var Ä«stenot programmatÅ«ras produktu industrijas sistēmā.

Visam ciklam ir nepiecieÅ”ams liels augsti kvalificētu speciālistu skaits. Noteiktā attÄ«stÄ«bas posmā un ML modeļu integrēŔanas pakāpē biznesa procesos izrādās, ka lineāri palielināt speciālistu skaitu proporcionāli uzdevumu skaita pieaugumam kļūst dārgi un neefektÄ«vi. Tādēļ rodas jautājums par MLOps procesa automatizāciju — noteikt vairāku standarta maŔīnmācīŔanās uzdevumu klases, izstrādāt tipiskus datu apstrādes un modeļu tālmācÄ«bas plÅ«smas. Ideālā situācijā Ŕādu uzdevumu risināŔanai ir nepiecieÅ”ami profesionāļi, kas vienlÄ«dz labi pārvalda kompetences BigData, Data Science, DevOps un IT krustpunktā. Tādējādi lielākā problēma Data Science nozarē un lielākais izaicinājums MLOps procesu organizēŔanā ir Ŕādas kompetences trÅ«kums esoÅ”ajā darba tirgÅ«. Speciālisti, kuri atbilst Ŕīm prasÄ«bām, paÅ”laik ir vienÄ«gā skaitā darba tirgÅ« un tiek vērtēti zelta vērtē.

Par kompetencēm

Teorijā visas MLOps uzdevumus var risināt ar klasiskajiem DevOps rÄ«kiem un neizmantot specializētu lomu modeļa paplaÅ”ināŔanu. Kā jau minēts iepriekÅ”, datu zinātniekam jābÅ«t ne tikai matemātiÄ·im un datu analÄ«zes speciālistam, bet arÄ« visa plÅ«smas guru — viņam jādodas arhitektÅ«ras izstrāde, modeļu programmēŔana vairākās valodās atkarÄ«bā no arhitektÅ«ras, datu vitrine un paÅ”a lietojumprogrammas izvietojums. Tomēr tehniskās apakÅ”struktÅ«ras izstrāde, ko Ä«steno MLOps procesos, aizņem lÄ«dz 80% no darba resursiem, kas nozÄ«mē, ka kvalificēts matemātiÄ·is, kurÅ” ir kvalitatÄ«vs Data Scientist, veltÄ«s tikai 20% sava laika savai specialitātei. Tādēļ speciālistu lomu noŔķirÅ”ana, kuri Ä«steno maŔīnmācīŔanās modeļu ievieÅ”anas procesos, kļūst vitāli nepiecieÅ”ama.Ā 

Cik detalizēti ir jānoŔķir lomas, atkarÄ«gs no uzņēmuma apmēriem. Ir viena lieta, kad start-up uzņēmumā ir viens speciālists, strādnieks uz rezerves enerÄ£ijas, kurÅ” pats ir gan inženieris, gan arhitekts, gan DevOps. PilnÄ«gi cita lieta ir tad, kad lielā uzņēmumā visi modeļu izstrādes procesi ir koncentrēti vairākiem augsta lÄ«meņa Data Science speciālistiem, kamēr programmētājs vai datubāzu speciālists — biežāk sastopama un lētāka kompetence darba tirgÅ« — var uzņemties lielāko daļu ikdienas uzdevumu.

Tādējādi robeža, kurā ir jāsasniedz specialistu izvēle, lai nodroÅ”inātu MLOps procesu, un kā tiek organizēts izstrādāto modeļu operacionalizācijas process, tieÅ”i ietekmē izstrādāto modeļu ātrumu un kvalitāti, komandas produktivitāti un tās mikroklimatu.

Kas jau tagad ir izdarīts mūsu komandā

Mēs nesen sākām veidot kompetenču struktÅ«ru un MLOps procesus. Bet jau tagad MVP testēŔanā ir mÅ«su projekti par modeļu dzÄ«ves cikla pārvaldÄ«bu un modeļu pielietoÅ”anu kā servisu.

Tāpat mēs esam noteikuÅ”i optimālu kompetenču struktÅ«ru lieliem uzņēmumiem un organizatorisko struktÅ«ru sadarbÄ«bai starp visiem procesa dalÄ«bniekiem. Tika izveidotas Agile komandas, kas risina uzdevumus visam biznesa pasÅ«tÄ«tāju spektram, kā arÄ« ir izveidots sadarbÄ«bas process ar projekta komandām platformu un infrastruktÅ«ras izstrādei, kas ir MLOps veidojoŔā pamata pamats.

Jautājumi nākotnei

MLOps ir attÄ«stoÅ”a joma, kurā trÅ«kst kompetences, un nākotnē tā iegÅ«s jaudu. Bet pagaidām vislabāk ir pamatus veikt no DevOps pieredzes un praksēm. Galvenais MLOps mērÄ·is ir efektÄ«vāk izmantot ML modeļus biznesa uzdevumu risināŔanai. Bet pie tā rodas daudzi jautājumi:

  • Kā samazināt laiku modeļu nodoÅ”anai ražoÅ”anai?
  • Kā samazināt birokrātiskos ŔķērŔļus starp dažādu kompetenču komandām un paaugstināt sadarbÄ«bas virzienu?
  • Kā izsekot modeļus, pārvaldÄ«t versijas un organizēt efektÄ«vu uzraudzÄ«bu?
  • Kā izveidot patieŔām ciklisku dzÄ«ves ciklu mÅ«sdienu ML modelim?
  • Kā standartizēt maŔīnmācīŔanās procesu?

Atbilžu uz Å”iem jautājumiem lielā mērā bÅ«s atkarÄ«gs, cik ātri MLOps atklās savu pilno potenciālu.

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster