MLOps: DevOps en la Maŝinlernado-mondo

En 2018, la koncepto de MLOps aperis en profesiaj rondoj kaj ĉe temaj konferencoj dediĉitaj al AI, kiu rapide ekregis en la industrio kaj nun disvolviĝas kiel sendependa direkto. En la estonteco, MLOps povas iĝi unu el la plej popularaj areoj en IT. Kio ĝi estas kaj per kio ĝi estas manĝata?Ni eksciu ĉi-sube.

MLOps: DevOps en la Maŝinlernado-mondo

Kio estas MLOps

MLOps (kombinanta maŝinlernajn teknologiojn kaj procezojn kaj alirojn al efektivigo de evoluintaj modeloj en komercajn procezojn) estas nova maniero de kunlaboro inter komercaj reprezentantoj, sciencistoj, matematikistoj, maŝinlernado-specialistoj kaj IT-inĝenieroj dum kreado de artefarita inteligenteco-sistemoj.

Alivorte, ĝi estas maniero igi maŝinlernajn metodojn kaj teknologiojn en utila ilo por solvi komercajn problemojn. 

Necesas kompreni, ke la ĉeno de produktiveco komenciĝas longe antaŭ la disvolviĝo de la modelo. Ĝia unua paŝo estas difini komercan problemon, hipotezon pri la valoro, kiun oni povas ĉerpi el la datumoj, kaj komercan ideon por apliki ĝin. 

La koncepto mem de MLOps ekestis kiel analogeco al la koncepto de DevOps rilate al maŝinlernantaj modeloj kaj teknologioj. DevOps estas aliro al programaro, kiu ebligas al vi pliigi la rapidecon de efektivigo de individuaj ŝanĝoj konservante flekseblecon kaj fidindecon uzante kelkajn alirojn, inkluzive de kontinua evoluo, dividado de funkcioj en kelkajn sendependajn mikroservojn, aŭtomatigitan testadon kaj disfaldiĝon de individuaj. ŝanĝoj, tutmonda sanmonitorado, rapida respondsistemo por detektitaj misfunkciadoj, ktp. 

DevOps difinis la programaran vivociklon, kaj la komunumo elpensis la ideon apliki la saman metodaron al grandaj datumoj. DataOps estas provo adapti kaj vastigi la metodaron konsiderante la trajtojn de stokado, elsendado kaj prilaborado de grandaj kvantoj da datumoj en diversaj kaj interoperacieblaj platformoj.
  
Kun la apero de certa kritika maso de maŝinlernado-modeloj efektivigitaj en la komercaj procezoj de entreprenoj, forta simileco estis rimarkita inter la vivociklo de matematikaj maŝinlernado-modeloj kaj la programara vivociklo. La nura diferenco estas, ke la modelaj algoritmoj estas kreitaj uzante maŝinlernajn ilojn kaj metodojn. Tial, la ideo nature ekestis apliki kaj adapti jam konatajn alirojn al programaro-disvolviĝo por maŝinlernado-modeloj. Tiel, la sekvaj ŝlosilaj stadioj povas esti distingitaj en la vivociklo de maŝinlernado-modeloj:

  • difini komercan ideon;
  • modela trejnado;
  • testado kaj efektivigo de la modelo en la komercan procezon;
  • funkciado de la modelo.

Kiam dum operacio necesas ŝanĝi aŭ retrejni la modelon sur novaj datumoj, la ciklo denove komenciĝas - la modelo estas rafinita, provita, kaj nova versio estas deplojita.

Retiriĝo. Kial retrejni kaj ne retrejni? La termino "modela retrejnado" havas duoblan signifon: inter fakuloj ĝi signifas modelan difekton, kiam la modelo antaŭdiras bone, efektive ripetas la antaŭviditan parametron sur la trejna aro, sed rezultas multe pli malbone sur la ekstera datuma specimeno. Kompreneble, tia modelo estas difekto, ĉar ĉi tiu difekto ne permesas ĝian uzon.

En ĉi tiu vivociklo, ŝajnas logike uzi DevOps-ilojn: aŭtomatigitan testadon, disfaldiĝon kaj monitoradon, dezajnante modelajn kalkulojn en la formo de apartaj mikroservoj. Sed ankaŭ ekzistas kelkaj funkcioj, kiuj malhelpas la rektan uzon de ĉi tiuj iloj sen plia ML-ligado.

