Mundu mailako hainbat sektore inbertitzen ari dira nabarmen inbertitzen ikaskuntza automatikoan (ML).
ML ereduak hasiera batean espezialisten taldeek abiarazi eta operatu ditzakete, baina oztopo handienetako bat lortutako ezagutza hurrengo eredura transferitzea da, prozesuak zabaldu ahal izateko.
Ereduen bizi-zikloaren kudeaketan parte hartzen duten prozesuak hobetzeko eta normalizatzeko, MLOps teknikak gero eta gehiago erabiltzen ari dira ikaskuntza automatikoko ereduak sortzen dituzten taldeek.
Jarraitu irakurtzen gaur egun eskuragarri dauden MLOps tresna eta plataforma onenetariko batzuei buruz eta nola erraztu dezaketen ikaskuntza automatikoa tresna, garatzaile eta prozeduraren ikuspuntutik.
Zer da MLOps?
Ikaskuntza automatikoko ereduetarako politikak, arauak eta praktika onak sortzeko teknika bat "machine learning eragiketak" edo "MLOps" izenez ezagutzen da.
MLOps-ek ML garapenaren bizi-ziklo osoa bermatzea du helburu, sorkuntzatik inplementaziora arte, zehatz-mehatz dokumentatu eta kudeatzen dela emaitzarik onenak lortzeko, estrategiarik gabe denbora eta baliabide asko inbertitu beharrean.
MLOps-en helburua praktika onak kodetzea da, ikaskuntza automatikoaren garapena ML operadore eta garatzaileentzat eskalagarriagoa izan dadin, baita ML ereduen kalitatea eta segurtasuna hobetzeko ere.
Batzuek MLOps "DevOps for machine learning" gisa aipatzen dute, DevOps printzipioak garapen teknologikoko eremu espezializatuago batean arrakastaz aplikatzen baititu.
MLOps-i buruz pentsatzeko modu erabilgarria da, DevOps-ek bezala, taldeen eta tresnen arteko ezagutza partekatzea, lankidetza eta praktika onak azpimarratzen dituelako.
MLOps-ek garatzaileei, datu-zientzialariei eta operazio-taldeei lankidetza-esparru bat eskaintzen die eta, ondorioz, ML eredurik indartsuenak ekoizteko.
Zergatik erabili MLOps tresnak?
MLOps tresnek zeregin ugari bete ditzakete ML talde batentzat, hala ere, askotan bi taldetan banatzen dira: plataformaren administrazioa eta banakako osagaien kudeaketa.
MLOps produktu batzuk oinarrizko funtzio bakar batean oinarritzen diren arren, hala nola, datuen edo metadatuen kudeaketan, beste tresna batzuek estrategia osoagoa hartzen dute eta MLOps plataforma bat eskaintzen dute ML bizi-zikloaren hainbat alderdi kontrolatzeko.
Bilatu zure taldeari ML garapen-eremu hauek kudeatzen lagunduko dioten MLOps irtenbideak, espezialista edo tresna zabalago baten bila bazabiltzala:
- Datuen maneiua
- Diseinua eta modelizazioa
- Proiektuen eta lantokiaren kudeaketa
- ML ereduaren hedapena eta etengabeko mantentze-lanak
- Bizi-zikloaren kudeaketa hasieratik amaierara, normalean zerbitzu osoko MLOps plataformek eskaintzen dutena.
MLOps tresnak
1. MLFlow
Ikaskuntza automatikoko bizi-zikloa kode irekiko MLflow plataformak kontrolatzen du eta eredu zentralaren erregistroa, hedapena eta esperimentazioa barne hartzen ditu.
MLflow edozein tamainako taldeek erabil dezakete, banaka zein kolektiboki. Liburutegiek ez dute zerikusirik tresnarekin.
Edozein programazio-lengoaia eta ikaskuntza automatikoko liburutegiak erabil dezake.
Ikaskuntza automatikoko aplikazioak trebatzea, hedatzea eta kudeatzea errazteko, MLFlow-ek ikaskuntza automatikoko hainbat esparrurekin elkarreragiten du, besteak beste. TensorFlow eta Pytorch.
Gainera, MLflow-ek lehendik dauden ikaskuntza automatikoko programetan edo liburutegietan sar daitezkeen API erabilerrazak eskaintzen ditu.
MLflow-ek lau ezaugarri nagusi ditu jarraipena eta plangintza esperimentuak errazten dituztenak:
- MLflow Tracking - API eta UI bat ikaskuntza automatikoaren kodearen parametroak, bertsioak, metrikak eta artefaktuak erregistratzeko, baita emaitzak bistaratzeko eta kontrasterako ere.
- MLflow Projects - ikaskuntza automatikoaren kodea formatu berrerabilgarri eta erreproduzigarri batean ontziratu ekoizpenera transferitzeko edo beste datu-zientzialari batzuekin partekatzeko
- MLflow ereduak: ereduak mantentzea eta hedatzea ML liburutegi ezberdinetako ereduak zerbitzatzeko eta inferentzia sistema sorta batean.
- MLflow Model Registry - MLflow eredu baten bizitza osorako kudeaketa kooperatiboa ahalbidetzen duen eredu-denda zentrala, ereduaren bertsioa, etapa-trantsizioak eta oharrak barne.
2. KubeFlow
Kubernetesentzako ML tresna-kutxa Kubeflow deitzen da. Docker ontziak ontziratzea eta kudeatzea, mantentzen laguntzen du ikaskuntza automatikoko sistemak.
Exekuzioaren orkestrazioa eta ikaskuntza automatikoko lan-fluxuen inplementazioa erraztuz, ikaskuntza automatikoko ereduen eskalagarritasuna sustatzen du.
Kode irekiko proiektu bat da, kontu handiz aukeratutako tresna eta esparru osagarrien multzoa barne hartzen duena ML behar ezberdinetara egokitutakoa.
ML prestakuntza-zeregin luzeak, eskuzko esperimentazioa, errepikakortasuna eta DevOps erronkak kudeatu daitezke Kubeflow Pipelines-ekin.
Ikaskuntza automatikoaren hainbat fasetarako, prestakuntza, kanalizazioaren garapena eta mantentze-lanak barne Jupyter koadernoak, Kubeflow-ek zerbitzu espezializatuak eta integrazioa eskaintzen ditu.
Zure AI lan-kargaren iraupena kudeatzea eta jarraipena egitea errazten du, baita ikaskuntza automatikoaren (ML) ereduak eta datu-hodiak inplementatzea ere Kubernetes klusterretara.
Eskaintzen du:
- SDK sistemarekin elkarreragiteko erabiltzeko koadernoak
- erabiltzailearen interfazea (UI) lasterketak, lanak eta esperimentuak kontrolatzeko eta monitorizatzeko
- Muturreko soluzioak azkar diseinatzeko, aldi bakoitzean berreraiki beharrik gabe, eta osagaiak eta kanalizazioak berrerabiltzeko.
- Kubeflow-en funtsezko osagai gisa edo instalazio autonomo gisa, Kubeflow Pipelines eskaintzen da.
3. Datuen Bertsio Kontrola
Ikaskuntza automatikoko proiektuetarako kode irekiko bertsioak kontrolatzeko irtenbide bati DVC edo Datuen Bertsioen Kontrola deitzen zaio.
Aukeratzen duzun hizkuntza edozein dela ere, kanalizazioaren definizioan laguntzen duen tresna esperimentala da.
DVC-k kodea, datuen bertsioa eta erreproduzigarritasuna erabiltzen ditu zure ML ereduaren aurreko bertsio batekin arazoren bat aurkitzen duzunean denbora aurrezteko.
Gainera, DVC kanalizazioak erabil ditzakezu zure eredua trebatzeko eta taldekideei banatzeko. Big data antolakuntza eta bertsioak DVCk kudea ditzake, eta datuak erraz eskura daitezkeen modu batean gorde daitezke.
Esperimentuen jarraipen-eginbide batzuk (mugatuak) barne hartzen dituen arren, datuen eta kanalizazioen bertsio eta kudeaketan zentratzen da gehienbat.
Eskaintzen du:
- Biltegiratze agnostikoa da, beraz, biltegiratze mota desberdinak erabiltzea posible da.
- Jarraipen-estatistikak ere eskaintzen ditu.
- ML etapak DAG batean batzeko eta kanalizazio osoa hasieratik amaierara exekutatzeko aurrez eraikitako bitartekoa
- ML eredu bakoitzaren garapen osoa jarraitu daiteke bere kode osoa eta datuen jatorria erabiliz.
- Erreproduzigarritasuna esperimentu baterako hasierako konfigurazioa, sarrerako datuak eta programa-kodea zintzoki gordeta.
4. Pakidermoa
Pachyderm bertsio-kontroleko programa bat da ikaskuntza automatikorako eta datu-zientziarako, DVCren antzekoa.
Gainera, erabiliz sortu delako Docker eta Kubernetes, Machine Learning aplikazioak exekutatu eta zabaldu ditzake edozein hodeiko plataformatan.
Pachyderm-ek ikaskuntza automatikoko eredu batean kontsumitzen den datu bakoitzari jarraipena egin eta bertsionatu ahal izatea bermatzen du.
Ikaskuntza automatikoko ereduak sortu, banatu, kudeatu eta zaintzeko erabiltzen da. Ereduen erregistroa, ereduak kudeatzeko sistema eta CLI tresna-kutxa bat sartzen dira.
Garatzaileek beren ikaskuntza automatikoko bizi-zikloa automatizatu eta zabaldu dezakete Pachyderm-en datuen oinarria erabiliz, eta horrek ere errepikagarritasuna bermatzen du.
Datuen gobernantza estandar zorrotzak onartzen ditu, datuak prozesatzeko eta biltegiratzeko kostuak murrizten ditu eta enpresei laguntzen die datu-zientzien ekimenak azkar merkaturatzeko.
5. Poliaxoia
Polyaxon plataforma erabiliz, ikaskuntza automatikoko proiektuak eta ikaskuntza sakoneko aplikazioak erreplikatu eta kudeatu daitezke bizitza-ziklo osoan zehar.
Polyaxonek tresna ostatatzeko eta administratzeko gai da, eta edozein datu-zentro edo hodeiko hornitzailetan jar daiteke. Esaterako, Torch, Tensorflow eta MXNet, ikaskuntza sakoneko esparru ezagunenak onartzen dituztenak.
Orkestrazioari dagokionez, Polyaxonek zure klusterari etekinik handiena ateratzeko aukera ematen dizu, zereginak eta probak programatuz bere CLI, aginte-panel, SDK edo REST APIaren bidez.
Eskaintzen du:
- Kode irekiko bertsioa erabil dezakezu oraintxe bertan, baina korporaziorako aukerak ere baditu.
- Bizi-ziklo osoa hartzen badu ere, exekuzio-orkestrazioa barne, askoz gehiago egiteko gai da.
- Erreferentzia teknikoko dokumentuekin, hasteko jarraibideak, ikasmaterialak, eskuliburuak, tutorialak, aldaketa-erregistroak eta abarrekin, oso ondo dokumentatutako plataforma da.
- Esperimentuen informazio-panelarekin, optimizazio-esperimentu bakoitzari jarraipena egin, jarraipena egin eta ebaluatu daiteke.
6. Comet
Comet esperimentuak eta ereduak jarraitu, kontrastatu, azaltzen eta hobetzen dituen meta-makina ikasteko plataforma bat da.
Zure esperimentu guztiak toki bakarrean ikusi eta aldera daitezke.
Ikaskuntza automatikoko edozein zereginetarako funtzionatzen du, zure kodea egiten den edozein lekutan eta ikaskuntza automatikoko edozein liburutegirekin.
Comet egokia da talde, norbanako, erakunde akademiko, enpresentzat eta esperimentuak azkar ikusi, lana erraztu eta esperimentuak egin nahi dituen edonorentzat.
Datu-zientzialariek eta taldeek esperimentuak eta ereduak jarraitu, argitu, hobetu eta konparatu ditzakete Comet auto-ostatatutako eta hodeian oinarritutako meta-makina ikasteko plataforma erabiliz.
Eskaintzen du:
- Taldekideek zereginak partekatzeko gaitasun asko daude.
- Beste teknologia batzuekin lotzea errazten duten hainbat integrazio ditu
- Ondo funtzionatzen du egungo ML liburutegiekin
- Erabiltzaileen kudeaketaz arduratzen da
- Esperimentuen konparaketa gaituta dago, kodearen, hiperparametroen, neurketen, iragarpenen, mendekotasunaren eta sistemaren neurketen konparaketa barne.
- Ikusmenaren, audioaren, testuaren eta datu-taulen modulu desberdinak eskaintzen ditu, laginak ikusteko aukera ematen dutenak.
7. Optuna
Optuna hiperparametroen optimizazio autonomorako sistema bat da, ikaskuntza automatikoan eta ikaskuntza sakonean zein beste esparru batzuetan aplika daitekeena.
Punta-puntako algoritmo ugari ditu, zeinetatik hauta ditzakezun (edo lotu), oso erraza da prestakuntza ordenagailu ugaritan banatzea eta emaitzak bistaratzeko erakargarriak eskaintzen ditu.
PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM eta XGBoost bezalako ikaskuntza automatikoko liburutegi ezagunak bateratuta daude.
Puntako algoritmoak eskaintzen ditu bezeroei emaitzak azkarrago lortzeko aukera ematen dietenak, itxura itxaropentsuak ez diren laginak azkar murriztuz.
Python-en oinarritutako algoritmoak erabiliz, hiperparametro idealak automatikoki bilatzen ditu. Optuna-k hari askotan zehar paralelizatutako hiperparametroen bilaketak bultzatzen ditu jatorrizko kodea aldatu gabe.
Eskaintzen du:
- Kluster batean eta ordenagailu bakar batean (prozesu anitzeko) (nodo anitzeko) prestakuntza banatua onartzen du.
- Hainbat mozketa teknika onartzen ditu konbergentzia bizkortzeko (eta konputazio gutxiago erabiltzeko)
- Hainbat bistaratze indartsu ditu, hala nola, xerra-marraketa, sestra-lerroa eta koordenatu paraleloak.
8. Kedro
Kedro kodea idazteko doako Python markoa da, datu zientzien proiektuetarako eguneratu eta mantendu daitekeena.
Software ingeniaritzako praktika onen ideiak ekartzen ditu ikaskuntza automatikoko kodera. Python da lan-fluxua orkestratzeko tresna honen oinarria.
Zure ML prozesuak sinpleagoak eta zehatzagoak izan daitezen, lan-fluxu erreproduzigarriak, mantendugarriak eta modularrak garatu ditzakezu.
Kedrok software-ingeniaritza-printzipioak barne hartzen ditu, esaterako, modulartasuna, erantzukizunak bereiztea eta bertsioa makina ikasteko ingurune batean.
Cookiecutter Data Science-n oinarrituta, proiektu-esparru komun eta moldagarria eskaintzen du.
Hainbat fitxategi-sistema eta fitxategi-formatutan datuak gordetzeko eta kargatzeko erabiltzen diren datu-konektore soil batzuk kudeatzen ditu datu-katalogoak. Ikaskuntza automatikoko proiektuak eraginkorragoak egiten ditu eta datu kanalizazioa sortzea errazten du.
Eskaintzen du:
- Kedrok makina sakabanatua edo bakartua zabaltzea ahalbidetzen du.
- Python kodearen eta lan-fluxuaren bistaratzearen arteko menpekotasunak automatiza ditzakezu kanalizazioen abstrakzioa erabiliz.
- Kode modular eta berrerabilgarriaren erabileraren bidez, teknologia honek taldeen lankidetza errazten du hainbat mailatan eta produktibitatea hobetzen du kodeketa ingurunean.
- Helburu nagusia Jupyter koadernoen, gidoi bakarreko eta kola-kodeen eragozpenak gainditzea da, datu-zientzien programazio mantentzea idatziz.
9. BentoML
Ikaskuntza automatikoko API amaierako puntuak sortzea errazten da BentoML-rekin.
Azpiegitura tipiko baina kondentsatua eskaintzen du ikasitako ikaskuntza automatikoko ereduak ekoizpenera eramateko.
Ikasitako ereduak ekoizpen-ezarpen batean erabiltzeko paketatzeko aukera ematen du, edozein ML esparru erabiliz interpretatuz. Lineaz kanpoko loteen zerbitzaria eta lineako APIen zerbitzaria onartzen dira.
Errendimendu handiko eredu zerbitzaria eta lan-fluxu malgua dira BentoMLren ezaugarriak.
Gainera, zerbitzariak mikro-batching moldagarria eskaintzen du. Ereduak antolatzeko eta inplementazio-prozeduren jarraipena egiteko ikuspegi bateratua eskaintzen du UI panelak.
Ez da zerbitzariaren geldialdirik egongo, mekanismo eragilea modularra delako eta konfigurazioa berrerabilgarria delako. ML ereduak emateko, antolatzeko eta zabaltzeko plataforma malgua da.
Eskaintzen du:
- Diseinu modularra du, moldagarria dena.
- Hainbat plataformatan zabaltzea ahalbidetzen du.
- Ezin du automatikoki kudeatu eskala horizontala.
- Eredu formatu bakarra, ereduen kudeaketa, modeloen ontziratzea eta errendimendu handiko ereduak zerbitzatzea ahalbidetzen ditu.
10. seldon
Datu-zientzialariek Kubernetesen eskalan eskalan makina ikasteko ereduak eta esperimentuak sortu, zabaldu eta kudeatu ditzakete Seldon Core kode irekiko markoa erabiliz.
TensorFlow, sci-kit-learn, Spark, R, Java eta H2O honek onartzen dituen tresna-kitetako batzuk dira.
Kubeflow eta RedHat-en OpenShift-ekin ere interfazea da. Seldon nukleoak ikaskuntza automatikoko ereduak (ML ereduak) edo hizkuntza bilgarriak (Python, Java, etab. bezalako hizkuntzak) ekoizpen REST/GRPC mikrozerbitzu bihurtzen ditu.
Ikasketa automatikoko prozesuak hobetzeko MLOps tresna onenetako bat hau da.
Erraza da ML ereduak edukiontzian jartzea eta Seldon Core erabiliz erabilgarritasuna eta segurtasuna probatzea.
Eskaintzen du:
- Ereduaren hedapena errazagoa izan daiteke hainbat alternatibarekin, hala nola Canary inplementazioa.
- Iragarpen zehatzak zergatik egin diren ulertzeko, erabili ereduen azalpenak.
- Arazoak sortzen direnean, adi egon ekoizpen-ereduei alerta-sistema erabiliz.
Ondorioa
MLOps-ek ikaskuntza automatikoko eragiketak hobetzen lagun dezakete. MLOps-ek inplementazioa bizkortu dezakete, datu-bilketa eta arazketa erraztu eta ingeniarien eta datu-zientzialarien arteko lankidetza hobetu dezakete.
Zure beharretara hobekien egokitzen den MLOps tresna aukeratzeko, argitalpen honek 10 MLOps irtenbide ezagun aztertu ditu, gehienak kode irekikoak.
Utzi erantzun bat