paint-brush
Mašininio mokymosi operacijų ir būtinos duomenų infrastruktūros architekto vadovaspateikė@minio
2,460 skaitymai
2,460 skaitymai

Mašininio mokymosi operacijų ir būtinos duomenų infrastruktūros architekto vadovas

pateikė MinIO10m2024/09/05
Read on Terminal Reader

Per ilgai; Skaityti

MLOps yra praktikos ir įrankių rinkinys, skirtas patenkinti konkrečius inžinierių, kuriančių modelius ir perkeliant juos į gamybą, poreikius. Kai kurios organizacijos pradeda su keletu namuose sukurtų įrankių, kurie versijos duomenų rinkinius po kiekvieno eksperimento ir kontrolinių taškų modelius po kiekvieno mokymo epochos. Daugelis organizacijų pasirinko naudoti oficialų įrankį, turintį eksperimentų stebėjimo, bendradarbiavimo funkcijų, modelio aptarnavimo ir net konvejerinių funkcijų.
featured image - Mašininio mokymosi operacijų ir būtinos duomenų infrastruktūros architekto vadovas
MinIO HackerNoon profile picture


MLOps, trumpinys „Mašininio mokymosi operacijos“, yra praktikos ir įrankių rinkinys, skirtas konkrečiams inžinierių, kuriančių modelius ir perkeliant juos į gamybą, poreikius. Kai kurios organizacijos pradeda su keletu namuose sukurtų įrankių, kurie versijos duomenų rinkinius po kiekvieno eksperimento ir kontrolinių taškų modelius po kiekvieno mokymo epochos. Kita vertus, daugelis organizacijų pasirinko naudoti formalų įrankį, turintį eksperimento stebėjimo, bendradarbiavimo funkcijų, modelio aptarnavimo galimybes ir netgi duomenų apdorojimo ir mokymo modelių konvejerines funkcijas.


Norėdami pasirinkti geriausią savo organizaciją, turėtumėte suprasti visas pirmaujančių MLOps įrankių galimybes. Jei einate vietiniu keliu, turėtumėte suprasti, kokių galimybių atsisakote. Vietinis požiūris tinka mažoms komandoms, kurioms reikia greitai judėti ir kurios gali neturėti laiko įvertinti naujo įrankio. Jei nuspręsite įdiegti trečiosios šalies įrankį, turėsite pasirinkti įrankį, kuris geriausiai atitinka jūsų organizacijos inžinerinę darbo eigą. Tai gali būti sudėtinga, nes šiandien populiariausi įrankiai labai skiriasi savo požiūriu ir galimybėmis. Nepriklausomai nuo jūsų pasirinkimo, jums reikės duomenų infrastruktūros, kuri gali apdoroti didelius duomenų kiekius ir efektyviai aptarnauti mokymo rinkinius. Kontrolinių taškų modeliams ir didelių duomenų rinkinių versijoms sukurti reikalingas keičiamo dydžio pajėgumas, o jei naudojate brangius GPU, jums reikės našios infrastruktūros, kad galėtumėte kuo geriau išnaudoti savo investicijas.


Šiame įraše pateiksiu funkcijų sąrašą, į kurį architektai turėtų atsižvelgti, nepaisant pasirinkto požiūrio ar įrankių. Šis funkcijų sąrašas sudarytas iš mano tyrimų ir eksperimentų su trimis geriausiais MLOps pardavėjais šiandien – KubeFlow , MLflow , ir MLRun . Organizacijoms, pasirinkusioms pradėti nuo savo pačių sukurto sprendimo, pateiksiu duomenų infrastruktūrą, kurią galima išplėsti ir atlikti. (Įspėjimas apie spoilerį – viskas, ko jums reikia, yra „MinIO“.) Kalbant apie trečiųjų šalių įrankius, pastebėjau, kad tiekėjai, kuriuos tyrinėjau, yra modeliai. Organizacijoms, kurios pasirenka naudoti MLOps įrankius, pateiksiu šį modelį ir susiesiu jį su mūsų Šiuolaikinė Datalake atskaitos architektūra .


