Innholdsfortegnelse[Gjemme seg][Forestilling]
Flere globale sektorer begynner å investere mer i maskinlæring (ML).
ML-modeller kan i utgangspunktet lanseres og driftes av team av spesialister, men en av de største hindringene er å overføre kunnskapen til neste modell slik at prosessene kan utvides.
For å forbedre og standardisere prosessene involvert i modelllivssyklusadministrasjon, blir MLOps-teknikker i økende grad brukt av teamene som lager maskinlæringsmodeller.
Fortsett å lese for å finne ut mer om noen av de beste MLOps-verktøyene og plattformene som er tilgjengelige i dag, og hvordan de kan gjøre maskinlæring enklere fra et verktøy-, utvikler- og prosedyremessig synspunkt.
Hva er MLOps?
En teknikk for å lage retningslinjer, normer og beste praksis for maskinlæringsmodeller er kjent som «maskinlæringsoperasjoner» eller «MLOps».
MLOps har som mål å garantere at hele livssyklusen til ML-utvikling – fra unnfangelse til utrulling – er omhyggelig dokumentert og administrert for de beste resultatene i stedet for å investere mye tid og ressurser i det uten en strategi.
Målet med MLOps er å kodifisere beste praksis på en måte som gjør utvikling av maskinlæring mer skalerbar for ML-operatører og utviklere, samt å forbedre kvaliteten og sikkerheten til ML-modeller.
Noen refererer til MLOps som "DevOps for machine learning" siden det med hell anvender DevOps-prinsipper på et mer spesialisert felt innen teknologisk utvikling.
Dette er en nyttig måte å tenke på MLOps fordi det, i likhet med DevOps, legger vekt på kunnskapsdeling, samarbeid og beste praksis mellom team og verktøy.
MLOps gir utviklere, dataforskere og driftsteam et rammeverk for å samarbeide og, som et resultat, produsere de kraftigste ML-modellene.
Hvorfor bruke MLOps-verktøy?
MLOps-verktøy kan utføre et bredt spekter av oppgaver for et ML-team, men de er ofte delt inn i to grupper: plattformadministrasjon og individuell komponentadministrasjon.
Mens noen MLOps-produkter kun fokuserer på en enkelt kjernefunksjon, for eksempel data- eller metadataadministrasjon, bruker andre verktøy en mer altomfattende strategi og gir en MLOps-plattform for å kontrollere flere aspekter av ML-livssyklusen.
Se etter MLOps-løsninger som hjelper teamet ditt med å administrere disse ML-utviklingsområdene, enten du leter etter en spesialist eller et mer bredt verktøy:
- Håndtering av data
- Design og modellering
- Ledelse av prosjekter og arbeidsplass
- ML-modellimplementering og kontinuerlig vedlikehold
- Livssyklusadministrasjon fra begynnelse til slutt, som vanligvis tilbys av MLOps-plattformer med full service.
MLOps-verktøy
1. MLFlow
Maskinlæringslivssyklusen kontrolleres av åpen kildekode-plattformen MLflow og inkluderer en sentral modellregistrering, distribusjon og eksperimentering.
MLflow kan brukes av alle størrelser, både individuelt og kollektivt. Biblioteker har ingen betydning for verktøyet.
Ethvert programmeringsspråk og maskinlæringsbibliotek kan bruke det.
For å gjøre det enklere å trene, distribuere og administrere maskinlæringsapplikasjoner, samhandler MLFlow med en rekke maskinlæringsrammeverk, inkludert tensorflow og Pytorch.
I tillegg gir MLflow brukervennlige APIer som kan inkluderes i alle eksisterende maskinlæringsprogrammer eller biblioteker.
MLflow har fire nøkkelfunksjoner som letter sporing og planlegging av eksperimenter:
- MLflow Tracking – et API og brukergrensesnitt for logging av maskinlæringskodeparametere, versjoner, beregninger og artefakter, samt for senere å vise og kontrastere resultatene
- MLflow Projects – pakker maskinlæringskode i et gjenbrukbart, reproduserbart format for overføring til produksjon eller deling med andre dataforskere
- MLflow-modeller – vedlikeholde og distribuere modeller til en rekke modellserverings- og slutningssystemer fra ulike ML-biblioteker
- MLflow Model Registry – en sentral modellbutikk som muliggjør samarbeidsstyring av en MLflow-modells hele levetid, inkludert modellversjon, sceneoverganger og merknader.
2. KubeFlow
ML-verktøykassen for Kubernetes kalles Kubeflow. Pakke og administrere Docker-containere, hjelper til med vedlikehold av maskinlæringssystemer.
Ved å forenkle kjøringsorkestrering og distribusjon av arbeidsflyter for maskinlæring fremmer det skalerbarheten til maskinlæringsmodeller.
Det er et åpen kildekode-prosjekt som inkluderer en nøye utvalgt gruppe av komplementære verktøy og rammer skreddersydd for ulike ML-behov.
Lange ML-treningsoppgaver, manuell eksperimentering, repeterbarhet og DevOps-utfordringer kan håndteres med Kubeflow Pipelines.
For flere stadier av maskinlæring, inkludert opplæring, rørledningsutvikling og vedlikehold av Jupyter bærbare, tilbyr Kubeflow spesialiserte tjenester og integrasjon.
Det gjør det enkelt å administrere og spore levetiden til AI-arbeidsbelastningene dine, samt å distribuere maskinlæringsmodeller (ML) og datapipelines til Kubernetes-klynger.
Den tilbyr:
- Notatbøker for bruk av SDK for å samhandle med systemet
- et brukergrensesnitt (UI) for å kontrollere og overvåke kjøringer, jobber og eksperimenter
- Å raskt designe ende-til-ende-løsninger uten å måtte bygge om hver gang, og gjenbruke komponenter og rørledninger.
- Som en nøkkelkomponent i Kubeflow eller som en frittstående installasjon tilbys Kubeflow Pipelines.
3. Dataversjonskontroll
En åpen kildekode versjonskontrollløsning for maskinlæringsprosjekter kalles DVC, eller Data Version Control.
Uansett hvilket språk du velger, er det et eksperimentelt verktøy som hjelper deg med å definere pipeline.
DVC bruker kode, dataversjon og reproduserbarhet for å hjelpe deg med å spare tid når du oppdager et problem med en tidligere versjon av ML-modellen din.
I tillegg kan du bruke DVC-rørledninger til å trene modellen din og distribuere den til teammedlemmene dine. Big data organisering og versjonering kan håndteres av DVC, og dataene kan lagres på en lett tilgjengelig måte.
Selv om det inkluderer noen (begrensede) eksperimentsporingsfunksjoner, fokuserer det mest på data- og pipelineversjon og -administrasjon.
Den tilbyr:
- Det er lagringsagnostisk, derfor er det mulig å bruke en rekke lagringstyper.
- Den gir også sporingsstatistikk.
- en forhåndsbygd måte å slå sammen ML-trinn til en DAG og kjøre hele rørledningen fra begynnelse til slutt
- Hele utviklingen til hver ML-modell kan følges ved å bruke hele koden og dataopprinnelsen.
- Reproduserbarhet ved trofast å bevare den opprinnelige konfigurasjonen, inndataene og programkoden for et eksperiment.
4. Pachyderm
Pachyderm er et versjonskontrollprogram for maskinlæring og datavitenskap, som ligner på DVC.
I tillegg, fordi den ble opprettet ved hjelp av Docker og Kubernetes, kan den kjøre og distribuere Machine Learning-applikasjoner på hvilken som helst skyplattform.
Pachyderm garanterer at hver del av data som forbrukes inn i en maskinlæringsmodell kan spores tilbake og versjoneres.
Den brukes til å lage, distribuere, administrere og holde øye med maskinlæringsmodeller. Et modellregister, et modellstyringssystem og en CLI-verktøykasse er inkludert.
Utviklere kan automatisere og utvide livssyklusen for maskinlæring ved å bruke Pachyderms datagrunnlag, som også sikrer repeterbarhet.
Den støtter strenge standarder for datastyring, reduserer databehandlings- og lagringskostnader og hjelper bedrifter med å bringe datavitenskapelige initiativer ut på markedet raskere.
5. Polyakson
Ved å bruke Polyaxon-plattformen kan maskinlæringsprosjekter og dyplæringsapplikasjoner replikeres og administreres over hele livssyklusen.
Polyaxon er i stand til å være vert for og administrere verktøyet, og det kan plasseres i et hvilket som helst datasenter eller skyleverandør. Slik som Torch, Tensorflow og MXNet, som støtter alle de mest populære rammene for dyp læring.
Når det kommer til orkestrering, lar Polyaxon deg få mest mulig ut av klyngen din ved å planlegge oppgaver og tester via deres CLI, dashboard, SDK-er eller REST API.
Den tilbyr:
- Du kan bruke åpen kildekode-versjonen akkurat nå, men den inkluderer også valg for bedriften.
- Selv om den dekker hele livssyklusen, inkludert løpeorkestrering, er den i stand til mye mer.
- Med tekniske referansedokumenter, retningslinjer for å komme i gang, læremateriell, manualer, veiledninger, endringslogger og mer, er det en svært godt dokumentert plattform.
- Med dashbordet for eksperimentinnsikt er det mulig å holde øye med, spore og evaluere hvert optimaliseringseksperiment.
6. Komet
Comet er en plattform for metamaskinlæring som sporer, kontrasterer, forklarer og forbedrer eksperimenter og modeller.
Alle eksperimentene dine kan sees og sammenlignes på ett sted.
Den fungerer for alle maskinlæringsoppgaver, hvor som helst hvor koden din utføres, og med hvilket som helst maskinlæringsbibliotek.
Comet passer for grupper, enkeltpersoner, akademiske institusjoner, bedrifter og alle andre som raskt ønsker å visualisere eksperimenter, effektivisere arbeidet og gjennomføre eksperimenter.
Dataforskere og team kan spore, avklare, forbedre og sammenligne eksperimenter og modeller ved å bruke den selvdrevne og skybaserte metamaskinlæringsplattformen Comet.
Den tilbyr:
- Mange muligheter finnes for teammedlemmer til å dele oppgaver.
- Den har flere integrasjoner som gjør det enkelt å koble det til andre teknologier
- Fungerer godt med gjeldende ML-biblioteker
- Tar seg av brukeradministrasjon
- Sammenligning av eksperimenter er aktivert, inkludert en sammenligning av kode, hyperparametre, beregninger, spådommer, avhengigheter og systemmålinger.
- Gir distinkte moduler for visjon, lyd, tekst og tabelldata som lar deg visualisere prøver.
7. Optuna
Optuna er et system for autonom hyperparameteroptimalisering som kan brukes på både maskinlæring og dyp læring så vel som andre felt.
Den inneholder en rekke banebrytende algoritmer som du kan velge fra (eller lenke), gjør det veldig enkelt å distribuere trening over flere datamaskiner, og tilbyr attraktiv resultatvisualisering.
Populære maskinlæringsbiblioteker som PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM og XGBoost er alle integrert med den.
Det gir banebrytende algoritmer som gjør det mulig for kunder å oppnå resultater raskere ved å raskt redusere prøvene som ikke ser lovende ut.
Ved å bruke Python-baserte algoritmer, søker den automatisk etter de ideelle hyperparametrene. Optuna oppfordrer til parallelliserte hyperparametersøk på tvers av mange tråder uten å endre den opprinnelige koden.
Den tilbyr:
- Den støtter distribuert opplæring på en klynge så vel som en enkelt datamaskin (multi-prosess) (multi-node)
- Den støtter flere trimmeteknikker for å øke hastigheten på konvergens (og bruke mindre databehandling)
- Den har en rekke potente visualiseringer, for eksempel skiveplott, konturplott og parallelle koordinater.
8. Kedro
Kedro er et gratis Python-rammeverk for å skrive kode som kan oppdateres og vedlikeholdes for datavitenskapsprosjekter.
Den bringer ideer fra beste praksis innen programvareteknikk til maskinlæringskode. Python er grunnlaget for dette orkestreringsverktøyet for arbeidsflyt.
For å gjøre ML-prosessene dine enklere og mer presise, kan du utvikle reproduserbare, vedlikeholdbare og modulære arbeidsflyter.
Kedro inkorporerer programvaretekniske prinsipper som modularitet, separasjon av ansvar og versjonering i et maskinlæringsmiljø.
På grunnlag av Cookiecutter Data Science gir den et felles, tilpasningsbart prosjektrammeverk.
En rekke enkle datakoblinger som brukes til å lagre og laste data på tvers av flere filsystemer og filformater, administreres av datakatalogen. Det gjør maskinlæringsprosjekter mer effektive og gjør det enklere å bygge opp en datapipeline.
Den tilbyr:
- Kedro gir mulighet for enten spredt eller enslig maskindistribusjon.
- Du kan automatisere avhengigheter mellom Python-kode og arbeidsflytvisualisering ved hjelp av pipelineabstraksjon.
- Gjennom bruk av modulær, gjenbrukbar kode, letter denne teknologien teamsamarbeid på en rekke nivåer og forbedrer produktiviteten i kodemiljøet.
- Hovedmålet er å overvinne ulempene med Jupyter-notatbøker, engangsskript og limkode ved å skrive vedlikeholdbar datavitenskapelig programmering.
9. BentoML
Å bygge maskinlærings-API-endepunkter er gjort enklere med BentoML.
Det gir en typisk, men likevel kondensert infrastruktur for å flytte lærde maskinlæringsmodeller inn i produksjon.
Den lar deg pakke lærte modeller for bruk i en produksjonssetting, og tolke dem ved å bruke et hvilket som helst ML-rammeverk. Både offline batch-servering og online API-servering støttes.
En høyytelses modellserver og en fleksibel arbeidsflyt er funksjoner i BentoML.
I tillegg tilbyr serveren adaptiv mikrobatching. En enhetlig tilnærming for å organisere modeller og holde styr på distribusjonsprosedyrer er gitt av UI-dashbordet.
Det vil ikke være noen servernedetid fordi driftsmekanismen er modulær og konfigurasjonen kan gjenbrukes. Det er en fleksibel plattform for å tilby, organisere og distribuere ML-modeller.
Den tilbyr:
- Den har en modulær design som kan tilpasses.
- Det muliggjør distribusjon på flere plattformer.
- Den kan ikke automatisk håndtere horisontal skalering.
- Det muliggjør ett enkelt modellformat, modelladministrasjon, modellemballasje og modellservering med høy ytelse.
10. sjelden
Dataforskere kan lage, distribuere og administrere maskinlæringsmodeller og eksperimenter i stor skala på Kubernetes ved å bruke åpen kildekode Seldon Core-rammeverket.
TensorFlow, sci-kit-learn, Spark, R, Java og H2O er bare noen av verktøysettene som støttes av det.
Den har også grensesnitt med Kubeflow og RedHats OpenShift. Seldon-kjernen forvandler maskinlæringsmodeller (ML-modeller) eller språkomslag (språk som Python, Java, etc.) til produksjons REST/GRPC-mikrotjenester.
Et av de beste MLOps-verktøyene for å forbedre maskinlæringsprosesser er dette.
Det er enkelt å containerisere ML-modeller og teste for brukervennlighet og sikkerhet ved å bruke Seldon Core.
Den tilbyr:
- Modellutplassering kan gjøres enklere med flere alternativer, for eksempel kanarieutplassering.
- For å forstå hvorfor spesifikke spådommer ble gjort, bruk modellforklaringer.
- Når det oppstår problemer, hold øye med produksjonsmodellene ved hjelp av varslingssystemet.
konklusjonen
MLOps kan bidra til å gjøre maskinlæringsoperasjoner bedre. MLOps kan fremskynde distribusjonen, gjøre datainnsamling og feilsøking enklere, og forbedre samarbeidet mellom ingeniører og dataforskere.
For at du skal velge MLOps-verktøyet som passer best for dine behov, undersøkte dette innlegget 10 populære MLOps-løsninger, hvorav de fleste er åpen kildekode.
Legg igjen en kommentar