MLOps: DevOps en la Maŝinlernado-mondo

Kiel igi modelojn funkcii kaj esti profitaj

Kiel ekzemplo, en kiu ni montros la uzon de la MLOps-aliro, ni prenos la klasikan taskon robotigi babilejan subtenon por banka (aŭ ajna alia) produkto. Tipe, babilsubtena komerca procezo aspektas tiel: kliento enmetas mesaĝon kun demando en babilejo kaj ricevas respondon de specialisto ene de antaŭdifinita dialogarbo. La tasko aŭtomatigi tian babilejon estas kutime solvita per sperte difinitaj reguloj, kiuj estas tre laborintensaj por disvolvi kaj konservi. La efikeco de tia aŭtomatigo, depende de la nivelo de komplekseco de la tasko, povas esti 20-30%. Kompreneble, ŝprucas la ideo, ke estas pli enspezige efektivigi artefaritan inteligentecan modulon - modelon evoluigitan per maŝina lernado, kiu:

  • kapablas prilabori pli grandan nombron da petoj sen partopreno de operaciisto (depende de la temo, en kelkaj kazoj la efikeco povas atingi 70–80%);
  • pli bone adaptiĝas al ne-norma vortumo en dialogo - kapablas determini la intencon, la realan deziron de la uzanto surbaze de ne klare formulita peto;
  • scias kiel determini kiam la respondo de la modelo estas taŭga, kaj kiam estas duboj pri la "konscio" de ĉi tiu respondo kaj vi devas demandi plian klarigantan demandon aŭ ŝanĝi al la funkciigisto;
  • povas esti aldone trejnita aŭtomate (anstataŭ grupo de programistoj konstante adaptanta kaj korektanta respondajn skriptojn, la modelo estas aldone trejnita de Data Science-specialisto uzante la taŭgajn maŝinlernajn bibliotekojn). 

MLOps: DevOps en la Maŝinlernado-mondo

Kiel funkcii tian altnivelan modelon? 

Kiel kun solvado de ajna alia problemo, antaŭ ol disvolvi tian modulon, necesas difini komercan procezon kaj formale priskribi la specifan taskon, kiun ni solvos per la maŝinlernada metodo. Je ĉi tiu punkto, la procezo de operaciigo, nomumita per la akronimo Ops, komenciĝas. 

La sekva paŝo estas, ke la Datuma Sciencisto, kunlabore kun la Datuma Inĝeniero, kontrolas la haveblecon kaj sufiĉon de datumoj kaj la komerca hipotezo pri la daŭrigebleco de la komerca ideo, disvolvante prototipan modelon kaj testante ĝian realan efikecon. Nur post konfirmo de la komerco povas komenciĝi la transiro de evoluigado de modelo al integriĝo de ĝi en sistemojn, kiuj plenumas specifan komercan procezon. Fin-al-fina efektivigplanado, profunda kompreno en ĉiu stadio de kiel la modelo estos uzita kaj kian ekonomian efikon ĝi alportos, estas fundamenta punkto en la procezoj de enkondukado de MLOps-aliroj en la teknologian pejzaĝon de la firmao.

Kun la evoluo de AI-teknologioj, la nombro kaj vario de problemoj, kiuj povas esti solvitaj per maŝina lernado, pliiĝas eksponente. Ĉiu tia komerca procezo estas ŝparado por la kompanio pro la aŭtomatigo de la laboro de amasaj dungitoj (vokocentro, kontrolado kaj ordigo de dokumentoj, ktp.), ĝi estas ekspansio de la klientbazo aldonante novajn allogajn kaj oportunajn funkciojn, ĝi ŝparas monon pro optimuma ilia uzo kaj redistribuo de rimedoj kaj multe pli. Finfine, ajna procezo estas koncentrita al kreado de valoro kaj, kiel rezulto, devas alporti certan ekonomian efikon. Ĉi tie estas tre grave klare formuli la komercan ideon kaj kalkuli la atendatan profiton de efektivigado de la modelo en la ĝenerala valorkreadstrukturo de la kompanio. Estas situacioj, kiam efektivigi modelon ne pravigas sin, kaj la tempo pasigita de maŝinlernado-specialistoj estas multe pli multekosta ol la laborejo de la funkciigisto plenumanta ĉi tiun taskon. Tial necesas provi identigi tiajn kazojn en la fruaj stadioj de kreado de AI-sistemoj.