Prieš pasinerdami į funkcijas ir infrastruktūros reikalavimus, geriau supraskime MLO svarbą. Norėdami tai padaryti, modelio kūrimą naudinga palyginti su įprastų programų kūrimu.

Skirtumas tarp modelių ir programų

Įprastas programų kūrimas, pavyzdžiui, naujos mikropaslaugos, kuri prideda programą nauja funkcija, diegimas, prasideda nuo specifikacijos peržiūros. Pirmiausia kuriamos naujos duomenų struktūros arba esamų duomenų struktūrų pakeitimai. Pradėjus kodavimą, duomenų dizainas neturėtų keistis. Tada paslauga yra įdiegta, o kodavimas yra pagrindinė šio proceso veikla. Vienetiniai testai ir galutiniai testai taip pat yra koduojami. Šie testai įrodo, kad kodas nėra klaidingas ir tinkamai įgyvendina specifikaciją. Prieš įdiegiant visą programą, juos galima automatiškai paleisti CI / CD konvejeriu.


Modelio kūrimas ir jo mokymas skiriasi. Pirmas žingsnis – suprasti neapdorotus duomenis ir reikiamą prognozę. ML inžinieriai turi parašyti tam tikrą kodą, kad įdiegtų savo neuroninius tinklus arba nustatytų algoritmą, tačiau kodavimas nėra dominuojanti veikla. Pagrindinė veikla – pakartotinis eksperimentavimas. Eksperimento metu pasikeis duomenų dizainas, modelio dizainas ir naudojami parametrai. Po kiekvieno eksperimento sukuriama metrika, rodanti, kaip modelis veikė taip, kaip buvo išmokytas. Taip pat generuojama metrika, siekiant nustatyti modelio našumą pagal patvirtinimo rinkinį ir bandymo rinkinį. Šie rodikliai naudojami modelio kokybei įrodyti. Turėtumėte išsaugoti modelį po kiekvieno eksperimento, o kiekvieną kartą keisdami duomenų rinkinius taip pat turėtumėte juos išsaugoti. Kai modelis yra paruoštas įtraukti į programą, jis turi būti supakuotas ir įdiegtas.


Apibendrinant galima pasakyti, kad MLOps yra mašininis mokymasis, ką DevOps yra tradicinei programinės įrangos kūrimui. Abi yra praktikos ir principų rinkinys, skirtas pagerinti bendradarbiavimą tarp inžinierių komandų (Dev arba ML) ir IT operacijų (Ops) komandų. Tikslas yra supaprastinti kūrimo gyvavimo ciklą nuo planavimo ir kūrimo iki diegimo ir operacijų naudojant automatizavimą. Vienas iš pagrindinių šių metodų privalumų yra nuolatinis tobulėjimas.


Pažvelkime į MLOs ir pažvelkime į konkrečias funkcijas, į kurias reikia atsižvelgti.

10 MLOps funkcijų, į kurias reikia atsižvelgti

Eksperimentų stebėjimas ir bendradarbiavimas yra funkcijos, kurios labiausiai siejamos su MLOps, tačiau šiuolaikiniai modernesni MLOps įrankiai gali padaryti daug daugiau. Pavyzdžiui, kai kurie gali suteikti jūsų eksperimentų vykdymo aplinką. Kiti gali supakuoti ir įdiegti modelius, kai yra pasirengę integruoti į programą.


