Verskeie wêreldsektore begin meer aansienlik in masjienleer (ML) belê.
ML-modelle kan aanvanklik deur spanne spesialiste bekend gestel en bedryf word, maar een van die grootste struikelblokke is om die kennis wat opgedoen is na die volgende model oor te dra sodat prosesse uitgebrei kan word.
Om die prosesse betrokke by modellewensiklusbestuur te verbeter en te standaardiseer, word MLOps-tegnieke toenemend gebruik deur die spanne wat masjienleermodelle skep.
Lees verder om meer uit te vind oor sommige van die beste MLOps-gereedskap en -platforms wat vandag beskikbaar is en hoe hulle masjienleer makliker kan maak vanuit 'n instrument, ontwikkelaar en prosedurele oogpunt.
Wat is MLOps?
'n Tegniek vir die skep van beleide, norme en beste praktyke vir masjienleermodelle staan bekend as "masjienleerbewerkings" of "MLOps."
MLOps poog om te verseker dat die hele lewensiklus van ML-ontwikkeling - van konsepsie tot ontplooiing - noukeurig gedokumenteer en bestuur word vir die beste resultate eerder as om baie tyd en hulpbronne daarin te belê sonder 'n strategie.
Die doel van MLOps is om beste praktyke te kodifiseer op 'n manier wat masjienleer-ontwikkeling meer skaalbaar maak vir ML-operateurs en -ontwikkelaars, asook om die kwaliteit en sekuriteit van ML-modelle te verbeter.
Sommige verwys na MLOps as "DevOps vir masjienleer" aangesien dit DevOps-beginsels suksesvol toepas op 'n meer gespesialiseerde veld van tegnologiese ontwikkeling.
Dit is 'n nuttige manier om oor MLOps te dink, want, soos DevOps, beklemtoon dit kennisdeling, samewerking en beste praktyke tussen spanne en nutsmiddels.
MLOps bied aan ontwikkelaars, datawetenskaplikes en bedryfspanne 'n raamwerk om saam te werk en, as gevolg daarvan, die kragtigste ML-modelle te produseer.
Waarom MLOps-nutsmiddels gebruik?
MLOps-nutsgoed kan 'n wye reeks pligte vir 'n ML-span uitvoer, maar hulle word dikwels in twee groepe verdeel: platformadministrasie en individuele komponentbestuur.
Terwyl sommige MLOps-produkte slegs op 'n enkele kernfunksie fokus, soos data- of metadatabestuur, neem ander instrumente 'n meer allesomvattende strategie aan en bied 'n MLOps-platform om verskeie aspekte van die ML-lewensiklus te beheer.
Soek MLOps-oplossings wat jou span help om hierdie ML-ontwikkelingsareas te bestuur, of jy nou op soek is na 'n spesialis of 'n meer breë hulpmiddel:
- Hantering van data
- Ontwerp en modellering
- Bestuur van projekte en werkplek
- ML model ontplooiing en deurlopende instandhouding
- Lewensiklusbestuur van begin tot einde, wat tipies deur voldiens MLOps-platforms aangebied word.
MLOps Gereedskap
1. MLFlow
Die masjienleer-lewensiklus word beheer deur die oopbronplatform MLflow en sluit 'n sentrale modelregistrasie, ontplooiing en eksperimentering in.
MLflow kan deur enige grootte span gebruik word, beide individueel en gesamentlik. Biblioteke het geen invloed op die instrument nie.
Enige programmeertaal en masjienleerbiblioteek kan dit gebruik.
Om dit makliker te maak om masjienleertoepassings op te lei, te ontplooi en te bestuur, werk MLFlow met 'n aantal masjienleerraamwerke, insluitend TensorFlow en Pytorch.
Daarbenewens bied MLflow maklik-om-te gebruik API's wat by enige bestaande masjienleerprogramme of biblioteke ingesluit kan word.
MLflow het vier sleutelkenmerke wat opsporing en beplanning van eksperimente vergemaklik:
- MLflow Tracking – 'n API en UI om masjienleerkodeparameters, weergawes, statistieke en artefakte aan te teken, asook om die uitkomste daarna te vertoon en te kontrasteer
- MLflow Projects - verpak masjienleerkode in 'n herbruikbare, reproduceerbare formaat vir oordrag na produksie of deel met ander datawetenskaplikes
- MLflow-modelle – die instandhouding en ontplooiing van modelle na 'n reeks modelbediening- en afleidingstelsels van verskeie ML-biblioteke
- MLflow Model Registry – 'n sentrale modelwinkel wat samewerkende bestuur van 'n MLflow-model se hele leeftyd moontlik maak, insluitend modelweergawe, verhoogoorgange en aantekeninge.
2. KubeFlow
Die ML-nutsdingskis vir Kubernetes word Kubeflow genoem. Verpakking en bestuur van Docker-houers, help met die instandhouding van masjienleerstelsels.
Deur die uitvoering van orkestrasie en ontplooiing van masjienleerwerkvloeie te vereenvoudig, bevorder dit die skaalbaarheid van masjienleermodelle.
Dit is 'n oopbronprojek wat 'n noukeurig gekose groep komplementêre gereedskap en raamwerke insluit wat aangepas is vir verskillende ML-behoeftes.
Lang ML-opleidingstake, handeksperimentering, herhaalbaarheid en DevOps-uitdagings kan met Kubeflow Pipelines hanteer word.
Vir verskeie stadiums van masjienleer, insluitend opleiding, pyplynontwikkeling en instandhouding van Jupyter notaboeke, Kubeflow bied gespesialiseerde dienste en integrasie.
Dit maak dit maklik om die leeftyd van jou KI-werkladings te bestuur en na te spoor, asook om masjienleer (ML)-modelle en datapyplyne na Kubernetes-klusters te ontplooi.
Dit bied die volgende:
- Notaboeke vir die gebruik van die SDK om met die stelsel te kommunikeer
- 'n gebruikerskoppelvlak (UI) vir die beheer en monitering van lopies, take en eksperimente
- Om vinnig end-tot-end oplossings te ontwerp sonder om elke keer te herbou, en komponente en pyplyne te hergebruik.
- As 'n sleutelkomponent van Kubeflow of as 'n selfstandige installasie, word Kubeflow Pipelines aangebied.
3. Dataweergawebeheer
'n Oopbron weergawebeheeroplossing vir masjienleerprojekte word DVC, of Data Weergawebeheer, genoem.
Watter taal jy ook al kies, dit is 'n eksperimentele hulpmiddel wat help met die definisie van pyplyn.
DVC gebruik kode, dataweergawe en reproduceerbaarheid om jou te help om tyd te bespaar wanneer jy 'n probleem met 'n vroeër weergawe van jou ML-model ontdek.
Daarbenewens kan jy DVC-pyplyne gebruik om jou model op te lei en dit aan jou spanlede te versprei. Grootdata-organisasie en weergawe kan deur DVC hanteer word, en die data kan op 'n maklik toeganklike wyse gestoor word.
Alhoewel dit 'n paar (beperkte) eksperimentopsporingskenmerke insluit, fokus dit meestal op data- en pyplynweergawe en bestuur.
Dit bied die volgende:
- Dit is bergingsagnosties, daarom is dit moontlik om 'n verskeidenheid bergingstipes te gebruik.
- Dit bied ook dopstatistieke.
- 'n voorafgeboude manier om ML-stadiums in 'n DAG te verbind en die hele pyplyn van begin tot einde te laat loop
- Elke ML-model se hele ontwikkeling kan gevolg word deur sy hele kode en data-herkoms te gebruik.
- Reproduceerbaarheid deur die aanvanklike konfigurasie, invoerdata en programkode vir 'n eksperiment getrou te bewaar.
4. Pachyderm
Pachyderm is 'n weergawebeheerprogram vir masjienleer en datawetenskap, soortgelyk aan DVC.
Daarbenewens, omdat dit geskep is met behulp van Docker en Kubernetes, kan dit Masjienleer-toepassings op enige wolkplatform uitvoer en ontplooi.
Pachyderm maak waarborge dat elke stukkie data wat in 'n masjienleermodel verbruik word, teruggespoor en weergegee kan word.
Dit word gebruik om masjienleermodelle te skep, te versprei, te bestuur en dop te hou. 'n Modelregister, 'n modelbestuurstelsel en 'n CLI-gereedskapkas is alles ingesluit.
Ontwikkelaars kan hul masjienleer-lewensiklus outomatiseer en uitbrei met behulp van Pachyderm se databasis, wat ook herhaalbaarheid verseker.
Dit ondersteun streng databestuurstandaarde, verlaag dataverwerkings- en bergingskoste, en help besighede om hul datawetenskap-inisiatiewe vinniger op die mark te bring.
5. Poliaksoon
Deur die Polyaxon-platform te gebruik, kan masjienleerprojekte en diepleertoepassings oor hul hele lewensiklus herhaal en bestuur word.
Polyaxon is in staat om die instrument te huisves en te administreer, en dit kan in enige datasentrum of wolkverskaffer geplaas word. Soos Torch, Tensorflow en MXNet, wat al die gewildste diepleerraamwerke ondersteun.
Wat orkestrasie betref, stel Polyaxon jou in staat om die meeste van jou groepering te maak deur take en toetse via hul CLI, dashboard, SDK's of REST API te skeduleer.
Dit bied die volgende:
- U kan nou die oopbron-weergawe gebruik, maar dit bevat ook keuses vir die onderneming.
- Alhoewel dit die volledige lewensiklus dek, insluitend hardloop-orkestrasie, is dit tot baie meer in staat.
- Met tegniese verwysingsdokumente, beginriglyne, leermateriaal, handleidings, tutoriale, veranderingslogboeke, en meer, is dit 'n hoogs goed gedokumenteerde platform.
- Met die eksperimentinsigte-kontroleskerm is dit moontlik om elke optimeringseksperiment dop te hou, op te spoor en te evalueer.
6. komeet
Comet is 'n platform vir metamasjienleer wat eksperimente en modelle naspoor, kontrasteer, verduidelik en verbeter.
Al jou eksperimente kan op een plek gesien en vergelyk word.
Dit funksioneer vir enige masjienleertaak, enige plek waar u kode uitgevoer word, en met enige masjienleerbiblioteek.
Comet is geskik vir groepe, individue, akademiese instellings, besighede en enigiemand anders wat vinnig eksperimente wil visualiseer, werk stroomlyn en eksperimente wil uitvoer.
Datawetenskaplikes en spanne kan eksperimente en modelle opspoor, opklaar, verbeter en vergelyk deur gebruik te maak van die self-gasheer en wolk-gebaseerde metamasjienleerplatform Comet.
Dit bied die volgende:
- Baie vermoëns bestaan vir spanlede om take te deel.
- Dit het verskeie integrasies wat dit maklik maak om dit aan ander tegnologieë te koppel
- Funksioneer goed met huidige ML biblioteke
- Sorg vir gebruikersbestuur
- Vergelyking van eksperimente is geaktiveer, insluitend 'n vergelyking van kode, hiperparameters, metrieke, voorspellings, afhanklikhede en stelselmaatstawwe.
- Verskaf duidelike modules vir visie, oudio, teks en tabeldata waarmee u monsters kan visualiseer.
7. Optuna
Optuna is 'n stelsel vir outonome hiperparameter-optimalisering wat toegepas kan word op beide masjienleer en diep leer sowel as ander velde.
Dit bevat 'n verskeidenheid van die nuutste algoritmes waaruit jy kan kies (of skakel), maak dit baie eenvoudig om opleiding oor talle rekenaars te versprei, en bied aantreklike resultate-visualisering.
Gewilde masjienleerbiblioteke soos PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM en XGBoost is almal daarmee geïntegreer.
Dit bied die nuutste algoritmes wat kliënte in staat stel om vinniger resultate te kry deur die monsters wat nie belowend lyk nie, vinnig te verminder.
Deur Python-gebaseerde algoritmes te gebruik, soek dit outomaties na die ideale hiperparameters. Optuna moedig parallelle hiperparametersoektogte oor baie drade aan sonder om die oorspronklike kode te verander.
Dit bied die volgende:
- Dit ondersteun verspreide opleiding op 'n groep sowel as 'n enkele rekenaar (multi-proses) (multi-node)
- Dit ondersteun verskeie snoeitegnieke om konvergensie te bespoedig (en minder berekening te gebruik)
- Dit het 'n verskeidenheid kragtige visualiserings, soos snyplot, kontoerplot en parallelle koördinate.
8. Kedro
Kedro is 'n gratis Python-raamwerk vir die skryf van kode wat opgedateer en onderhou kan word vir datawetenskapprojekte.
Dit bring idees van beste praktyke in sagteware-ingenieurswese tot masjienleerkode. Python is die basis van hierdie werkvloei-orkestrasie-instrument.
Om jou ML-prosesse eenvoudiger en meer presies te maak, kan jy reproduceerbare, onderhoubare en modulêre werkstrome ontwikkel.
Kedro inkorporeer sagteware-ingenieursbeginsels soos modulariteit, skeiding van verantwoordelikhede en weergawes in 'n masjienleer-omgewing.
Op grond van Cookiecutter Data Science bied dit 'n gemeenskaplike, aanpasbare projekraamwerk.
'n Aantal eenvoudige dataverbindings wat gebruik word om data oor verskeie lêerstelsels en lêerformate te stoor en te laai, word deur die datakatalogus bestuur. Dit maak masjienleerprojekte doeltreffender en maak dit makliker om 'n datapyplyn op te bou.
Dit bied die volgende:
- Kedro maak voorsiening vir óf verspreide óf alleenstaande masjienontplooiing.
- U kan afhanklikhede tussen Python-kode en werkvloeivisualisering outomatiseer deur pyplynabstraksie te gebruik.
- Deur die gebruik van modulêre, herbruikbare kode, vergemaklik hierdie tegnologie spansamewerking op 'n verskeidenheid vlakke en verbeter produktiwiteit in die koderingsomgewing.
- Die primêre doelwit is om die nadele van Jupyter-notaboeke, eenmalige skrifte en gomkode te oorkom deur onderhoubare datawetenskapprogrammering te skryf.
9. BentoML
Die bou van masjienleer API-eindpunte word makliker gemaak met BentoML.
Dit bied 'n tipiese dog gekondenseerde infrastruktuur om aangeleerde masjienleermodelle na produksie te beweeg.
Dit stel jou in staat om geleerde modelle te verpak vir gebruik in 'n produksie-omgewing, deur hulle te interpreteer deur enige ML-raamwerk te gebruik. Beide vanlyn bondelbediening en aanlyn API-bediening word ondersteun.
'n Hoëprestasie-modelbediener en 'n buigsame werkvloei is kenmerke van BentoML.
Boonop bied die bediener aanpasbare mikro-batching. 'n Eenvormige benadering om modelle te organiseer en tred te hou met ontplooiingsprosedures word deur die UI-kontroleskerm verskaf.
Daar sal geen bedienerstilstand wees nie, want die bedryfsmeganisme is modulêr en die konfigurasie is herbruikbaar. Dit is 'n buigsame platform vir die verskaffing, organisering en implementering van ML-modelle.
Dit bied die volgende:
- Dit het 'n modulêre ontwerp wat aanpasbaar is.
- Dit maak ontplooiing oor verskeie platforms moontlik.
- Dit kan nie outomaties horisontale skaal hanteer nie.
- Dit maak 'n enkele modelformaat, modelbestuur, modelverpakking en hoëprestasie-modelbediening moontlik.
10. Seldon
Datawetenskaplikes kan masjienleermodelle en eksperimente op skaal op Kubernetes skep, ontplooi en bestuur deur die oopbron Seldon Core-raamwerk te gebruik.
TensorFlow, sci-kit-learn, Spark, R, Java en H2O is net 'n paar van die gereedskapstelle wat daardeur ondersteun word.
Dit koppel ook met Kubeflow en RedHat se OpenShift. Die Seldon-kern transformeer masjienleermodelle (ML-modelle) of taalomhulsels (tale soos Python, Java, ens.) in produksie REST/GRPC-mikrodienste.
Een van die beste MLOps-instrumente om masjienleerprosesse te verbeter, is hierdie een.
Dit is maklik om ML-modelle te hou en te toets vir bruikbaarheid en sekuriteit met Seldon Core.
Dit bied die volgende:
- Model-ontplooiing kan makliker gemaak word met verskeie alternatiewe, soos kanarie-ontplooiing.
- Om te verstaan hoekom spesifieke voorspellings gemaak is, gebruik modelverduidelikers.
- Wanneer probleme opduik, hou die produksiemodelle dop deur die waarskuwingstelsel te gebruik.
Gevolgtrekking
MLOps kan help om masjienleerbedrywighede beter te maak. MLOps kan ontplooiing bespoedig, data-insameling en ontfouting makliker maak, en samewerking tussen ingenieurs en datawetenskaplikes verbeter.
Om die MLOps-instrument te kies wat die beste by jou behoeftes pas, het hierdie pos 10 gewilde MLOps-oplossings ondersoek, waarvan die meeste oopbron is.
Lewer Kommentaar