MLops: Uspon operacija strojnog učenja

Koliko god znanstvenicima podataka bilo teško označiti podatke i razviti točne modele strojnog učenja, upravljanje proizvodnim modelima može biti još zastrašujuće. Prepoznavanje pomicanja modela, prekvalifikacija modela s ažuriranjem skupova podataka, poboljšanje performansi i održavanje temeljnih tehnoloških platformi sve su važne prakse znanosti o podacima. Bez ovih disciplina modeli mogu donijeti pogrešne rezultate koji značajno utječu na poslovanje.

Razvoj modela spremnih za proizvodnju nije jednostavan podvig. Prema jednoj studiji strojnog učenja, 55 posto tvrtki nije primijenilo modele u proizvodnji, a 40 posto ili više zahtijeva više od 30 dana za uvođenje jednog modela. Uspjeh donosi nove izazove, a 41 posto ispitanika priznaje poteškoće u verzijama modela strojnog učenja i ponovljivost.

Pouka je ovdje da se nove prepreke pojavljuju nakon što se modeli strojnog učenja primene u proizvodnju i koriste u poslovnim procesima.

Upravljanje modelima i operacije nekada su bili izazovi za naprednije timove za znanost o podacima. Sada zadaci uključuju nadzor proizvodnih modela strojnog učenja za zanošenje, automatizaciju prekvalifikacije modela, upozoravanje kada je zanos značajan i prepoznavanje kada modeli trebaju nadogradnju. Kako sve više organizacija ulaže u strojno učenje, veća je potreba za izgradnjom svijesti o upravljanju modelima i operacijama.

Dobra vijest su platforme i knjižnice kao što su MLFlow s otvorenim kodom i DVC, a komercijalni alati tvrtke Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp i drugi olakšavaju upravljanje modelima i rad timovima za znanost o podacima. Javni pružatelji usluga u oblaku također dijele prakse kao što je implementacija MLops s Azure Machine Learningom.

Postoji nekoliko sličnosti između upravljanja modelima i devopa. Mnogi upravljanje modelima i operacijama nazivaju MLops i definiraju ga kao kulturu, prakse i tehnologije potrebne za razvoj i održavanje modela strojnog učenja.

Razumijevanje upravljanja modelom i operacija

Da biste bolje razumjeli upravljanje modelima i operacije, razmotrite spajanje praksi razvoja softvera sa znanstvenim metodama.

Kao programer softvera znate da dovršavanje verzije aplikacije i njeno postavljanje u produkciju nije trivijalno. No, još veći izazov započinje kad aplikacija dosegne proizvodnju. Krajnji korisnici očekuju redovita poboljšanja, a temeljna infrastruktura, platforme i knjižnice zahtijevaju zakrpe i održavanje.

Sada se prebacimo na znanstveni svijet u kojem pitanja vode do više hipoteza i ponavljanih eksperimenata. Na satu znanosti ste naučili voditi evidenciju ovih eksperimenata i pratiti put prilagođavanja različitih varijabli od jednog do drugog eksperimenta. Eksperimentiranje dovodi do poboljšanih rezultata, a dokumentiranje putovanja pomaže uvjeriti vršnjake da ste istražili sve varijable i da su rezultati ponovljivi.

Znanstvenici podataka koji eksperimentiraju s modelima strojnog učenja moraju sadržavati discipline i iz razvoja softvera i iz znanstvenih istraživanja. Modeli strojnog učenja softverski su kod razvijen na jezicima kao što su Python i R, konstruiran s TensorFlow, PyTorch ili drugim knjižnicama strojnog učenja, pokrenut na platformama poput Apache Spark i implementiran u oblačnu infrastrukturu. Razvoj i podrška modela strojnog učenja zahtijevaju značajna eksperimentiranja i optimizaciju, a znanstvenici podataka moraju dokazati točnost svojih modela.

Poput razvoja softvera, i modeli strojnog učenja trebaju stalno održavanje i poboljšanja. Nešto od toga dolazi od održavanja koda, knjižnica, platformi i infrastrukture, ali znanstvenici podataka moraju biti zabrinuti i zbog zamaha modela. Jednostavno rečeno, pomicanje modela događa se kad novi podaci postanu dostupni, a predviđanja, klasteri, segmentacije i preporuke koje pružaju modeli strojnog učenja odstupaju od očekivanih rezultata.