Žemiau pateikiamas šiandien MLOps įrankių funkcijų superrinkinys. Šiame sąraše taip pat yra kitų dalykų, į kuriuos reikia atsižvelgti, pavyzdžiui, palaikymas ir duomenų integravimas.


  1. Pagrindinio žaidėjo palaikymas – MLOps technikos ir funkcijos nuolat tobulėja. Norite įrankio, kurį palaiko pagrindinis žaidėjas (atitinkamai Google, Databricks arba McKinsey ir Company palaiko Kubeflow, MLflow ir MLRun), užtikrinant nuolatinį vystymąsi ir tobulėjimą. Konkretus pavyzdys – daugelis šiandien populiarių įrankių buvo sukurti prieš didelius kalbų modelius (LLM); todėl daugelis prideda naujų funkcijų, kad palaikytų generatyvųjį AI.


  2. Šiuolaikinė Datalake integracija – Eksperimentai generuoja daug struktūrizuotų ir nestruktūruotų duomenų. MLOps įrankis, puikiai integruotas su Modern Datalake (arba Data Lakehouse), saugotų nestruktūruotus duomenis duomenų ežere (tai yra tiesiogiai MinIO), o struktūriniai duomenys patektų į duomenų saugyklą. Deja, daugelis MLOps įrankių buvo naudojami prieš atidarant atviros lentelės formatus, dėl kurių buvo sukurtas Modern Datalake, todėl dauguma jų turės atskirą sprendimą savo struktūriniams duomenims. Paprastai tai yra atvirojo kodo reliacinė duomenų bazė, kurią jūsų duomenų infrastruktūra turės palaikyti. Kalbant apie nestruktūrizuotus duomenis (duomenų rinkinius ir modelio kontrolinius taškus), visos pagrindinės pramonės priemonės naudoja MinIO, nes veikiame nuo 2014 m.


  3. Eksperimento stebėjimas – turbūt svarbiausia MLOps įrankio savybė yra kiekvieno eksperimento duomenų rinkinių, modelių, hiperparametrų ir metrikos stebėjimas. Eksperimento stebėjimas taip pat turėtų palengvinti pakartojamumą – jei prieš penkis eksperimentus gavote pageidaujamą rezultatą, o vėliau eksperimentai pablogino modelio našumą, turėtumėte turėti galimybę naudoti MLOps įrankį, kad galėtumėte grįžti ir gauti tikslius naudojamus hiperparametrus bei duomenų rinkinio funkcijas. kurie duoda norimą rezultatą.


  4. Palengvinkite bendradarbiavimą – svarbus MLOps įrankio komponentas yra portalas arba vartotojo sąsaja, naudojama kiekvieno eksperimento rezultatams pateikti. Šis portalas turėtų būti prieinamas visiems komandos nariams, kad jie galėtų matyti vieni kitų eksperimentus ir teikti rekomendacijas. Kai kurie MLOps įrankiai turi įmantrių grafinių ypatybių, leidžiančių kurti pasirinktines diagramas lyginant eksperimentų rezultatus.


  5. Modelių paketas – ši galimybė supakuoja modelį taip, kad jį būtų galima pasiekti iš kitų programavimo aplinkų – paprastai kaip mikropaslauga. Tai puiki savybė. Išmokytas modelis yra ne kas kita, kaip serijinis objektas. Daugelis organizacijų jau gali tai suprasti.


  6. Modelio aptarnavimas – kai modelis bus supakuotas kaip paslauga, ši funkcija leis automatiškai įdiegti paslaugą, kurioje yra modelis, oficialioje organizacijos aplinkoje. Šios funkcijos jums nereikės, jei turite a brandus CI/CD dujotiekis galintis valdyti visą programinės įrangos turtą įvairiose aplinkose.


  7. Modelių registras – modelių registre pateikiamas visų modelių, šiuo metu valdomų MLOps įrankiu, vaizdas. Juk gamybinio lygio modelių kūrimas yra visų MLOp tikslas. Šiame rodinyje turėtų būti rodomi modeliai, kurie buvo pradėti gaminti, ir modeliai, kurie niekada nebuvo pradėti gaminti. Modeliai, kurie buvo pradėti gaminti, turėtų būti pažymėti taip, kad taip pat galėtumėte nustatyti programos ar paslaugos, kuriai jie buvo įdiegti, versiją.


  8. Funkcijos be serverio – kai kuriuose įrankiuose yra funkcijų, leidžiančių kodą komentuoti, kad funkciją arba modulį būtų galima panaudoti kaip konteinerinę paslaugą eksperimentams klasteryje vykdyti. Jei nuspręsite naudoti šią funkciją, įsitikinkite, kad visi jūsų inžinieriai yra patenkinti šia technika. Tai gali būti šiek tiek mokymosi kreivė – inžinieriams, turintiems „DevOps“ pagrindą, bus lengviau, o inžinieriams, kurie anksčiau mokėsi mašininio mokymosi ir neturėdami daug kodavimo patirties, bus sunku.


  9. Duomenų vamzdyno galimybės – kai kurių MLOps įrankių tikslas yra teikti visas „end-to-end“ galimybes ir turėti ypatybių, būdingų duomenų vamzdynų kūrimui neapdorotiems duomenims gauti, juos apdoroti ir švariems duomenims saugoti. Vamzdynai paprastai nurodomi kaip Režisuoti acikliniai grafikai (DAG) - Kai kurie įrankiai taip pat turi planavimo galimybes. Kai naudojamas kartu su funkcijomis be serverio, tai gali būti galingas mažo kodo sprendimas kuriant ir paleidžiant duomenų vamzdynus. Jums to nereikės, jei jau naudojate dujotiekį arba darbo eigos įrankį.


  10. Mokymo dujotiekio galimybės – tai panašu į duomenų konvejerius, tačiau mokymo vamzdynas tęsiasi ten, kur baigiasi duomenų vamzdynai. Mokymo vamzdynas leidžia iškviesti duomenų prieigos kodą, siųsti duomenis į mokymo logiką ir komentuoti duomenų artefaktus bei modelius, kad jie būtų automatiškai išsaugoti. Panašiai kaip duomenų konvejeriai, ši funkcija gali būti naudojama kartu su funkcijomis be serverių kuriant DAG ir planuojant eksperimentus. Jei jau naudojate paskirstytą mokymo įrankį, šios funkcijos jums gali neprireikti. Galima pradėti paskirstytą mokymą iš mokymo vamzdyno, tačiau tai gali būti per daug sudėtinga.