Sekve, modeloj komencas generi profiton nur kiam la komerca problemo estis ĝuste formulita en la MLOps-procezo, prioritatoj estis fiksitaj, kaj la procezo de enkonduko de la modelo en la sistemon estis formulita en la fruaj stadioj de evoluo.

Nova procezo - novaj defioj

Ampleksa respondo al la fundamenta komerca demando pri kiom aplikeblaj ML-modeloj estas por solvi problemojn, la ĝenerala temo de fido al AI estas unu el la ŝlosilaj defioj en la procezo de evoluigado kaj efektivigado de MLOps-aliroj. Komence, entreprenoj estas skeptikaj pri la enkonduko de maŝina lernado en procezojn - estas malfacile fidi modelojn en lokoj kie antaŭe, kiel regulo, homoj laboris. Por komerco, programoj ŝajnas esti "nigra skatolo", kies graveco ankoraŭ devas esti pruvita. Krome, en bankado, en la komerco de telekomunikaj telefonistoj kaj aliaj, estas striktaj postuloj de registaraj reguligistoj. Ĉiuj sistemoj kaj algoritmoj, kiuj estas efektivigitaj en bankaj procezoj, estas submetitaj al revizio. Por solvi ĉi tiun problemon, por pruvi al komerco kaj regulistoj la validecon kaj ĝustecon de artefarita inteligenteco-respondoj, monitoraj iloj estas enkondukitaj kune kun la modelo. Krome, ekzistas sendependa validiga proceduro, deviga por reguligaj modeloj, kiu plenumas la postulojn de la Centra Banko. Sendependa fakgrupo kontrolas la rezultojn akiritajn de la modelo konsiderante la enigajn datumojn.

La dua defio estas taksi kaj konsideri modelajn riskojn dum efektivigado de maŝinlernada modelo. Eĉ se homo ne povas respondi la demandon kun centprocenta certeco, ĉu tiu sama robo estis blanka aŭ blua, tiam ankaŭ artefarita inteligenteco rajtas erari. Ankaŭ indas konsideri, ke datumoj povas ŝanĝiĝi kun la tempo, kaj modeloj devas esti retrejnitaj por produkti sufiĉe precizan rezulton. Por certigi, ke la komerca procezo ne suferas, necesas administri modelajn riskojn kaj kontroli la agadon de la modelo, regule retrejnante ĝin sur novaj datumoj.

MLOps: DevOps en la Maŝinlernado-mondo

Sed post la unua etapo de malfido, la kontraŭa efiko komencas aperi. Ju pli da modeloj estas sukcese efektivigitaj en procezojn, des pli kreskas la apetito de komerco por la uzo de artefarita inteligenteco - novaj kaj novaj problemoj estas trovitaj, kiuj povas esti solvitaj per maŝinlernado-metodoj. Ĉiu tasko ekigas tutan procezon kiu postulas certajn kompetentecojn:

  • datumaj inĝenieroj preparas kaj prilaboras datumojn;
  • datumsciencistoj uzas maŝinlernajn ilojn kaj disvolvas modelon;
  • IT efektivigas la modelon en la sistemon;
  • La ML-inĝeniero determinas kiel ĝuste integri ĉi tiun modelon en la procezon, kiujn IT-ilojn uzi, depende de la postuloj por la maniero de aplikado de la modelo, konsiderante la fluon de petoj, respondtempo, ktp. 
  • ML-arkitekto dizajnas kiel softvaraĵo povas esti fizike efektivigita en industria sistemo.

La tuta ciklo postulas grandan nombron da tre kvalifikitaj specialistoj. Je certa punkto de la disvolviĝo kaj grado de penetrado de ML-modeloj en komercajn procezojn, rezultas, ke linie grimpi la nombron da specialistoj proporcie al la pliiĝo de la nombro da taskoj fariĝas multekosta kaj neefika. Sekve, la demando ŝprucas aŭtomatigi la MLOps-procezon - difini plurajn normajn klasojn de maŝinlernado-problemoj, disvolvante normajn pritraktadduktojn kaj kroman trejnadon de modeloj. En ideala situacio, solvi tiajn problemojn postulas profesiulojn, kiuj same kapablas pri kompetentecoj ĉe la intersekco de Big Data, Data Science, DevOps kaj IT. Tial, la plej granda problemo en la Datuma Scienca industrio kaj la plej granda defio en organizado de MLOps-procezoj estas la manko de tia kompetenteco en la ekzistanta trejna merkato. Specialistoj, kiuj plenumas ĉi tiujn postulojn, estas nuntempe maloftaj sur la labormerkato kaj valoras sian pezon en oro.

