Mitmed ülemaailmsed sektorid hakkavad masinõppesse (ML) rohkem investeerima.
ML-mudeleid võivad esialgu käivitada ja opereerida spetsialistide meeskonnad, kuid üks suuremaid takistusi on saadud teadmiste ülekandmine järgmisele mudelile, et protsesse saaks laiendada.
Mudeli elutsükli haldamisega seotud protsesside täiustamiseks ja standardiseerimiseks kasutavad masinõppemudeleid loovad meeskonnad üha enam MLOps-tehnikaid.
Jätkake lugemist, et saada lisateavet mõnede parimate täna saadaolevate MLOps-i tööriistade ja platvormide kohta ning selle kohta, kuidas need saavad masinõpet tööriista, arendaja ja protseduuride seisukohast lihtsamaks muuta.
Mis on MLOps?
Masinõppemudelite poliitikate, normide ja parimate tavade loomise tehnikat tuntakse kui "masinõppetoiminguid" või "MLOps".
MLOpsi eesmärk on tagada, et ML arenduse kogu elutsükkel – alates kontseptsioonist kuni kasutuselevõtuni – oleks hoolikalt dokumenteeritud ja juhitud parimate tulemuste saavutamiseks, selle asemel, et investeerida sellesse ilma strateegiata palju aega ja ressursse.
MLOps-i eesmärk on kodifitseerida parimaid tavasid viisil, mis muudab masinõppe arendamise ML-operaatorite ja -arendajate jaoks skaleeritavamaks, ning tõsta ML-mudelite kvaliteeti ja turvalisust.
Mõned nimetavad MLOpsi kui "masinõppe DevOpsiks", kuna see rakendab edukalt DevOpsi põhimõtteid spetsialiseerunud tehnoloogilise arenduse valdkonnas.
See on kasulik viis mõelda MLOpsidele, sest nagu DevOps, rõhutab see teadmiste jagamist, koostööd ja parimaid tavasid meeskondade ja tööriistade vahel.
MLOps pakub arendajatele, andmeteadlastele ja operatiivmeeskondadele raamistikku koostööks ja selle tulemusena kõige võimsamate ML-mudelite tootmiseks.
Miks kasutada MLOpsi tööriistu?
MLOps-tööriistad võivad ML-meeskonna jaoks täita mitmesuguseid ülesandeid, kuid need jagunevad sageli kahte rühma: platvormi haldus ja üksikute komponentide haldamine.
Kuigi mõned MLOps-i tooted keskenduvad ainult ühele põhifunktsioonile, nagu andmete või metaandmete haldamine, kasutavad teised tööriistad kõikehõlmavamat strateegiat ja pakuvad MLOps-platvormi ML-i elutsükli mitme aspekti juhtimiseks.
Otsige MLOps-lahendusi, mis aitavad teie meeskonnal neid ML-i arendusvaldkondi hallata, olenemata sellest, kas otsite spetsialisti või laiemat tööriista:
- Andmete käsitlemine
- Disain ja modelleerimine
- Projektide ja töökoha juhtimine
- ML-mudeli juurutamine ja pidev hooldus
- Elutsükli haldamine algusest lõpuni, mida tavaliselt pakuvad täisteenust pakkuvad MLOps platvormid.
MLOps tööriistad
1. MLFlow
Masinõppe elutsüklit juhib avatud lähtekoodiga platvorm MLflow ja see hõlmab keskmist mudeli registreerimist, juurutamist ja katsetamist.
MLflow-d saavad kasutada igas suuruses meeskond, nii individuaalselt kui ka kollektiivselt. Teegid ei mõjuta tööriista.
Iga programmeerimiskeel ja masinõppe raamatukogu saavad seda kasutada.
Masinõpperakenduste koolitamise, juurutamise ja haldamise lihtsustamiseks suhtleb MLFlow mitmete masinõppe raamistikega, sealhulgas TensorFlow ja Pytorch.
Lisaks pakub MLflow hõlpsasti kasutatavaid API-sid, mida saab lisada kõikidesse olemasolevatesse masinõppeprogrammidesse või teekidesse.
MLflow-l on neli peamist funktsiooni, mis hõlbustavad katsete jälgimist ja planeerimist:
- MLflow Tracking – API ja kasutajaliides masinõppe koodi parameetrite, versioonide, mõõdikute ja artefaktide logimiseks ning tulemuste hilisemaks kuvamiseks ja vastandamiseks
- MLflow projektid – masinõppe koodi pakkimine korduvkasutatavasse reprodutseeritavasse vormingusse tootmisse ülekandmiseks või teiste andmeteadlastega jagamiseks
- MLflow mudelid – mudelite hooldamine ja juurutamine mitmesugustes mudelite teenindamise ja järeldussüsteemides erinevatest ML-teekidest
- MLflow mudeliregister – keskne mudelisalv, mis võimaldab MLflow mudeli kogu eluea ühist haldamist, sealhulgas mudeli versioonide loomist, etappide üleminekuid ja annotatsioone.
2. KubeFlow
Kubernetese ML-tööriistakasti nimetatakse Kubeflowks. Dockeri konteinerite pakendamine ja haldamine, abivahendid nende hooldamisel masinõppesüsteemid.
Lihtsustades käitamise korraldamist ja masinõppe töövoogude juurutamist, soodustab see masinõppemudelite skaleeritavust.
See on avatud lähtekoodiga projekt, mis sisaldab hoolikalt valitud rühma täiendavaid tööriistu ja raamistikke, mis on kohandatud erinevatele ML vajadustele.
Kubeflow Pipelinesiga saab toime tulla pikki ML-treeningülesandeid, käsitsi katsetamist, korratavust ja DevOpsi väljakutseid.
Masinõppe mitme etapi jaoks, sealhulgas koolitus, torujuhtme arendamine ja hooldus Jupyteri märkmikud, Kubeflow pakub eriteenuseid ja integratsiooni.
See muudab teie tehisintellekti töökoormuste haldamise ja jälgimise lihtsaks, samuti masinõppe mudelite ja andmekanalite juurutamise Kubernetese klastritesse.
See pakub:
- Märkmikud SDK kasutamiseks süsteemiga suhtlemiseks
- kasutajaliides (UI) käitamiste, tööde ja katsete juhtimiseks ja jälgimiseks
- Kiirelt terviklike lahenduste kavandamiseks, ilma et peaks iga kord ümber ehitama ning komponente ja torujuhtmeid uuesti kasutama.
- Kubeflow põhikomponendina või eraldiseisva installina pakutakse Kubeflow torujuhtmeid.
3. Andmete versiooni juhtimine
Masinõppeprojektide avatud lähtekoodiga versioonihalduslahendust nimetatakse DVC-ks ehk Data Version Controliks.
Ükskõik, millise keele valite, on see eksperimentaalne tööriist, mis aitab torujuhtme määratlemisel.
DVC kasutab koodi, andmete versioonimist ja reprodutseeritavust, et aidata teil aega säästa, kui avastate probleemi oma ML-mudeli varasema versiooniga.
Lisaks saate oma mudeli koolitamiseks ja meeskonnaliikmetele levitamiseks kasutada DVC torujuhtmeid. Suurandmete korrastamist ja versioonide koostamist saab hallata DVC-ga ning andmeid saab hõlpsasti ligipääsetaval viisil salvestada.
Kuigi see sisaldab mõningaid (piiratud) katsete jälgimise funktsioone, keskendub see enamasti andmete ja konveieri versioonide loomisele ja haldamisele.
See pakub:
- See on ladustamisagnostiline, seetõttu on võimalik kasutada mitmesuguseid ladustamistüüpe.
- See pakub ka jälgimisstatistikat.
- eelehitatud vahend ML etappide ühendamiseks DAG-iks ja kogu torujuhtme käivitamiseks algusest lõpuni
- Iga ML-mudeli kogu arengut saab jälgida, kasutades kogu selle koodi ja andmete päritolu.
- Reprodutseeritavus, säilitades truult katse algse konfiguratsiooni, sisendandmed ja programmikoodi.
4. Pachüderm
Pachyderm on DVC-ga sarnane masinõppe ja andmeteaduse versioonihaldusprogramm.
Lisaks, kuna see loodi kasutades Docker ja Kubernetes, saab see käivitada ja juurutada masinõpperakendusi mis tahes pilvplatvormil.
Pachyderm tagab, et iga masinõppemudelisse tarbitud andmeosa saab tagasi jälgida ja versioonida.
Seda kasutatakse masinõppemudelite loomiseks, levitamiseks, haldamiseks ja nendel silma peal hoidmiseks. Komplekti kuuluvad mudeliregister, mudelihaldussüsteem ja CLI tööriistakast.
Arendajad saavad oma masinõppe elutsüklit automatiseerida ja laiendada, kasutades Pachydermi andmefondi, mis tagab ka korratavuse.
See toetab rangeid andmehaldusstandardeid, vähendab andmetöötlus- ja salvestuskulusid ning aitab ettevõtetel oma andmeteaduse algatusi kiiremini turule tuua.
5. Polüakson
Polyaxoni platvormi kasutades saab masinõppeprojekte ja süvaõpperakendusi paljundada ja hallata kogu nende elutsükli jooksul.
Polyaxon suudab tööriista hostida ja administreerida ning selle saab paigutada mis tahes andmekeskusesse või pilveteenuse pakkujasse. Näiteks Torch, Tensorflow ja MXNet, mis toetavad kõiki populaarsemaid süvaõppe raamistikke.
Mis puudutab orkestreerimist, siis Polyaxon võimaldab teil oma klastrist maksimaalselt ära kasutada, planeerides ülesandeid ja teste nende CLI, armatuurlaua, SDK-de või REST API kaudu.
See pakub:
- Saate praegu kasutada avatud lähtekoodiga versiooni, kuid see sisaldab ka ettevõtte jaoks mõeldud valikuid.
- Kuigi see hõlmab kogu elutsüklit, sealhulgas jooksu orkestreerimist, on see võimeline palju enamaks.
- Tehniliste viitedokumentide, alustamisjuhiste, õppematerjalide, käsiraamatute, õpetuste, muudatuste logide ja muuga on see väga hästi dokumenteeritud platvorm.
- Katse ülevaate juhtpaneeli abil on võimalik igal optimeerimiskatsel silma peal hoida, jälgida ja hinnata.
6. komeet
Comet on meta-masinõppe platvorm, mis jälgib, kontrasteerib, selgitab ja täiustab katseid ja mudeleid.
Kõiki teie katseid saab ühes kohas näha ja võrrelda.
See toimib kõigi masinõppeülesannete jaoks, kõikjal, kus teie koodi esitatakse, ja mis tahes masinõppe teegiga.
Comet sobib rühmadele, üksikisikutele, akadeemilistele asutustele, ettevõtetele ja kõigile teistele, kes soovivad katseid kiiresti visualiseerida, tööd sujuvamaks muuta ja katseid läbi viia.
Andmeteadlased ja meeskonnad saavad katseid ja mudeleid jälgida, selgitada, täiustada ja võrrelda, kasutades isehostitavat ja pilvepõhist meta-masinõppe platvormi Comet.
See pakub:
- Meeskonnaliikmetel on ülesannete jagamiseks palju võimalusi.
- Sellel on mitu integratsiooni, mis muudavad selle sidumise teiste tehnoloogiatega lihtsaks
- Toimib hästi praeguste ML-teekidega
- Hoolitseb kasutajate haldamise eest
- Lubatud on katsete võrdlemine, sealhulgas koodi, hüperparameetrite, mõõdikute, prognooside, sõltuvuste ja süsteemimõõdikute võrdlemine.
- Pakub erinevaid mooduleid nägemis-, heli-, teksti- ja tabeliandmete jaoks, mis võimaldavad teil näidiseid visualiseerida.
7. Opt
Optuna on autonoomse hüperparameetri optimeerimise süsteem, mida saab rakendada nii masinõppes kui ka süvaõppes ja ka muudes valdkondades.
See sisaldab mitmesuguseid tipptasemel algoritme, mille hulgast saate valida (või linkida), muudab koolituse levitamise paljudele arvutitele väga lihtsaks ja pakub atraktiivset tulemuste visualiseerimist.
Sellega on integreeritud sellised populaarsed masinõppeteegid nagu PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM ja XGBoost.
See pakub tipptasemel algoritme, mis võimaldavad klientidel kiiremini tulemusi saada, vähendades kiiresti proove, mis ei tundu paljutõotavad.
Pythonil põhinevaid algoritme kasutades otsib see automaatselt ideaalseid hüperparameetreid. Optuna soodustab paralleelsete hüperparameetrite otsimist paljudes lõimedes ilma algset koodi muutmata.
See pakub:
- See toetab hajutatud koolitust nii klastris kui ka ühes arvutis (mitme protsessiga) (mitme sõlmega)
- See toetab mitut kärpimistehnikat, et kiirendada lähenemist (ja kasutada vähem arvutusi)
- Sellel on mitmesuguseid võimsaid visualiseerimisi, nagu lõigugraafik, kontuurigraafik ja paralleelsed koordinaadid.
8. Kedro
Kedro on tasuta Pythoni raamistik koodi kirjutamiseks, mida saab andmeteaduse projektide jaoks värskendada ja hooldada.
See toob ideid tarkvaratehnika parimatest tavadest masinõppe koodini. Python on selle töövoo orkestreerimistööriista alus.
ML-protsesside lihtsamaks ja täpsemaks muutmiseks saate välja töötada reprodutseeritavad, hooldatavad ja modulaarsed töövood.
Kedro sisaldab masinõppekeskkonda tarkvaratehnika põhimõtteid, nagu modulaarsus, vastutuse eraldamine ja versioonide loomine.
Cookiecutter Data Science'i põhjal pakub see ühtset kohandatavat projektiraamistikku.
Andmekataloog haldab mitmeid lihtsaid andmepistikuid, mida kasutatakse andmete salvestamiseks ja laadimiseks mitmes failisüsteemis ja failivormingus. See muudab masinõppeprojektid tõhusamaks ja muudab andmekonveieri loomise lihtsamaks.
See pakub:
- Kedro võimaldab masinat kas hajutatult või üksikult kasutada.
- Saate automatiseerida sõltuvusi Pythoni koodi ja töövoo visualiseerimise vahel, kasutades konveieri abstraktsiooni.
- Modulaarse korduvkasutatava koodi kasutamise kaudu hõlbustab see tehnoloogia meeskonna koostööd erinevatel tasanditel ja parandab kodeerimiskeskkonna tootlikkust.
- Peamine eesmärk on ületada Jupyteri sülearvutite, ühekordsete skriptide ja liimkoodi puudused, kirjutades hooldatavat andmeteaduse programmeerimist.
9. BentoML
Masinõppe API lõpp-punktide loomine on BentoML-iga lihtsam.
See pakub tüüpilist, kuid tihendatud infrastruktuuri õpitud masinõppemudelite tootmisse viimiseks.
See võimaldab teil pakendada õpitud mudeleid tootmiskeskkonnas kasutamiseks, tõlgendades neid mis tahes ML-raamistiku abil. Toetatud on nii võrguühenduseta pakettteenindus kui ka veebipõhine API-teenindus.
Suure jõudlusega mudeliserver ja paindlik töövoog on BentoML-i funktsioonid.
Lisaks pakub server adaptiivset mikropakkimist. UI armatuurlaud pakub ühtset lähenemisviisi mudelite korraldamiseks ja juurutamisprotseduuride jälgimiseks.
Serveri seisakuid ei teki, kuna töömehhanism on modulaarne ja konfiguratsioon on korduvkasutatav. See on paindlik platvorm ML-mudelite pakkumiseks, korraldamiseks ja juurutamiseks.
See pakub:
- Sellel on modulaarne disain, mis on kohandatav.
- See võimaldab juurutamist mitmel platvormil.
- See ei saa horisontaalset skaleerimist automaatselt käsitleda.
- See võimaldab ühe mudeli vormingut, mudelihaldust, mudelite pakkimist ja suure jõudlusega mudelite teenindamist.
10. Seldon
Andmeteadlased saavad avatud lähtekoodiga Seldon Core'i raamistiku abil luua, juurutada ja hallata Kubernetese mastaabis masinõppemudeleid ja eksperimente.
TensorFlow, sci-kit-learn, Spark, R, Java ja H2O on vaid mõned tööriistakomplektid, mida see toetab.
See liidestub ka Kubeflow ja RedHati OpenShiftiga. Seldoni tuum muudab masinõppemudelid (ML-mudelid) või keeleümbrised (keeled nagu Python, Java jne) tootmise REST/GRPC mikroteenusteks.
See on üks parimaid MLOps-i tööriistu masinõppeprotsesside täiustamiseks.
ML-mudelite konteinerisse paigutamine ning kasutatavuse ja turvalisuse testimine Seldon Core'i abil on lihtne.
See pakub:
- Mudeli juurutamist saab lihtsamaks muuta mitme alternatiivi, näiteks kanaari juurutamise abil.
- Et mõista, miks konkreetseid ennustusi tehti, kasutage mudeli selgitajaid.
- Probleemide ilmnemisel jälgige hoiatussüsteemi kasutavaid tootmismudeleid.
Järeldus
MLOps võib aidata masinõppe toiminguid paremaks muuta. MLOps võib kiirendada juurutamist, muuta andmete kogumine ja silumine lihtsamaks ning parandada koostööd inseneride ja andmeteadlaste vahel.
Selleks, et saaksite valida oma vajadustele kõige paremini sobiva MLOps-i tööriista, uuriti selles postituses 10 populaarset MLOps-lahendust, millest enamik on avatud lähtekoodiga.
Jäta vastus