MLOps ir saugykla

Išnagrinėjus skirtumus tarp tradicinių programų kūrimo ir mašininio mokymosi, turėtų būti aišku, kad norint sėkmingai naudotis mašininiu mokymusi, reikia tam tikros formos MLOps ir duomenų infrastruktūros, galinčios veikti ir keičiamo dydžio.


Namų sprendimai yra puikūs, jei reikia greitai pradėti projektą ir neturite laiko įvertinti formalaus MLOps įrankio. Jei laikysitės šio požiūrio, gera žinia ta, kad jūsų duomenų infrastruktūrai jums reikia tik „MinIO“. MinIO yra suderinamas su S3, taigi, jei pradėjote naudodami kitą įrankį ir naudojote S3 sąsają, kad pasiektumėte duomenų rinkinius, jūsų kodas veiks. Jei pradedate, galite pasinaudoti mūsų Python SDK , kuris taip pat yra suderinamas su S3. Apsvarstykite galimybę naudoti įmonės MinIO versiją, kuri turi talpyklos galimybes, kurios gali labai pagreitinti mokymo rinkinių duomenų prieigą. Patikrinkite Tikrosios priežastys, kodėl AI sukurtas naudojant objektų saugyklą kur mes pasineriame į tai, kaip ir kodėl MinIO naudojamas MLO palaikyti. Organizacijos, kurios renkasi namuose sukurtą sprendimą, vis tiek turėtų susipažinti su dešimčia aukščiau aprašytų funkcijų. Galų gale galite peraugti savo namuose sukurtą sprendimą, o veiksmingiausias būdas yra naudoti MLOps įrankį.


Trečiosios šalies MLOps įrankio pritaikymas yra geriausias būdas didelėms organizacijoms, turinčioms keletą AI / ML komandų, kuriančių skirtingų tipų modelius. Daugiausiai funkcijų turintis MLOps įrankis nebūtinai yra geriausias įrankis. Peržiūrėkite aukščiau pateiktas funkcijas ir atkreipkite dėmesį į jums reikalingas funkcijas, funkcijas, kurias šiuo metu turite kaip esamo CI / CD konvejerio dalį, ir galiausiai, funkcijas, kurių nenorite, tai padės rasti tinkamiausią. MLOps įrankiai labai mėgsta didelių petabaitų objektų saugojimo vietos. Daugelis jų automatiškai versijos duomenų rinkinius su kiekvienu eksperimentu ir automatiškai tikrina modelius po kiekvienos epochos. Vėlgi, MinIO gali padėti, nes talpa nėra problema. Panašiai kaip ir namuose sukurtas sprendimas, apsvarstykite galimybę naudoti įmonės MinIO leidimą. Talpyklos funkcijos veikia automatiškai, kai sukonfigūruojamos segmentui, todėl net jei MLOps įrankis neprašo naudoti talpyklos, MinIO automatiškai talpins dažnai pasiekiamus objektus, pvz., mokymo rinkinį.

