Kai kurie pasauliniai sektoriai pradeda daugiau investuoti į mašininį mokymąsi (ML).
ML modelius iš pradžių gali paleisti ir valdyti specialistų komandos, tačiau viena didžiausių kliūčių yra įgytų žinių perkėlimas į kitą modelį, kad procesai būtų plečiami.
Siekiant pagerinti ir standartizuoti modelio gyvavimo ciklo valdymo procesus, komandos, kuriančios mašininio mokymosi modelius, vis dažniau naudoja MLOps metodus.
Skaitykite toliau, kad sužinotumėte daugiau apie kai kuriuos geriausius šiandien prieinamus MLOps įrankius ir platformas ir kaip jie gali palengvinti mašininį mokymąsi įrankių, kūrėjų ir procedūrų požiūriu.
Kas yra MLOps?
Mašininio mokymosi modelių strategijų, normų ir geriausios praktikos kūrimo technika yra žinoma kaip „mašininio mokymosi operacijos“ arba „MLOps“.
MLOps siekia užtikrinti, kad visas ML kūrimo ciklas – nuo sumanymo iki diegimo – būtų kruopščiai dokumentuojamas ir valdomas siekiant geriausių rezultatų, o ne investuoti į tai daug laiko ir išteklių be strategijos.
MLOps tikslas yra kodifikuoti geriausią praktiką taip, kad mašininio mokymosi plėtra būtų lengviau keičiama ML operatoriams ir kūrėjams, taip pat pagerinti ML modelių kokybę ir saugumą.
Kai kurie MLOps vadina „DevOps mašininiam mokymuisi“, nes jis sėkmingai taiko „DevOps“ principus labiau specializuotoje technologijų plėtros srityje.
Tai naudingas būdas galvoti apie MLOps, nes, kaip ir „DevOps“, pabrėžiamas dalijimasis žiniomis, bendradarbiavimas ir geriausia praktika tarp komandų ir įrankių.
MLOps suteikia kūrėjams, duomenų mokslininkams ir operacijų komandoms sistemą, skirtą bendradarbiauti ir dėl to sukurti galingiausius ML modelius.
Kodėl verta naudoti MLOps įrankius?
MLOps įrankiai gali atlikti įvairias ML komandos pareigas, tačiau dažnai jie skirstomi į dvi grupes: platformos administravimą ir atskirų komponentų valdymą.
Nors kai kurie MLOps produktai yra skirti tik vienai pagrindinei funkcijai, pvz., duomenų ar metaduomenų valdymui, kiti įrankiai priima visapusiškesnę strategiją ir suteikia MLOps platformą, leidžiančią valdyti kelis ML gyvavimo ciklo aspektus.
Ieškokite MLOps sprendimų, kurie padėtų jūsų komandai valdyti šias ML plėtros sritis, nesvarbu, ar ieškote specialisto, ar platesnio įrankio:
- Duomenų tvarkymas
- Dizainas ir modeliavimas
- Projektų ir darbo vietos valdymas
- ML modelio diegimas ir nuolatinė priežiūra
- Gyvavimo ciklo valdymas nuo pradžios iki pabaigos, kurį paprastai siūlo pilno aptarnavimo MLOps platformos.
MLOps įrankiai
1. MLFlow
Mašininio mokymosi gyvavimo ciklas yra valdomas atvirojo kodo platformos MLflow ir apima centrinę modelio registraciją, diegimą ir eksperimentavimą.
MLflow gali naudotis bet kokio dydžio komanda – tiek individualiai, tiek kolektyviai. Bibliotekos neturi jokios įtakos įrankiui.
Ją gali naudoti bet kuri programavimo kalba ir mašininio mokymosi biblioteka.
Kad būtų paprasčiau mokyti, diegti ir valdyti mašininio mokymosi programas, MLFlow sąveikauja su daugybe mašininio mokymosi sistemų, įskaitant TensorFlow ir Pitorchas.
Be to, MLflow teikia lengvai naudojamas API, kurios gali būti įtrauktos į bet kokias esamas mašininio mokymosi programas ar bibliotekas.
MLflow turi keturias pagrindines funkcijas, kurios palengvina eksperimentų stebėjimą ir planavimą:
- MLflow Tracking – API ir vartotojo sąsaja, skirta mašininio mokymosi kodo parametrams, versijoms, metrikoms ir artefaktams registruoti, taip pat rezultatams vėliau rodyti ir kontrastuoti.
- MLflow projektai – mašininio mokymosi kodo pakavimas daugkartiniu, atkuriamu formatu, kad būtų galima perkelti į gamybą arba dalytis su kitais duomenų mokslininkais
- MLflow modeliai – modelių priežiūra ir diegimas įvairiose modelių aptarnavimo ir išvadų sistemose iš įvairių ML bibliotekų
- MLflow modelių registras – centrinė modelių saugykla, leidžianti bendrai valdyti visą MLflow modelio gyvavimo laikotarpį, įskaitant modelio versijų kūrimą, etapų perėjimus ir anotacijas.
2. „Kubeflow“
ML įrankių rinkinys, skirtas Kubernetes, vadinamas Kubeflow. „Docker“ konteinerių pakavimas ir tvarkymas, pagalbinės priemonės prižiūrint mašininio mokymosi sistemos.
Supaprastindamas vykdymo valdymą ir mašininio mokymosi darbo eigos diegimą, jis skatina mašininio mokymosi modelių mastelio keitimą.
Tai atvirojo kodo projektas, apimantis kruopščiai atrinktą papildomų įrankių ir sistemų grupę, pritaikytą skirtingiems ML poreikiams.
Ilgos ML mokymo užduotys, rankinis eksperimentavimas, pakartojamumas ir „DevOps“ iššūkiai gali būti sprendžiami naudojant „Kubeflow Pipelines“.
Keliems mašininio mokymosi etapams, įskaitant mokymą, vamzdynų kūrimą ir priežiūrą Jupyter užrašų knygelės, Kubeflow siūlo specializuotas paslaugas ir integraciją.
Tai leidžia lengvai valdyti ir sekti AI darbo krūvius, taip pat įdiegti mašininio mokymosi (ML) modelius ir duomenų vamzdynus Kubernetes klasteriuose.
Siūloma:
- Nešiojamieji kompiuteriai, skirti naudoti SDK sąveikai su sistema
- vartotojo sąsaja (UI), skirta valdyti ir stebėti paleidimus, užduotis ir eksperimentus
- Greitai sukurti visapusiškus sprendimus, nereikia kiekvieną kartą perstatyti ir pakartotinai naudoti komponentus bei vamzdynus.
- Kaip pagrindinis „Kubeflow“ komponentas arba kaip atskiras įrenginys, siūlomi „Kubeflow“ vamzdynai.
3. Duomenų versijos valdymas
Atvirojo kodo versijų valdymo sprendimas mašininio mokymosi projektams vadinamas DVC arba duomenų versijos valdymu.
Kad ir kokią kalbą pasirinktumėte, tai yra eksperimentinis įrankis, padedantis apibrėžti dujotiekį.
DVC naudoja kodą, duomenų versijų nustatymą ir atkuriamumą, kad padėtų sutaupyti laiko, kai aptinkate ankstesnės ML modelio versijos problemą.
Be to, galite naudoti DVC vamzdynus, kad mokytumėte savo modelį ir platintumėte jį savo komandos nariams. DVC gali tvarkyti didelių duomenų tvarkymą ir versijų nustatymą, o duomenys gali būti saugomi lengvai pasiekiamu būdu.
Nors jame yra keletas (ribotų) eksperimento stebėjimo funkcijų, daugiausia dėmesio skiriama duomenų ir konvejerinių versijų kūrimui ir valdymui.
Siūloma:
- Jis yra saugojimo agnostikas, todėl galima naudoti įvairius saugojimo tipus.
- Taip pat pateikiama stebėjimo statistika.
- iš anksto sukurta priemonė sujungti ML etapus į DAG ir paleisti visą dujotiekį nuo pradžios iki pabaigos
- Visą kiekvieno ML modelio kūrimą galima stebėti naudojant visą jo kodą ir duomenų kilmę.
- Atkuriamumas tiksliai išsaugant pradinę eksperimento konfigūraciją, įvesties duomenis ir programos kodą.
4. Pachyderm
Pachyderm yra versijų valdymo programa, skirta mašininiam mokymuisi ir duomenų mokslui, panaši į DVC.
Be to, kadangi jis buvo sukurtas naudojant Docker ir Kubernetes, jis gali vykdyti ir įdiegti mašininio mokymosi programas bet kurioje debesies platformoje.
„Pachyderm“ garantuoja, kad kiekvieną duomenų dalį, sunaudotą mašininio mokymosi modelyje, bus galima sekti atgal ir sukurti versijas.
Jis naudojamas mašininio mokymosi modeliams kurti, platinti, valdyti ir stebėti. Yra modelių registras, modelių valdymo sistema ir CLI įrankių rinkinys.
Kūrėjai gali automatizuoti ir išplėsti savo mašininio mokymosi gyvavimo ciklą naudodami Pachyderm duomenų fondą, kuris taip pat užtikrina pakartojamumą.
Tai palaiko griežtus duomenų valdymo standartus, sumažina duomenų apdorojimo ir saugojimo išlaidas ir padeda įmonėms greičiau pateikti savo duomenų mokslo iniciatyvas rinkai.
5. poliaksonas
Naudojant „Polyaxon“ platformą, mašininio mokymosi projektus ir giluminio mokymosi programas galima pakartoti ir valdyti per visą jų gyvavimo ciklą.
„Polyaxon“ gali priglobti ir administruoti įrankį, jį galima įdėti į bet kurį duomenų centrą arba debesies tiekėją. Tokie kaip Torch, Tensorflow ir MXNet, kurie palaiko visas populiariausias giluminio mokymosi sistemas.
Kalbant apie orkestravimą, „Polyaxon“ leidžia išnaudoti visas klasterio galimybes suplanuojant užduotis ir testus per jų CLI, prietaisų skydelį, SDK arba REST API.
Siūloma:
- Šiuo metu galite naudoti atvirojo kodo versiją, tačiau joje taip pat yra pasirinkimų, skirtų įmonei.
- Nors jis apima visą gyvavimo ciklą, įskaitant ir orkestravimą, jis gali daug daugiau.
- Su techniniais informaciniais dokumentais, darbo pradžios gairėmis, mokymosi medžiaga, vadovais, vadovėliais, pakeitimų žurnalais ir dar daugiau, tai yra labai gerai dokumentuota platforma.
- Naudojant eksperimento įžvalgų informacijos suvestinę, galima stebėti, sekti ir įvertinti kiekvieną optimizavimo eksperimentą.
6. kometa
Comet yra meta mašininio mokymosi platforma, kuri seka, kontrastuoja, paaiškina ir tobulina eksperimentus bei modelius.
Visi jūsų eksperimentai gali būti matomi ir lyginami vienoje vietoje.
Jis veikia atliekant bet kokią mašininio mokymosi užduotį, visur, kur atliekamas jūsų kodas, ir su bet kokia mašininio mokymosi biblioteka.
Kometa tinka grupėms, asmenims, akademinėms institucijoms, įmonėms ir visiems kitiems, kurie nori greitai vizualizuoti eksperimentus, supaprastinti darbą ir atlikti eksperimentus.
Duomenų mokslininkai ir komandos gali sekti, patikslinti, tobulinti ir palyginti eksperimentus ir modelius, naudodami savarankiškai priglobtą ir debesies pagrindu veikiančią meta-mašinų mokymosi platformą Comet.
Siūloma:
- Komandos nariams yra daug galimybių dalytis užduotimis.
- Jame yra keletas integracijų, kurios leidžia lengvai susieti jį su kitomis technologijomis
- Puikiai veikia su dabartinėmis ML bibliotekomis
- Rūpinasi vartotojų valdymu
- Įgalintas eksperimentų palyginimas, įskaitant kodo, hiperparametrų, metrikų, prognozių, priklausomybių ir sistemos metrikos palyginimą.
- Pateikiami skirtingi vaizdo, garso, teksto ir lentelių duomenų moduliai, leidžiantys vizualizuoti pavyzdžius.
7. Optūna
„Optuna“ yra autonominio hiperparametrų optimizavimo sistema, kuri gali būti taikoma tiek mašininiam mokymuisi, tiek giliajam mokymuisi, tiek kitoms sritims.
Jame yra įvairių pažangiausių algoritmų, iš kurių galite pasirinkti (arba susieti), labai paprasta paskirstyti mokymus daugelyje kompiuterių ir siūlo patrauklią rezultatų vizualizaciją.
Su juo integruotos populiarios mašininio mokymosi bibliotekos, tokios kaip PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM ir XGBoost.
Jame pateikiami pažangiausi algoritmai, leidžiantys klientams greičiau gauti rezultatus, greitai sumažinant pavyzdžių, kurie neatrodo daug žadantys.
Naudodamas Python pagrįstus algoritmus, jis automatiškai ieško idealių hiperparametrų. „Optuna“ skatina lygiagrečią hiperparametrų paiešką daugelyje gijų, nekeičiant pradinio kodo.
Siūloma:
- Jis palaiko paskirstytą mokymą klasteryje ir viename kompiuteryje (keli procesai) (kelių mazgų)
- Jis palaiko keletą apkarpymo būdų, kad pagreitintų konvergenciją (ir mažiau skaičiuotų)
- Jame yra įvairių galingų vizualizacijų, tokių kaip pjūvio brėžinys, kontūro brėžinys ir lygiagrečios koordinatės.
8. Kedro
„Kedro“ yra nemokama „Python“ sistema, skirta kodui rašyti, kurią galima atnaujinti ir prižiūrėti duomenų mokslo projektams.
Jame pateikiamos idėjos nuo geriausios programinės įrangos inžinerijos praktikos iki mašininio mokymosi kodo. Python yra šio darbo eigos orkestravimo įrankio pagrindas.
Kad jūsų ML procesai būtų paprastesni ir tikslesni, galite sukurti atkuriamą, prižiūrimą ir modulinę darbo eigą.
„Kedro“ į mašininio mokymosi aplinką įtraukia programinės įrangos inžinerijos principus, tokius kaip moduliškumas, atsakomybės atskyrimas ir versijų kūrimas.
Remiantis Cookiecutter Data Science, ji suteikia bendrą, pritaikomą projekto sistemą.
Duomenų katalogas valdo daugybę paprastų duomenų jungčių, naudojamų duomenims saugoti ir įkelti keliose failų sistemose ir failų formatuose. Tai padaro mašininio mokymosi projektus veiksmingesnius ir supaprastina duomenų perdavimo kanalą.
Siūloma:
- Kedro leidžia naudoti išsklaidytą arba atskirą mašiną.
- Galite automatizuoti priklausomybes tarp Python kodo ir darbo eigos vizualizacijos naudodami konvejerio abstrakciją.
- Naudodama modulinį, daugkartinį kodą, ši technologija palengvina komandų bendradarbiavimą įvairiais lygiais ir pagerina produktyvumą kodavimo aplinkoje.
- Pagrindinis tikslas yra įveikti Jupyter nešiojamųjų kompiuterių, vienkartinių scenarijų ir klijų kodo trūkumus rašant prižiūrimą duomenų mokslo programavimą.
9. BentoML
Naudojant BentoML lengviau kurti mašininio mokymosi API galutinius taškus.
Tai suteikia tipišką, tačiau sutrumpintą infrastruktūrą, skirtą išmoktiems mašininio mokymosi modeliams perkelti į gamybą.
Tai leidžia supakuoti išmoktus modelius, skirtus naudoti gamybos aplinkoje, interpretuojant juos naudojant bet kurią ML sistemą. Palaikomas ir paketinis aptarnavimas neprisijungus, ir API aptarnavimas internetu.
Didelio našumo modelio serveris ir lanksti darbo eiga yra „BentoML“ funkcijos.
Be to, serveris siūlo adaptyvų mikrogrupavimą. UI prietaisų skydelyje užtikrinamas vieningas modelių organizavimo ir diegimo procedūrų stebėjimo metodas.
Serverio prastovų nebus, nes veikimo mechanizmas yra modulinis, o konfigūracija yra daugkartinio naudojimo. Tai lanksti platforma, skirta teikti, organizuoti ir diegti ML modelius.
Siūloma:
- Jis turi modulinį dizainą, kuris yra pritaikomas.
- Tai leidžia diegti keliose platformose.
- Jis negali automatiškai apdoroti horizontalaus mastelio.
- Tai įgalina vieno modelio formatą, modelio valdymą, modelio pakavimą ir didelio našumo modelio aptarnavimą.
10. Seldonas
Duomenų mokslininkai gali kurti, įdiegti ir valdyti mašininio mokymosi modelius ir didelio masto eksperimentus „Kubernetes“, naudodami atvirojo kodo „Seldon Core“ sistemą.
TensorFlow, sci-kit-learn, Spark, R, Java ir H2O yra tik keletas jos palaikomų įrankių rinkinių.
Tai taip pat sąsaja su Kubeflow ir RedHat OpenShift. „Seldon“ branduolys paverčia mašininio mokymosi modelius (ML modelius) arba kalbų paketus (pvz., „Python“, „Java“ ir kt.) į gamybines REST/GRPC mikropaslaugas.
Šis yra vienas geriausių MLOps įrankių, skirtų mašininio mokymosi procesams tobulinti.
Paprasta sudėti ML modelius ir patikrinti tinkamumą bei saugumą naudojant „Seldon Core“.
Siūloma:
- Modelio diegimą galima supaprastinti naudojant kelias alternatyvas, pvz., Kanarų diegimą.
- Norėdami suprasti, kodėl buvo pateiktos konkrečios prognozės, naudokite modelių paaiškinimus.
- Iškilus problemoms, stebėkite gamybos modelius naudodami įspėjimo sistemą.
Išvada
MLOps gali padėti pagerinti mašininio mokymosi operacijas. MLOps gali pagreitinti diegimą, supaprastinti duomenų rinkimą ir derinimą bei pagerinti inžinierių ir duomenų mokslininkų bendradarbiavimą.
Kad galėtumėte pasirinkti geriausiai jūsų poreikius atitinkantį MLOps įrankį, šiame įraše buvo išnagrinėta 10 populiarių MLOps sprendimų, kurių dauguma yra atvirojo kodo.
Palikti atsakymą