Useat globaalit sektorit ovat alkaneet investoida voimakkaammin koneoppimiseen (ML).
ML-malleja voidaan aluksi käynnistää ja käyttää asiantuntijatiimien voimin, mutta yksi suurimmista esteistä on hankitun tiedon siirtäminen seuraavaan malliin, jotta prosesseja voidaan laajentaa.
Mallin elinkaaren hallintaan liittyvien prosessien parantamiseksi ja standardoimiseksi koneoppimismalleja luovat tiimit käyttävät yhä enemmän MLOps-tekniikoita.
Jatka lukemista saadaksesi lisätietoja parhaista nykyään saatavilla olevista MLOps-työkaluista ja -alustoista ja siitä, kuinka ne voivat tehdä koneoppimisesta helpompaa työkalun, kehittäjän ja menettelytavan näkökulmasta.
Mikä on MLOps?
Tekniikka, jolla luodaan käytäntöjä, normeja ja parhaita käytäntöjä koneoppimismalleille, tunnetaan nimellä "koneoppimistoiminnot" tai "MLOps".
MLOps pyrkii takaamaan ML-kehityksen koko elinkaaren – suunnittelusta käyttöönottoon – huolellisesti dokumentoitua ja hallittua parhaiden tulosten saavuttamiseksi sen sijaan, että investoisit siihen paljon aikaa ja resursseja ilman strategiaa.
MLOpsin tavoitteena on kodifioida parhaita käytäntöjä tavalla, joka tekee koneoppimisen kehittämisestä skaalautuvampaa ML-operaattoreille ja -kehittäjille, sekä parantaa ML-mallien laatua ja turvallisuutta.
Jotkut kutsuvat MLOpsia "koneoppimisen DevOpsiksi", koska se soveltaa menestyksekkäästi DevOps-periaatteita erikoistuneemmalla teknisen kehityksen alalla.
Tämä on hyödyllinen tapa ajatella MLOpsia, koska se, kuten DevOps, korostaa tiedon jakamista, yhteistyötä ja parhaita käytäntöjä tiimien ja työkalujen välillä.
MLOps tarjoaa kehittäjille, datatieteilijöille ja operaatiotiimeille puitteet yhteistyölle ja sen seurauksena tehokkaimpien ML-mallien tuottamiseen.
Miksi käyttää MLOps-työkaluja?
MLOps-työkalut voivat suorittaa monenlaisia tehtäviä ML-tiimille, mutta ne on usein jaettu kahteen ryhmään: alustan hallintaan ja yksittäisten komponenttien hallintaan.
Vaikka jotkin MLOps-tuotteet keskittyvät vain yhteen ydintoimintoon, kuten tietojen tai metatietojen hallintaan, muut työkalut omaksuvat kattavamman strategian ja tarjoavat MLOps-alustan hallitsemaan useita ML-elinkaaren osa-alueita.
Etsi MLOps-ratkaisuja, jotka auttavat tiimiäsi näiden ML-kehitysalueiden hallinnassa, etsitpä sitten asiantuntijaa tai laajempaa työkalua:
- Tietojen käsittely
- Suunnittelu ja mallinnus
- Projektien ja työpaikan hallinta
- ML-mallin käyttöönotto ja jatkuva ylläpito
- Elinkaarihallinta alusta loppuun, jota tyypillisesti tarjoavat täyden palvelun MLOps-alusto.
MLOps-työkalut
1. MLFlow
Koneoppimisen elinkaarta ohjaa avoimen lähdekoodin alusta MLflow, ja se sisältää keskitetyn mallin rekisteröinnin, käyttöönoton ja kokeilun.
MLflow:ta voivat käyttää kaiken kokoiset tiimit, sekä yksilöllisesti että kollektiivisesti. Kirjastoilla ei ole vaikutusta työkaluun.
Mikä tahansa ohjelmointikieli ja koneoppimiskirjasto voivat käyttää sitä.
Jotta koneoppimissovellusten kouluttaminen, käyttöönotto ja hallinta olisi helpompaa, MLFlow on vuorovaikutuksessa useiden koneoppimiskehysten kanssa, mukaan lukien TensorFlow ja Pytorch.
Lisäksi MLflow tarjoaa helppokäyttöisiä sovellusliittymiä, jotka voidaan sisällyttää kaikkiin olemassa oleviin koneoppimisohjelmiin tai kirjastoihin.
MLflow:ssa on neljä avainominaisuutta, jotka helpottavat kokeiden seurantaa ja suunnittelua:
- MLflow Tracking – API ja käyttöliittymä koneoppimiskoodin parametrien, versioiden, mittareiden ja artefaktien kirjaamiseen sekä tulosten myöhemmin näyttämiseen ja vertailuun
- MLflow Projects – pakkaa koneoppimiskoodi uudelleen käytettävään, toistettavaan muotoon siirrettäväksi tuotantoon tai jaettavaksi muiden datatieteilijöiden kanssa
- MLflow-mallit – mallien ylläpito ja käyttöönotto useissa mallinpalvelu- ja päättelyjärjestelmissä eri ML-kirjastoista
- MLflow Model Registry – keskusmallisäilö, joka mahdollistaa MLflow-mallin koko elinkaaren yhteishallinnan, mukaan lukien mallin versiointi, vaihesiirrot ja huomautukset.
2. KubeFlow
Kubernetesin ML-työkalupakki on nimeltään Kubeflow. Docker-konttien pakkaus ja hallinta, apuvälineet huoltoon koneoppimisjärjestelmät.
Yksinkertaistamalla ajon organisointia ja koneoppimisen työnkulkujen käyttöönottoa se edistää koneoppimismallien skaalautuvuutta.
Se on avoimen lähdekoodin projekti, joka sisältää huolellisesti valitun joukon täydentäviä työkaluja ja kehyksiä, jotka on räätälöity erilaisiin ML-tarpeisiin.
Pitkät ML-harjoittelutehtävät, manuaaliset kokeilut, toistettavuus ja DevOps-haasteet voidaan hoitaa Kubeflow Pipelinesillä.
Useisiin koneoppimisen vaiheisiin, mukaan lukien koulutus, putkistojen kehittäminen ja ylläpito Jupyter-muistikirjat, Kubeflow tarjoaa erikoispalveluja ja integraatiota.
Sen avulla on helppoa hallita ja seurata tekoälyn työkuormien käyttöikää sekä ottaa käyttöön koneoppimismalleja (ML) ja dataputkia Kubernetes-klustereihin.
Se tarjoaa:
- Muistikirjat SDK:n käyttämiseen vuorovaikutuksessa järjestelmän kanssa
- käyttöliittymä (UI) ajojen, töiden ja kokeilujen ohjaamiseen ja seurantaan
- Suunnittele nopeasti kokonaisvaltaisia ratkaisuja ilman, että sinun täytyy rakentaa uudelleen joka kerta ja käyttää uudelleen komponentteja ja putkia.
- Kubeflow Pipelines tarjotaan Kubeflown keskeisenä osana tai itsenäisenä asennuksena.
3. Tietojen versionhallinta
Avoimen lähdekoodin versionhallintaratkaisu koneoppimisprojekteihin on nimeltään DVC tai Data Version Control.
Minkä kielen valitsetkin, se on kokeellinen työkalu, joka auttaa putkilinjan määrittelyssä.
DVC hyödyntää koodia, tietojen versiointia ja toistettavuutta säästääkseen aikaa, kun huomaat ongelman ML-mallisi aiemmassa versiossa.
Lisäksi voit käyttää DVC-putkia mallin kouluttamiseen ja jakamiseen tiimisi jäsenille. Big datan organisointi ja versiointi voidaan hoitaa DVC:llä, ja tiedot voidaan tallentaa helposti saatavilla olevalla tavalla.
Vaikka se sisältää joitain (rajoitetut) kokeilujen seurantaominaisuuksia, se keskittyy enimmäkseen tietojen ja putkien versiointiin ja hallintaan.
Se tarjoaa:
- Se on varastointiagnostikko, joten on mahdollista käyttää erilaisia säilytystyyppejä.
- Se tarjoaa myös seurantatilastoja.
- valmiiksi rakennettu tapa yhdistää ML-vaiheet DAG:ksi ja ajaa koko liukuhihna alusta loppuun
- Jokaisen ML-mallin koko kehitystä voidaan seurata käyttämällä sen koko koodia ja datan alkuperää.
- Toistettavuus säilyttämällä uskollisesti kokeen alkuperäiset asetukset, syötetiedot ja ohjelmakoodi.
4. Pachyderm
Pachyderm on DVC:n kaltainen versionhallintaohjelma koneoppimiseen ja datatieteeseen.
Lisäksi koska se luotiin käyttämällä Docker ja Kubernetes, se voi suorittaa ja ottaa käyttöön koneoppimissovelluksia millä tahansa pilvialustalla.
Pachyderm takaa, että jokainen koneoppimismalliin kulutettu tieto voidaan jäljittää ja versioida.
Sitä käytetään koneoppimismallien luomiseen, jakeluun, hallintaan ja seurantaan. Mallirekisteri, mallinhallintajärjestelmä ja CLI-työkalupakki ovat kaikki mukana.
Kehittäjät voivat automatisoida ja laajentaa koneoppimisen elinkaarta käyttämällä Pachydermin tietopohjaa, joka varmistaa myös toistettavuuden.
Se tukee tiukkoja tiedonhallintastandardeja, alentaa tietojenkäsittely- ja tallennuskustannuksia ja auttaa yrityksiä tuomaan datatieteen aloitteensa markkinoille nopeammin.
5. Polyaksoni
Polyaxon-alustan avulla koneoppimisprojekteja ja syväoppimissovelluksia voidaan replikoida ja hallita koko niiden elinkaaren ajan.
Polyaxon pystyy isännöimään ja hallinnoimaan työkalua, ja se voidaan sijoittaa mihin tahansa datakeskukseen tai pilvipalveluntarjoajaan. Kuten Torch, Tensorflow ja MXNet, jotka tukevat kaikkia suosituimpia syväoppimiskehyksiä.
Mitä tulee orkestrointiin, Polyaxonin avulla voit ottaa kaiken irti klusteristasi ajoittamalla tehtäviä ja testejä CLI:n, kojelaudan, SDK:iden tai REST API:n kautta.
Se tarjoaa:
- Voit käyttää avoimen lähdekoodin versiota juuri nyt, mutta se sisältää myös valintoja yrityksille.
- Vaikka se kattaa koko elinkaaren, mukaan lukien run orkesteri, se pystyy paljon enemmän.
- Se on erittäin hyvin dokumentoitu alusta, jossa on teknisiä viiteasiakirjoja, aloitusohjeita, oppimateriaaleja, oppaita, opetusohjelmia, muutoslokeja ja paljon muuta.
- Kokeilutilastojen hallintapaneelin avulla on mahdollista pitää silmällä, seurata ja arvioida jokaista optimointikokeilua.
6. Komeetta
Comet on metakoneoppimisen alusta, joka seuraa, kontrastoi, selittää ja parantaa kokeiluja ja malleja.
Kaikki kokeilusi voidaan nähdä ja verrata yhdessä paikassa.
Se toimii missä tahansa koneoppimistehtävässä, missä tahansa koodisi suoritetaan ja minkä tahansa koneoppimiskirjaston kanssa.
Comet sopii ryhmille, yksilöille, korkeakouluille, yrityksille ja kaikille muille, jotka haluavat nopeasti visualisoida kokeita, virtaviivaistaa työtä ja suorittaa kokeita.
Tietotutkijat ja -tiimit voivat seurata, selventää, parantaa ja vertailla kokeita ja malleja käyttämällä itseisännöityä ja pilvipohjaista meta-koneoppimisalustaa Comet.
Se tarjoaa:
- Ryhmän jäsenillä on monia ominaisuuksia tehtävien jakamiseen.
- Siinä on useita integraatioita, jotka helpottavat sen yhdistämistä muihin teknologioihin
- Toimii hyvin nykyisten ML-kirjastojen kanssa
- Huolehtii käyttäjähallinnasta
- Kokeiden vertailu on käytössä, mukaan lukien koodin, hyperparametrien, mittareiden, ennusteiden, riippuvuuksien ja järjestelmämittareiden vertailu.
- Tarjoaa erilliset moduulit näkö-, ääni-, teksti- ja taulukkotiedoille, joiden avulla voit visualisoida näytteitä.
7. Optuna
Optuna on autonomisen hyperparametrien optimoinnin järjestelmä, jota voidaan soveltaa sekä koneoppimiseen että syväoppimiseen sekä muihin aloihin.
Se sisältää useita huippuluokan algoritmeja, joista voit valita (tai linkittää), tekee koulutuksen jakamisesta erittäin helppoa useille tietokoneille ja tarjoaa houkuttelevan tulosten visualisoinnin.
Suositut koneoppimiskirjastot, kuten PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM ja XGBoost, on kaikki integroitu siihen.
Se tarjoaa huippuluokan algoritmeja, joiden avulla asiakkaat voivat saada tuloksia nopeammin vähentämällä nopeasti näytteitä, jotka eivät näytä lupaavilta.
Python-pohjaisten algoritmien avulla se etsii automaattisesti ihanteelliset hyperparametrit. Optuna rohkaisee rinnakkaisia hyperparametrihakuja monista säikeistä muuttamatta alkuperäistä koodia.
Se tarjoaa:
- Se tukee hajautettua koulutusta klusterissa sekä yhdessä tietokoneessa (moniprosessi) (multi-node)
- Se tukee useita trimmaustekniikoita konvergenssin nopeuttamiseksi (ja vähemmän laskentaa varten)
- Siinä on useita tehokkaita visualisointeja, kuten viipalekuvaaja, ääriviivakuvaaja ja rinnakkaiset koordinaatit.
8. Kedro
Kedro on ilmainen Python-kehys koodin kirjoittamiseen, jota voidaan päivittää ja ylläpitää datatieteen projekteja varten.
Se tuo ideoita ohjelmistosuunnittelun parhaista käytännöistä koneoppimiskoodiin. Python on tämän työnkulun orkestrointityökalun perusta.
Voit tehdä ML-prosesseistasi yksinkertaisempia ja tarkempia kehittämällä toistettavia, ylläpidettäviä ja modulaarisia työnkulkuja.
Kedro yhdistää ohjelmistosuunnittelun periaatteet, kuten modulaarisuuden, vastuiden jaon ja versioinnin koneoppimisympäristöön.
Cookiecutter Data Sciencen pohjalta se tarjoaa yhteisen, mukautuvan projektikehyksen.
Tietokatalogi hallitsee useita yksinkertaisia tietoliittimiä, joita käytetään tietojen tallentamiseen ja lataamiseen useissa tiedostojärjestelmissä ja tiedostomuodoissa. Se tekee koneoppimisprojekteista tehokkaampia ja helpottaa dataputken rakentamista.
Se tarjoaa:
- Kedro mahdollistaa joko hajautetun tai yksittäisen koneen käyttöönoton.
- Voit automatisoida riippuvuudet Python-koodin ja työnkulun visualisoinnin välillä liukuhihnan abstraktion avulla.
- Modulaarisen uudelleenkäytettävän koodin avulla tämä tekniikka helpottaa tiimien yhteistyötä useilla eri tasoilla ja parantaa tuottavuutta koodausympäristössä.
- Ensisijainen tavoite on voittaa Jupyter-kannettavien, kertaluonteisten komentosarjojen ja liimakoodin haitat kirjoittamalla ylläpidettävää datatieteen ohjelmointia.
9. BentoML
BentoML tekee koneoppimissovellusliittymän päätepisteiden rakentamisesta helpompaa.
Se tarjoaa tyypillisen mutta tiivistetyn infrastruktuurin opittujen koneoppimismallien siirtämiseksi tuotantoon.
Sen avulla voit pakata opittuja malleja käytettäväksi tuotantoympäristössä ja tulkita niitä millä tahansa ML-kehyksellä. Sekä offline-eräkäyttöä että online-sovellusliittymän käyttöä tuetaan.
Tehokas mallipalvelin ja joustava työnkulku ovat BentoML:n ominaisuuksia.
Lisäksi palvelin tarjoaa mukautuvan mikroerittelyn. Käyttöliittymän hallintapaneeli tarjoaa yhtenäisen lähestymistavan mallien järjestämiseen ja käyttöönottoprosessien seuraamiseen.
Palvelimen seisokkeja ei tule, koska toimintamekanismi on modulaarinen ja kokoonpano on uudelleenkäytettävä. Se on joustava alusta ML-mallien tarjoamiseen, järjestämiseen ja käyttöönottoon.
Se tarjoaa:
- Siinä on modulaarinen rakenne, joka on mukautuva.
- Se mahdollistaa käyttöönoton useilla alustoilla.
- Se ei voi automaattisesti käsitellä vaakasuuntaista skaalausta.
- Se mahdollistaa yhden mallin muodon, mallinhallinnan, mallin pakkaamisen ja tehokkaan mallin palvelun.
10. Seldon
Datatieteilijät voivat luoda, ottaa käyttöön ja hallita koneoppimismalleja ja -kokeita laajassa mittakaavassa Kubernetesissa käyttämällä avoimen lähdekoodin Seldon Core -kehystä.
TensorFlow, sci-kit-learn, Spark, R, Java ja H2O ovat vain muutamia työkalusarjoja, joita se tukee.
Se on myös käyttöliittymä Kubeflow:n ja RedHatin OpenShiftin kanssa. Seldon-ydin muuttaa koneoppimismalleja (ML-malleja) tai kielikääreitä (kielet, kuten Python, Java jne.) tuotannon REST/GRPC-mikropalveluiksi.
Yksi parhaista MLOps-työkaluista koneoppimisprosessien parantamiseen on tämä.
ML-malleja on helppo tallentaa ja käytettävyyttä ja turvallisuutta testata Seldon Corella.
Se tarjoaa:
- Mallin käyttöönottoa voidaan yksinkertaistaa useilla vaihtoehdoilla, kuten kanarialla.
- Käytä mallin selittäjiä ymmärtääksesi, miksi erityisiä ennusteita tehtiin.
- Kun ongelmia ilmenee, pidä silmällä tuotantomalleja hälytysjärjestelmän avulla.
Yhteenveto
MLOps voi auttaa parantamaan koneoppimistoimintoja. MLOps voi nopeuttaa käyttöönottoa, yksinkertaistaa tiedonkeruuta ja virheenkorjausta sekä parantaa insinöörien ja datatieteilijöiden välistä yhteistyötä.
Jotta voit valita tarpeisiisi parhaiten sopivan MLOps-työkalun, tässä viestissä tarkasteltiin 10 suosittua MLOps-ratkaisua, joista suurin osa on avoimen lähdekoodin.
Jätä vastaus