Vairāki globālie sektori sāk vairāk ieguldīt mašīnmācībā (ML).
ML modeļus sākotnēji var palaist un darbināt speciālistu komandas, taču viens no lielākajiem šķēršļiem ir iegūto zināšanu pārnese uz nākamo modeli, lai procesus varētu paplašināt.
Lai uzlabotu un standartizētu modeļu dzīves cikla pārvaldībā iesaistītos procesus, komandas, kas veido mašīnmācīšanās modeļus, arvien vairāk izmanto MLOps metodes.
Turpiniet lasīt, lai uzzinātu vairāk par dažiem labākajiem šodien pieejamajiem MLOps rīkiem un platformām un to, kā tie var atvieglot mašīnmācīšanos no rīka, izstrādātāja un procesuālā viedokļa.
Kas ir MLOps?
Mašīnmācīšanās modeļu politiku, normu un paraugprakses izveides paņēmiens ir pazīstams kā “mašīnmācīšanās operācijas” vai “MLOps”.
MLOps mērķis ir garantēt visu ML izstrādes dzīves ciklu — no koncepcijas līdz ieviešanai — rūpīgi dokumentēt un pārvaldīt, lai sasniegtu vislabākos rezultātus, nevis ieguldīt tajā daudz laika un resursu bez stratēģijas.
MLOps mērķis ir kodificēt paraugpraksi tā, lai mašīnmācīšanās izstrāde būtu mērogojamāka ML operatoriem un izstrādātājiem, kā arī uzlabotu ML modeļu kvalitāti un drošību.
Daži MLOps dēvē par “DevOps mašīnmācībai”, jo tas veiksmīgi piemēro DevOps principus specializētākā tehnoloģiju attīstības jomā.
Tas ir noderīgs veids, kā domāt par MLOps, jo, tāpat kā DevOps, tas uzsver zināšanu apmaiņu, sadarbību un labāko praksi starp komandām un rīkiem.
MLOps nodrošina izstrādātājiem, datu zinātniekiem un operāciju komandām ietvaru sadarbībai un rezultātā visjaudīgāko ML modeļu izstrādei.
Kāpēc izmantot MLOps rīkus?
MLOps rīki var veikt plašu pienākumu klāstu ML komandai, tomēr tie bieži tiek sadalīti divās grupās: platformas administrēšana un atsevišķu komponentu pārvaldība.
Lai gan daži MLOps produkti koncentrējas tikai uz vienu pamatfunkciju, piemēram, datu vai metadatu pārvaldību, citi rīki izmanto visaptverošāku stratēģiju un nodrošina MLOps platformu, lai kontrolētu vairākus ML dzīves cikla aspektus.
Meklējiet MLOps risinājumus, kas palīdz jūsu komandai pārvaldīt šīs ML izstrādes jomas neatkarīgi no tā, vai meklējat speciālistu vai plašāku rīku:
- Datu apstrāde
- Dizains un modelēšana
- Projektu un darba vietas vadība
- ML modeļa izvietošana un nepārtraukta uzturēšana
- Dzīves cikla pārvaldība no sākuma līdz beigām, ko parasti piedāvā pilna servisa MLOps platformas.
MLOps rīki
1. MLFlow
Mašīnmācīšanās dzīves ciklu kontrolē atvērtā pirmkoda platforma MLflow, un tajā ir iekļauta centrālā modeļa reģistrācija, izvietošana un eksperimentēšana.
MLflow var izmantot jebkura lieluma komanda gan individuāli, gan kolektīvi. Bibliotēkas neietekmē šo rīku.
To var izmantot jebkura programmēšanas valoda un mašīnmācīšanās bibliotēka.
Lai atvieglotu mašīnmācīšanās lietojumprogrammu apmācību, izvietošanu un pārvaldību, MLFlow mijiedarbojas ar vairākām mašīnmācīšanās sistēmām, tostarp TensorFlow un Pytorch.
Turklāt MLflow nodrošina viegli lietojamas API, kuras var iekļaut jebkurā esošajā mašīnmācīšanās programmā vai bibliotēkā.
MLflow ir četras galvenās funkcijas, kas atvieglo eksperimentu izsekošanu un plānošanu:
- MLflow izsekošana — API un lietotāja saskarne mašīnmācīšanās koda parametru, versiju, metrikas un artefaktu reģistrēšanai, kā arī rezultātu turpmākai parādīšanai un kontrastēšanai.
- MLflow projekti – mašīnmācīšanās koda iepakošana atkārtoti lietojamā, reproducējamā formātā, lai to pārsūtītu uz ražošanu vai kopīgotu ar citiem datu zinātniekiem.
- MLflow modeļi — modeļu uzturēšana un izvietošana virknē modeļu apkalpošanas un secinājumu sistēmu no dažādām ML bibliotēkām
- MLflow modeļu reģistrs – centrālais modeļu veikals, kas nodrošina MLflow modeļa visa mūža kopīgu pārvaldību, tostarp modeļa versiju veidošanu, posmu pārejas un anotācijas.
2. KubeFlow
Kubernetes ML rīklodziņš tiek saukts par Kubeflow. Docker konteineru iepakošana un apsaimniekošana, palīglīdzekļi to apkopē mašīnmācīšanās sistēmas.
Vienkāršojot izpildes orķestrēšanu un mašīnmācīšanās darbplūsmu izvietošanu, tas veicina mašīnmācīšanās modeļu mērogojamību.
Tas ir atvērtā pirmkoda projekts, kas ietver rūpīgi izvēlētu papildu rīku un sistēmu grupu, kas pielāgota dažādām ML vajadzībām.
Ar Kubeflow Pipelines var tikt galā ar gariem ML apmācības uzdevumiem, manuālu eksperimentēšanu, atkārtojamību un DevOps izaicinājumiem.
Vairākiem mašīnmācīšanās posmiem, tostarp apmācībai, cauruļvadu izstrādei un uzturēšanai Jupyter piezīmju grāmatiņas, Kubeflow piedāvā specializētus pakalpojumus un integrāciju.
Tas ļauj vienkārši pārvaldīt un izsekot jūsu AI darba slodzes ilgumam, kā arī izvietot mašīnmācības (ML) modeļus un datu cauruļvadus Kubernetes klasteros.
Tas piedāvā:
- Piezīmju grāmatiņas SDK izmantošanai, lai mijiedarbotos ar sistēmu
- lietotāja interfeiss (UI) palaišanas, darbu un eksperimentu kontrolei un uzraudzībai
- Lai ātri izstrādātu visaptverošus risinājumus, katru reizi nepārbūvējot un atkārtoti neizmantojot komponentus un cauruļvadus.
- Kā galvenā Kubeflow sastāvdaļa vai kā atsevišķa instalācija tiek piedāvāti Kubeflow cauruļvadi.
3. Datu versijas kontrole
Atvērtā koda versiju kontroles risinājums mašīnmācīšanās projektiem tiek saukts par DVC jeb datu versijas kontroli.
Neatkarīgi no izvēlētās valodas tas ir eksperimentāls rīks, kas palīdz konveijera definēšanā.
DVC izmanto kodu, datu versiju noteikšanu un reproducējamību, lai palīdzētu jums ietaupīt laiku, kad atklājat problēmu ar savu ML modeļa vecāku versiju.
Turklāt varat izmantot DVC cauruļvadus, lai apmācītu savu modeli un izplatītu to saviem komandas locekļiem. Lielo datu organizēšanu un versiju veidošanu var apstrādāt DVC, un datus var uzglabāt viegli pieejamā veidā.
Lai gan tajā ir iekļautas dažas (ierobežotas) eksperimentu izsekošanas funkcijas, tas galvenokārt koncentrējas uz datu un konveijera versiju veidošanu un pārvaldību.
Tas piedāvā:
- Tas ir uzglabāšanas agnostiķis, tāpēc ir iespējams izmantot dažādus uzglabāšanas veidus.
- Tas nodrošina arī izsekošanas statistiku.
- iepriekš izveidots līdzeklis, lai apvienotu ML posmus DAG un palaistu visu cauruļvadu no sākuma līdz beigām
- Katra ML modeļa attīstībai var sekot līdzi, izmantojot visu tā kodu un datu izcelsmi.
- Reproducējamība, precīzi saglabājot sākotnējo konfigurāciju, ievades datus un programmas kodu eksperimentam.
4. Pachyderm
Pachyderm ir versiju kontroles programma mašīnmācībai un datu zinātnei, līdzīga DVC.
Turklāt tāpēc, ka tas tika izveidots, izmantojot Docker un Kubernetes, tā var izpildīt un izvietot mašīnmācīšanās lietojumprogrammas jebkurā mākoņa platformā.
Pachyderm garantē, ka katru mašīnmācības modelī izmantoto datu daļu var izsekot atpakaļ un izveidot versijas.
To izmanto, lai izveidotu, izplatītu, pārvaldītu mašīnmācīšanās modeļus un sekotu tiem. Ir iekļauts modeļu reģistrs, modeļu pārvaldības sistēma un CLI rīkkopa.
Izstrādātāji var automatizēt un paplašināt savu mašīnmācīšanās dzīves ciklu, izmantojot Pachyderm datu pamatu, kas arī nodrošina atkārtojamību.
Tas atbalsta stingrus datu pārvaldības standartus, samazina datu apstrādes un uzglabāšanas izmaksas un palīdz uzņēmumiem ātrāk laist tirgū savas datu zinātnes iniciatīvas.
5. Poliaksons
Izmantojot Polyaxon platformu, mašīnmācības projektus un dziļās apmācības lietojumprogrammas var replicēt un pārvaldīt visā to dzīves ciklā.
Polyaxon var mitināt un administrēt rīku, un to var ievietot jebkurā datu centrā vai mākoņpakalpojumā. Piemēram, Torch, Tensorflow un MXNet, kas atbalsta visas populārākās dziļās mācīšanās sistēmas.
Runājot par orķestrēšanu, Polyaxon ļauj maksimāli izmantot savu klasteru, plānojot uzdevumus un testus, izmantojot to CLI, informācijas paneli, SDK vai REST API.
Tas piedāvā:
- Šobrīd varat izmantot atvērtā pirmkoda versiju, taču tajā ir iekļautas arī izvēles iespējas uzņēmumam.
- Lai gan tas aptver visu dzīves ciklu, tostarp izpildes orķestrēšanu, tas spēj daudz vairāk.
- Tā ir ļoti labi dokumentēta platforma, izmantojot tehniskos atsauces dokumentus, darba sākšanas vadlīnijas, mācību materiālus, rokasgrāmatas, apmācības, izmaiņu žurnālus un daudz ko citu.
- Izmantojot eksperimenta ieskatu informācijas paneli, ir iespējams sekot līdzi, izsekot un novērtēt katru optimizācijas eksperimentu.
6. komēta
Comet ir platforma metamašīnmācībai, kas izseko, kontrastē, izskaidro un uzlabo eksperimentus un modeļus.
Visus jūsu eksperimentus var redzēt un salīdzināt vienā vietā.
Tas darbojas jebkuram mašīnmācīšanās uzdevumam jebkurā vietā, kur tiek izpildīts jūsu kods, un ar jebkuru mašīnmācīšanās bibliotēku.
Comet ir piemērota grupām, indivīdiem, akadēmiskām iestādēm, uzņēmumiem un jebkuram citam, kas vēlas ātri vizualizēt eksperimentus, racionalizēt darbu un veikt eksperimentus.
Datu zinātnieki un komandas var izsekot, precizēt, uzlabot un salīdzināt eksperimentus un modeļus, izmantojot pašu mitinātu un mākoņdatošanas metamašīnu mācību platformu Comet.
Tas piedāvā:
- Komandas locekļiem ir daudz iespēju koplietot uzdevumus.
- Tam ir vairākas integrācijas, kas ļauj vienkārši saistīt to ar citām tehnoloģijām
- Labi darbojas ar pašreizējām ML bibliotēkām
- Rūpējas par lietotāju pārvaldību
- Ir iespējota eksperimentu salīdzināšana, tostarp koda, hiperparametru, metrikas, prognožu, atkarību un sistēmas metrikas salīdzināšana.
- Nodrošina atšķirīgus moduļus redzes, audio, teksta un tabulas datiem, kas ļauj vizualizēt paraugus.
7. Izvēlēties
Optuna ir autonomas hiperparametru optimizācijas sistēma, ko var izmantot gan mašīnmācībā, gan dziļajā apmācībā, kā arī citās jomās.
Tas satur dažādus progresīvus algoritmus, no kuriem varat atlasīt (vai izveidot saiti), padara to ļoti vienkāršu apmācību izplatīšanu daudziem datoriem un piedāvā pievilcīgu rezultātu vizualizāciju.
Tajā ir integrētas tādas populāras mašīnmācīšanās bibliotēkas kā PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM un XGBoost.
Tas nodrošina progresīvus algoritmus, kas ļauj klientiem ātrāk iegūt rezultātus, ātri samazinot paraugu skaitu, kas neizskatās daudzsološi.
Izmantojot Python balstītus algoritmus, tas automātiski meklē ideālos hiperparametrus. Optuna veicina paralēlu hiperparametru meklēšanu daudzos pavedienos, nemainot sākotnējo kodu.
Tas piedāvā:
- Tā atbalsta izkliedētu apmācību klasterī, kā arī vienā datorā (vairāku procesu) (vairāku mezglu)
- Tā atbalsta vairākas apgriešanas metodes, lai paātrinātu konverģenci (un izmantotu mazāk aprēķinu)
- Tam ir dažādas spēcīgas vizualizācijas, piemēram, šķēlumu grafiks, kontūru grafiks un paralēlās koordinātas.
8. Kedro
Kedro ir bezmaksas Python ietvars koda rakstīšanai, ko var atjaunināt un uzturēt datu zinātnes projektiem.
Tas apvieno idejas no programmatūras inženierijas paraugprakses līdz mašīnmācīšanās kodam. Python ir šī darbplūsmas orķestrēšanas rīka pamats.
Lai padarītu ML procesus vienkāršākus un precīzākus, varat izstrādāt reproducējamas, apkopjamas un modulāras darbplūsmas.
Kedro mašīnmācības vidē ietver programmatūras inženierijas principus, piemēram, modularitāti, pienākumu nošķiršanu un versiju izveidi.
Pamatojoties uz Cookiecutter Data Science, tas nodrošina kopīgu, pielāgojamu projektu ietvaru.
Datu katalogs pārvalda vairākus vienkāršus datu savienotājus, ko izmanto datu glabāšanai un ielādei vairākās failu sistēmās un failu formātos. Tas padara mašīnmācīšanās projektus efektīvākus un atvieglo datu cauruļvada izveidi.
Tas piedāvā:
- Kedro nodrošina vai nu izkliedētu, vai atsevišķu mašīnu izvietošanu.
- Varat automatizēt atkarības starp Python kodu un darbplūsmas vizualizāciju, izmantojot konveijera abstrakciju.
- Izmantojot modulāru, atkārtoti lietojamu kodu, šī tehnoloģija atvieglo komandu sadarbību dažādos līmeņos un uzlabo produktivitāti kodēšanas vidē.
- Galvenais mērķis ir novērst Jupyter piezīmjdatoru, vienreizējo skriptu un līmkoda trūkumus, rakstot uzturējamu datu zinātnes programmēšanu.
9. BentoML
Mašīnmācīšanās API galapunktu izveide ir atvieglota, izmantojot BentoML.
Tas nodrošina tipisku, taču saīsinātu infrastruktūru, lai apgūtos mašīnmācīšanās modeļus pārvietotu uz ražošanu.
Tas ļauj iepakot apgūtos modeļus izmantošanai ražošanas vidē, interpretējot tos, izmantojot jebkuru ML ietvaru. Tiek atbalstīta gan bezsaistes pakešu apkalpošana, gan tiešsaistes API apkalpošana.
Augstas veiktspējas modeļa serveris un elastīga darbplūsma ir BentoML funkcijas.
Turklāt serveris piedāvā adaptīvu mikrogrupēšanu. UI informācijas panelis nodrošina vienotu pieeju modeļu organizēšanai un izvietošanas procedūru uzskaitei.
Servera dīkstāves nebūs, jo darbības mehānisms ir modulārs un konfigurācija ir atkārtoti lietojama. Tā ir elastīga platforma ML modeļu nodrošināšanai, organizēšanai un izvietošanai.
Tas piedāvā:
- Tam ir modulārs dizains, kas ir pielāgojams.
- Tas nodrošina izvietošanu vairākās platformās.
- Tas nevar automātiski apstrādāt horizontālo mērogošanu.
- Tas nodrošina viena modeļa formātu, modeļu pārvaldību, modeļu iepakošanu un augstas veiktspējas modeļu apkalpošanu.
10. Seldons
Datu zinātnieki var izveidot, izvietot un pārvaldīt mašīnmācīšanās modeļus un liela mēroga eksperimentus Kubernetes, izmantojot atvērtā koda Seldon Core sistēmu.
TensorFlow, sci-kit-learn, Spark, R, Java un H2O ir tikai daži no tā atbalstītajiem rīku komplektiem.
Tā ir arī saskarne ar Kubeflow un RedHat OpenShift. Seldon kodols pārveido mašīnmācīšanās modeļus (ML modeļus) vai valodu aplauzējus (piemēram, Python, Java u.c.) ražošanas REST/GRPC mikropakalpojumos.
Šis ir viens no labākajiem MLOps rīkiem mašīnmācīšanās procesu uzlabošanai.
Izmantojot Seldon Core, ir vienkārši konteinerizēt ML modeļus un pārbaudīt lietojamību un drošību.
Tas piedāvā:
- Modeļa izvietošanu var padarīt vienkāršāku, izmantojot vairākas alternatīvas, piemēram, kanārijputnu izvietošanu.
- Lai saprastu, kāpēc tika izteiktas konkrētas prognozes, izmantojiet modeļu skaidrotājus.
- Ja rodas problēmas, sekojiet līdzi ražošanas modeļiem, izmantojot brīdināšanas sistēmu.
Secinājumi
MLOps var palīdzēt uzlabot mašīnmācīšanās darbības. MLOps var paātrināt izvietošanu, vienkāršot datu vākšanu un atkļūdošanu, kā arī uzlabot sadarbību starp inženieriem un datu zinātniekiem.
Lai jūs varētu izvēlēties savām vajadzībām vislabāk atbilstošo MLOps rīku, šajā ziņojumā tika apskatīti 10 populāri MLOps risinājumi, no kuriem lielākā daļa ir atvērtā koda.
Atstāj atbildi