Pri la afero de kompetentecoj

En teorio, ĉiuj MLOps-taskoj povas esti solvitaj per klasikaj DevOps-iloj kaj sen recurri al specialeca etendo de la rolmodelo. Tiam, kiel ni rimarkis supre, datuma sciencisto devas esti ne nur matematikisto kaj datuma analizisto, sed ankaŭ guruo de la tuta dukto - li respondecas pri evoluigado de la arkitekturo, programado de modeloj en pluraj lingvoj depende de la arkitekturo, preparado. datumvendejo kaj deplojo la aplikaĵo mem. Tamen, krei la teknologian kadron efektivigitan en la fin-al-fina MLOps-procezo prenas ĝis 80% de laborkostoj, kio signifas, ke kvalifikita matematikisto, kiu estas kvalita Datumsciencisto, dediĉos nur 20% de sia tempo al sia specialaĵo. . Tial, konturi la rolojn de specialistoj implikitaj en la procezo de efektivigado de maŝinlernado-modeloj iĝas esenca. 

Kiom detale la roloj devus esti konturitaj dependas de la grandeco de la entrepreno. Estas unu afero, kiam starto havas unu specialiston, laboreman en la energirezervo, kiu estas sia propra inĝeniero, arkitekto kaj DevOps. Estas tute alia afero, kiam, en granda entrepreno, ĉiuj modelevoluaj procezoj koncentriĝas al kelkaj altnivelaj specialistoj pri Data Science, dum programisto aŭ datumbaza specialisto - pli ofta kaj malpli multekosta kompetenteco en la labormerkato - povas preni. pri la plej granda parto de la laboro.rutinaj taskoj.

Tiel, la rapideco kaj kvalito de la evoluintaj modeloj, la produktiveco de la teamo kaj la mikroklimato en ĝi rekte dependas de kie situas la limo en la elekto de specialistoj por subteni la MLOps-procezon kaj kiel la procezo de funkciado de la evoluintaj modeloj estas organizita. .

Kion nia teamo jam faris

Ni lastatempe komencis konstrui kompetentecan strukturon kaj MLOps-procezojn. Sed niaj projektoj pri modela vivciklo-administrado kaj pri uzado de modeloj kiel servo jam estas en la MVP-prova stadio.

Ni ankaŭ determinis la optimuman kompetentecan strukturon por granda entrepreno kaj la organizan strukturon de interago inter ĉiuj partoprenantoj en la procezo. Lertaj teamoj estis organizitaj por solvi problemojn por la tuta gamo de komercaj klientoj, kaj procezo de interago kun projektteamoj por krei platformojn kaj infrastrukturon, kiu estas la fundamento de la konstruaĵo de MLOps konstruata, estis establita.

Demandoj por la estonteco

MLOps estas kreskanta areo, kiu spertas mankon de kompetentecoj kaj akiros impeton en la estonteco. Intertempe, plej bone estas konstrui sur evoluoj kaj praktikoj de DevOps. La ĉefa celo de MLOps estas pli efike uzi ML-modelojn por solvi komercajn problemojn. Sed ĉi tio levas multajn demandojn:

  • Kiel redukti la tempon por lanĉi modelojn en produktadon?
  • Kiel redukti burokratian frotadon inter teamoj de malsamaj kompetentecoj kaj pliigi la fokuson pri kunlaboro?
  • Kiel spuri modelojn, administri versiojn kaj organizi efikan monitoradon?
  • Kiel krei vere cirklan vivciklon por moderna ML-modelo?
  • Kiel normigi la maŝinlernadon?

La respondoj al ĉi tiuj demandoj plejparte determinos kiom rapide MLOps atingos sian plenan potencialon.

fonto: www.habr.com

Aldoni komenton