Ateities pageidavimų sąrašas

Daugelis šiandien rinkoje esančių MLOps įrankių naudoja atvirojo kodo reliacinę duomenų bazę, kad saugotų struktūrinius duomenis, sugeneruotus modelio mokymo metu, o tai paprastai yra metrika ir hiperparametrai. Deja, tai bus nauja duomenų bazė, kurią turi palaikyti jūsų organizacija. Be to, jei organizacija pereina prie Modern Datalake (arba Data Lakehouse), papildomos reliacinės duomenų bazės nereikia. Būtų malonu, kad pagrindiniai MLOps pardavėjai galėtų naudoti OTF duomenų saugyklą savo struktūriniams duomenims saugoti.


Visi pagrindiniai MLOps pardavėjai naudoja MinIO po gaubtu, kad saugotų nestruktūrizuotus duomenis. Deja, tai paprastai yra įdiegta kaip atskiras mažas egzempliorius, kuris įdiegiamas kaip bendro didesnio MLOps įrankio diegimo dalis. Be to, paprastai tai yra senesnė MinIO versija, kuri prieštarauja mūsų etosui, kad visada paleidžiame naujausias ir geriausias . Esamiems MinIO klientams būtų puiku leisti MLOps įrankiui naudoti kibirą esamoje instaliacijoje. Klientams, kurie pradeda naudoti MinIO, MLOps įrankis turėtų palaikyti naujausią MinIO versiją. Įdiegus MinIO taip pat galima naudoti ne tik MLOps išteklių, bet ir kitiems tikslams jūsų organizacijoje, būtent visur, kur reikia objektų saugojimo privalumų.

Išvada

Šiame įraše pateikiau MLOps architekto vadovą, nagrinėdamas tiek MLOps funkcijas, tiek duomenų infrastruktūrą, reikalingą šioms funkcijoms palaikyti. Aukšto lygio organizacijos gali sukurti savo pačių sukurtą sprendimą arba įdiegti trečiosios šalies sprendimą. Nepriklausomai nuo pasirinktos krypties, svarbu suprasti visas šiandieninėje pramonėje prieinamas funkcijas. Namų sprendimai leidžia greitai pradėti projektą, tačiau netrukus galite peraugti savo sprendimą. Taip pat svarbu suprasti savo specifinius poreikius ir tai, kaip MLOps veiks su esamu CI/CD konvejeriu. Daugelyje MLOps įrankių yra daug funkcijų ir juose yra funkcijų, kurių galbūt niekada nenaudosite arba kurias jau turite kaip savo CI / CD konvejerio dalį.


Norint sėkmingai įdiegti MLOps, reikia duomenų infrastruktūros, kuri galėtų ją palaikyti. Šiame įraše pristačiau paprastą sprendimą tiems, kurie pasirinko namuose sukurtą sprendimą, ir aprašiau, ko tikėtis iš trečiųjų šalių įrankių ir jiems reikalingų išteklių.


Baigiau norų sąrašu dėl tolesnio MLOps įrankių kūrimo, kurie padėtų jiems geriau integruotis su Modern Datalake.


Norėdami gauti daugiau informacijos apie „Modern Datalake“ naudojimą AI / ML darbo krūviams palaikyti, žr AI / ML šiuolaikiniame Datalake .


Jei turite klausimų, būtinai susisiekite su mumis el Laisvas !

L O A D I N G
. . . comments & more!

About Author

MinIO HackerNoon profile picture
MinIO@minio
MinIO is a high-performance, cloud-native object store that runs anywhere (public cloud, private cloud, colo, onprem).

PABAIGTI ŽYMES

ŠIS STRAIPSNIS BUVO PRISTATYMAS...