Uspješno upravljanje modelima započinje razvojem optimalnih modela

Razgovarao sam s Alanom Jacobsonom, glavnim službenikom za podatke i analitiku u Alteryxu, o tome kako organizacije uspijevaju i skaliraju razvoj modela strojnog učenja. „Kako bi se pojednostavio razvoj modela, prvi izazov za većinu znanstvenika podataka je osiguravanje snažne formulacije problema. Mnogo složenih poslovnih problema može se riješiti vrlo jednostavnom analitikom, ali ovo prvo zahtijeva strukturiranje problema na način da podaci i analitika mogu pomoći u odgovoru na pitanje. Čak i kada se koriste složeni modeli, najteži dio procesa obično je strukturiranje podataka i osiguravanje da se koriste ispravni ulazi na pravoj razini kvalitete. "

Slažem se s Jacobsonom. Previše implementacija podataka i tehnologija započinje s lošim izjavama o problemima ili bez njih te s neadekvatnim vremenom, alatima i stručnošću za osiguravanje odgovarajuće kvalitete podataka. Organizacije prvo moraju započeti s postavljanjem pametnih pitanja o velikim podacima, ulaganjem u dataops, a zatim pomoću agilnih metodologija u znanosti o podacima kako bi se približile rješenjima.

Praćenje modela strojnog učenja za pomicanje modela

Dobivanje precizne definicije problema presudno je za kontinuirano upravljanje i praćenje modela u proizvodnji. Jacobson je nastavio objašnjavati: „Nadgledanje modela važan je proces, ali za pravilno postupanje potrebno je snažno razumijevanje ciljeva i potencijalnih štetnih učinaka koji opravdavaju gledanje. Iako većina raspravlja o praćenju izvedbe modela i promjeni tijekom vremena, ono što je najvažnije i izazovnije u ovom prostoru je analiza nenamjernih posljedica. "

Jedan od jednostavnih načina da se shvati pomak modela i neželjene posljedice jest razmotriti utjecaj COVID-19 na modele strojnog učenja koji su razvijeni s podacima o treningu prije pandemije. Modeli strojnog učenja koji se temelje na ljudskom ponašanju, obradi prirodnog jezika, modelima potražnje potrošača ili obrascima prijevare utjecali su na promjenu ponašanja tijekom pandemije koja se zabrljala s AI modelima.

Dobavljači tehnologija objavljuju nove mogućnosti MLops kako sve više organizacija dobiva na vrijednosti i sazrijeva svoje programe znanosti o podacima. Na primjer, SAS je uveo indeks doprinosa značajki koji znanstvenicima podataka pomaže u procjeni modela bez ciljane varijable. Cloudera je nedavno najavio ML Nadzornu službu koja obuhvaća tehničke mjerne podatke i predviđanja modela praćenja.

MLops se također bavi automatizacijom i suradnjom

Između razvoja modela strojnog učenja i praćenja istog u proizvodnji dodatni su alati, procesi, suradnje i mogućnosti koji omogućavaju skaliranje praksi znanosti o podacima. Neke prakse automatizacije i infrastrukture analogne su devopsima i uključuju infrastrukturu kao kod i CI / CD (kontinuirana integracija / kontinuirano postavljanje) za modele strojnog učenja. Drugi uključuju mogućnosti razvojnih programera, kao što su modeliranje verzija s osnovnim podacima o obuci i pretraživanje spremišta modela.

Zanimljiviji aspekti MLopsa donose znanstvenu metodologiju i suradnju timovima za znanost o podacima. Na primjer, DataRobot omogućuje model prvak-izazivač koji može paralelno pokretati više eksperimentalnih modela kako bi osporio točnost proizvodne verzije. SAS želi pomoći znanstvenicima iz područja podataka da poboljšaju brzinu na tržištima i kvalitetu podataka. Alteryx je nedavno predstavio Analytics Hub za pomoć u suradnji i dijeljenju između timova za znanost o podacima.

Sve ovo pokazuje da upravljanje i skaliranje strojnog učenja zahtijeva puno više discipline i prakse nego puko traženje od znanstvenika podataka da kodira i testira slučajnu šumu, k-znači ili konvolucijsku neuronsku mrežu u Pythonu.