Niekoľko globálnych sektorov začína výraznejšie investovať do strojového učenia (ML).
Modely ML môžu spočiatku spúšťať a prevádzkovať tímy špecialistov, ale jednou z najväčších prekážok je prenos získaných poznatkov do ďalšieho modelu, aby sa procesy mohli rozšíriť.
Na zlepšenie a štandardizáciu procesov zapojených do riadenia životného cyklu modelov tímy, ktoré vytvárajú modely strojového učenia, čoraz viac využívajú techniky MLOps.
Pokračujte v čítaní a zistite viac o niektorých z najlepších nástrojov a platforiem MLOps, ktoré sú dnes k dispozícii, a o tom, ako môžu zjednodušiť strojové učenie z hľadiska nástroja, vývojára a procesu.
Čo je MLOps?
Technika vytvárania politík, noriem a osvedčených postupov pre modely strojového učenia je známa ako „operácie strojového učenia“ alebo „MLOps“.
Cieľom MLOps je zaručiť, že celý životný cyklus vývoja ML – od koncepcie až po nasadenie – je dôkladne zdokumentovaný a riadený s cieľom dosiahnuť najlepšie výsledky, a nie investovať doň veľa času a zdrojov bez stratégie.
Cieľom MLOps je kodifikovať osvedčené postupy tak, aby bol vývoj strojového učenia škálovateľnejší pre operátorov a vývojárov ML, ako aj zvýšiť kvalitu a bezpečnosť modelov ML.
Niektorí označujú MLOps ako „DevOps pre strojové učenie“, pretože úspešne aplikuje princípy DevOps na špecializovanejšiu oblasť technologického rozvoja.
Je to užitočný spôsob, ako premýšľať o MLOps, pretože podobne ako DevOps kladie dôraz na zdieľanie znalostí, spoluprácu a osvedčené postupy medzi tímami a nástrojmi.
MLOps poskytuje vývojárom, dátovým vedcom a operačným tímom rámec na spoluprácu a v dôsledku toho na vytváranie najvýkonnejších modelov ML.
Prečo používať nástroje MLOps?
Nástroje MLOps môžu vykonávať širokú škálu povinností pre tím ML, často sa však delia do dvoch skupín: správa platformy a správa jednotlivých komponentov.
Zatiaľ čo niektoré produkty MLOps sa zameriavajú iba na jednu základnú funkciu, ako je napríklad správa údajov alebo metadát, iné nástroje prijímajú komplexnejšiu stratégiu a poskytujú platformu MLOps na riadenie niekoľkých aspektov životného cyklu ML.
Hľadajte riešenia MLOps, ktoré pomôžu vášmu tímu pri správe týchto oblastí rozvoja ML, či už hľadáte špecialistu alebo širší nástroj:
- Manipulácia s údajmi
- Dizajn a modelovanie
- Riadenie projektov a pracoviska
- Nasadenie modelu ML a nepretržitá údržba
- Správa životného cyklu od začiatku do konca, ktorú zvyčajne ponúkajú platformy MLOps s plnými službami.
Nástroje MLOps
1. MLFlow
Životný cyklus strojového učenia je riadený open-source platformou MLflow a zahŕňa centrálnu registráciu modelu, nasadenie a experimentovanie.
MLflow môže používať tím akejkoľvek veľkosti, či už individuálne alebo kolektívne. Knižnice nemajú žiadny vplyv na nástroj.
Môže ho využiť akýkoľvek programovací jazyk a knižnica strojového učenia.
Aby bolo trénovanie, nasadenie a správa aplikácií strojového učenia jednoduchšie, MLFlow spolupracuje s množstvom rámcov strojového učenia, vrátane TensorFlow a Pytorch.
MLflow navyše poskytuje ľahko použiteľné rozhrania API, ktoré možno zahrnúť do akýchkoľvek existujúcich programov alebo knižníc strojového učenia.
MLflow má štyri kľúčové funkcie, ktoré uľahčujú sledovanie a plánovanie experimentov:
- MLflow Tracking – API a používateľské rozhranie na zaznamenávanie parametrov, verzií, metrík a artefaktov kódu strojového učenia, ako aj na následné zobrazovanie a porovnávanie výsledkov
- Projekty MLflow – balenie kódu strojového učenia do opätovne použiteľného, reprodukovateľného formátu na prenos do výroby alebo zdieľanie s inými vedcami údajov
- Modely MLflow – údržba a nasadzovanie modelov do radu systémov na obsluhu modelov a odvodzovania z rôznych knižníc ML
- MLflow Model Registry – centrálne úložisko modelov, ktoré umožňuje kooperatívnu správu celej životnosti modelu MLflow, vrátane verzií modelu, prechodov fáz a anotácií.
2. KubeFlow
Súprava nástrojov ML pre Kubernetes sa nazýva Kubeflow. Balenie a správa kontajnerov Docker, pomôcky pri údržbe systémy strojového učenia.
Zjednodušením orchestrácie behu a nasadením pracovných postupov strojového učenia podporuje škálovateľnosť modelov strojového učenia.
Ide o open-source projekt, ktorý zahŕňa starostlivo vybranú skupinu doplnkových nástrojov a rámcov prispôsobených rôznym potrebám ML.
Dlhé školiace úlohy ML, manuálne experimentovanie, opakovateľnosť a výzvy DevOps možno zvládnuť pomocou Kubeflow Pipelines.
Pre niekoľko fáz strojového učenia, vrátane školenia, vývoja potrubia a údržby notebooky Jupyter, Kubeflow ponúka špecializované služby a integráciu.
Zjednodušuje správu a sledovanie životnosti vašich pracovných zaťažení AI, ako aj nasadzovanie modelov strojového učenia (ML) a dátových kanálov do klastrov Kubernetes.
Ponúka:
- Notebooky na používanie súpravy SDK na interakciu so systémom
- používateľské rozhranie (UI) na riadenie a monitorovanie chodov, úloh a experimentov
- Rýchlo navrhnúť komplexné riešenia bez toho, aby ste ich museli zakaždým prestavovať a znova používať komponenty a potrubia.
- Ako kľúčový komponent Kubeflow alebo ako samostatná inštalácia sa ponúka Kubeflow Pipelines.
3. Kontrola verzií údajov
Open source riešenie na správu verzií pre projekty strojového učenia sa nazýva DVC alebo Data Version Control.
Bez ohľadu na jazyk, ktorý si vyberiete, je to experimentálny nástroj, ktorý pomáha pri definovaní kanálov.
DVC využíva kód, vytváranie verzií údajov a reprodukovateľnosť, aby vám pomohol ušetriť čas, keď objavíte problém so staršou verziou vášho modelu ML.
Okrem toho môžete použiť kanály DVC na trénovanie vášho modelu a jeho distribúciu členom vášho tímu. Organizáciu veľkých dát a vytváranie verzií môže spracovať DVC a dáta je možné ukladať ľahko dostupným spôsobom.
Hoci obsahuje niektoré (obmedzené) funkcie sledovania experimentov, väčšinou sa zameriava na vytváranie verzií a správu údajov a kanálov.
Ponúka:
- Je skladovací agnostický, preto je možné použiť rôzne typy skladovania.
- Poskytuje tiež štatistiky sledovania.
- vopred zostavený prostriedok na spojenie fáz ML do DAG a spustenie celého potrubia od začiatku do konca
- Celý vývoj každého modelu ML je možné sledovať pomocou celého jeho kódu a pôvodu údajov.
- Reprodukovateľnosť vďaka vernému zachovaniu počiatočnej konfigurácie, vstupných údajov a programového kódu pre experiment.
4. Pachyderm
Pachyderm je program na správu verzií pre strojové učenie a vedu o údajoch, podobne ako DVC.
Navyše, pretože bol vytvorený pomocou Docker a Kubernetes, môže spúšťať a nasadzovať aplikácie strojového učenia na akejkoľvek cloudovej platforme.
Pachyderm poskytuje záruky, že každý údaj, ktorý sa spotrebuje v modeli strojového učenia, je možné spätne sledovať a upravovať jeho verzie.
Používa sa na vytváranie, distribúciu, správu a sledovanie modelov strojového učenia. Zahrnutý je register modelov, systém správy modelov a súprava nástrojov CLI.
Vývojári môžu automatizovať a rozširovať svoj životný cyklus strojového učenia pomocou dátovej základne Pachyderm, ktorá tiež zaisťuje opakovateľnosť.
Podporuje prísne štandardy správy údajov, znižuje náklady na spracovanie a ukladanie údajov a pomáha podnikom rýchlejšie uvádzať na trh svoje iniciatívy v oblasti vedy o údajoch.
5. Polyaxon
Pomocou platformy Polyaxon možno projekty strojového učenia a aplikácie hlbokého učenia replikovať a spravovať počas celého ich životného cyklu.
Polyaxon je schopný hostiť a spravovať nástroj a možno ho umiestniť do akéhokoľvek dátového centra alebo poskytovateľa cloudu. Ako napríklad Torch, Tensorflow a MXNet, ktoré podporujú všetky najpopulárnejšie rámce hlbokého učenia.
Pokiaľ ide o orchestráciu, Polyaxon vám umožňuje vyťažiť maximum z vášho klastra plánovaním úloh a testov cez ich CLI, dashboard, SDK alebo REST API.
Ponúka:
- Verziu s otvoreným zdrojovým kódom môžete použiť práve teraz, ale zahŕňa aj možnosti pre podniky.
- Hoci pokrýva celý životný cyklus vrátane orchestrácie behu, dokáže toho oveľa viac.
- Vďaka technickým referenčným dokumentom, pokynom na začatie práce, učebným materiálom, manuálom, návodom, protokolom zmien a ďalším je to veľmi dobre zdokumentovaná platforma.
- Pomocou hlavného panela štatistík experimentu je možné sledovať, sledovať a vyhodnocovať každý optimalizačný experiment.
6. kométa
Comet je platforma pre meta strojové učenie, ktorá sleduje, porovnáva, vysvetľuje a zlepšuje experimenty a modely.
Všetky vaše experimenty je možné zobraziť a porovnať na jednom mieste.
Funguje pre akúkoľvek úlohu strojového učenia, kdekoľvek sa vykonáva váš kód, a s akoukoľvek knižnicou strojového učenia.
Kométa je vhodná pre skupiny, jednotlivcov, akademické inštitúcie, podniky a kohokoľvek iného, kto chce rýchlo vizualizovať experimenty, zefektívniť prácu a vykonávať experimenty.
Vedci a tímy v oblasti údajov môžu sledovať, objasňovať, zlepšovať a porovnávať experimenty a modely pomocou samoobslužnej a cloudovej platformy pre metastrojové učenie Comet.
Ponúka:
- Pre členov tímu existuje veľa možností na zdieľanie úloh.
- Má niekoľko integrácií, ktoré uľahčujú prepojenie s inými technológiami
- Funguje dobre so súčasnými knižnicami ML
- Stará sa o správu používateľov
- Je povolené porovnávanie experimentov vrátane porovnávania kódu, hyperparametrov, metrík, predpovedí, závislostí a systémových metrík.
- Poskytuje odlišné moduly pre obraz, zvuk, text a tabuľkové údaje, ktoré vám umožňujú vizualizovať vzorky.
7. Opt
Optuna je systém pre autonómnu optimalizáciu hyperparametrov, ktorý je možné aplikovať na strojové učenie a hlboké učenie, ako aj na iné oblasti.
Obsahuje množstvo špičkových algoritmov, z ktorých si môžete vybrať (alebo prepojiť), veľmi zjednodušuje distribúciu školení na množstvo počítačov a ponúka atraktívnu vizualizáciu výsledkov.
Populárne knižnice strojového učenia ako PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM a XGBoost sú s ním integrované.
Poskytuje špičkové algoritmy, ktoré zákazníkom umožňujú rýchlejšie získavať výsledky rýchlym zmenšením vzoriek, ktoré nevyzerajú sľubne.
Pomocou algoritmov založených na Pythone automaticky hľadá ideálne hyperparametre. Optuna podporuje paralelné vyhľadávanie hyperparametrov v mnohých vláknach bez zmeny pôvodného kódu.
Ponúka:
- Podporuje distribuované školenie na klastri, ako aj na jednom počítači (multiprocess) (multi-node)
- Podporuje niekoľko techník orezávania na urýchlenie konvergencie (a spotrebuje menej výpočtov)
- Má rôzne výkonné vizualizácie, ako je graf rezov, obrysový graf a paralelné súradnice.
8. Kedro
Kedro je bezplatný rámec Pythonu na písanie kódu, ktorý je možné aktualizovať a udržiavať pre projekty vedy o údajoch.
Prináša nápady z osvedčených postupov v softvérovom inžinierstve do kódu strojového učenia. Python je základom tohto nástroja na orchestráciu pracovného toku.
Aby boli vaše procesy ML jednoduchšie a presnejšie, môžete vyvinúť reprodukovateľné, udržiavateľné a modulárne pracovné postupy.
Kedro zahŕňa princípy softvérového inžinierstva, ako je modularita, oddelenie zodpovedností a vytváranie verzií do prostredia strojového učenia.
Na základe Cookiecutter Data Science poskytuje spoločný, adaptabilný projektový rámec.
Katalóg údajov spravuje množstvo jednoduchých dátových konektorov používaných na ukladanie a načítanie údajov v niekoľkých súborových systémoch a formátoch súborov. Zefektívňuje projekty strojového učenia a zjednodušuje vytváranie dátového kanála.
Ponúka:
- Kedro umožňuje buď rozptýlené alebo osamelé nasadenie stroja.
- Závislosti medzi kódom Python a vizualizáciou pracovného toku môžete automatizovať pomocou abstrakcie potrubia.
- Vďaka použitiu modulárneho, opakovane použiteľného kódu táto technológia uľahčuje tímovú spoluprácu na rôznych úrovniach a zvyšuje produktivitu v kódovacom prostredí.
- Primárnym cieľom je prekonať nevýhody notebookov Jupyter, jednorazových skriptov a lepeného kódu napísaním udržiavateľného programovania pre vedu o údajoch.
9. BentoML
Vytváranie koncových bodov API strojového učenia je s BentoML jednoduchšie.
Poskytuje typickú, ale zhustenú infraštruktúru na presun naučených modelov strojového učenia do výroby.
Umožňuje vám zabaliť naučené modely na použitie v produkčnom prostredí a interpretovať ich pomocou akéhokoľvek rámca ML. Podporované je offline dávkové poskytovanie aj online poskytovanie API.
Vysokovýkonný modelový server a flexibilný pracovný tok sú vlastnosti BentoML.
Server navyše ponúka adaptívne mikrodávkovanie. Jednotný prístup k organizácii modelov a sledovaniu postupov nasadenia poskytuje ovládací panel používateľského rozhrania.
Nedôjde k výpadkom servera, pretože operačný mechanizmus je modulárny a konfigurácia je znovu použiteľná. Ide o flexibilnú platformu na poskytovanie, organizovanie a nasadzovanie modelov ML.
Ponúka:
- Má modulárny dizajn, ktorý je prispôsobiteľný.
- Umožňuje nasadenie na viacerých platformách.
- Nemôže automaticky zvládnuť horizontálne škálovanie.
- Umožňuje formát jedného modelu, správu modelov, balenie modelov a vysokovýkonné poskytovanie modelov.
10. Seldon
Dátoví vedci môžu vytvárať, nasadzovať a spravovať modely strojového učenia a experimenty vo veľkom meradle na Kubernetes pomocou open-source rámca Seldon Core.
TensorFlow, sci-kit-learn, Spark, R, Java a H2O sú len niektoré zo súprav nástrojov, ktoré podporuje.
Je tiež prepojený s Kubeflow a RedHat OpenShift. Jadro Seldon transformuje modely strojového učenia (modely ML) alebo jazykové obaly (jazyky ako Python, Java atď.) na produkčné mikroslužby REST/GRPC.
Jeden z najlepších nástrojov MLOps na zlepšenie procesov strojového učenia je tento.
Je jednoduché kontajnerizovať modely ML a testovať použiteľnosť a bezpečnosť pomocou Seldon Core.
Ponúka:
- Nasadenie modelu je možné zjednodušiť niekoľkými alternatívami, ako je nasadenie kanárikov.
- Ak chcete pochopiť, prečo boli vytvorené konkrétne predpovede, použite vysvetľovače modelov.
- Keď sa vyskytnú problémy, sledujte produkčné modely pomocou výstražného systému.
záver
MLOps môže pomôcť zlepšiť operácie strojového učenia. MLOps môže urýchliť nasadenie, zjednodušiť zber a ladenie údajov a zlepšiť spoluprácu medzi inžiniermi a vedcami údajov.
Aby ste si mohli vybrať nástroj MLOps, ktorý najlepšie vyhovuje vašim potrebám, tento príspevok preskúmal 10 populárnych riešení MLOps, z ktorých väčšina je open source.
Nechaj odpoveď