Számos globális szektor kezd jelentősebb beruházásokat végezni a gépi tanulásba (ML).
Az ML modelleket kezdetben szakembergárdák is elindíthatják és működtethetik, de az egyik legnagyobb akadály a megszerzett tudás átadása a következő modellbe, így a folyamatok bővíthetők.
A modell életciklus-kezelésével kapcsolatos folyamatok javítása és szabványosítása érdekében a gépi tanulási modelleket létrehozó csapatok egyre gyakrabban használják az MLOps technikákat.
Folytassa az olvasást, hogy többet megtudjon a ma elérhető legjobb MLOps-eszközökről és -platformokról, valamint arról, hogyan könnyíthetik meg ezek a gépi tanulást eszköz, fejlesztő és eljárási szempontból.
Mi az MLOps?
A gépi tanulási modellek irányelveinek, normáinak és bevált gyakorlatainak létrehozására szolgáló technika „gépi tanulási műveletek” vagy „MLOps” néven ismert.
Az MLOps célja, hogy garantálja az ML fejlesztés teljes életciklusát – a koncepciótól a telepítésig – aprólékosan dokumentálja és menedzselje a legjobb eredmények érdekében, ahelyett, hogy stratégia nélkül sok időt és erőforrást fektetne bele.
Az MLOps célja a bevált gyakorlatok kodifikálása oly módon, hogy a gépi tanulás fejlesztése skálázhatóbbá váljon az ML üzemeltetők és fejlesztők számára, valamint javítsa az ML modellek minőségét és biztonságát.
Egyesek az MLOps-t „DevOps gépi tanuláshoz” néven említik, mivel sikeresen alkalmazza a DevOps elveket a technológiai fejlesztés egy speciálisabb területén.
Ez egy hasznos módja az MLOps-nak, mivel a DevOps-hoz hasonlóan a tudásmegosztást, az együttműködést és a legjobb gyakorlatokat helyezi előtérbe a csapatok és eszközök között.
Az MLOps keretet biztosít a fejlesztők, adattudósok és operatív csapatok számára az együttműködéshez, és ennek eredményeként a legerősebb ML modellek előállításához.
Miért érdemes az MLOps eszközöket használni?
Az MLOps eszközök sokféle feladatot képesek ellátni egy ML csapat számára, azonban gyakran két csoportra osztják őket: platformadminisztrációra és egyedi összetevők kezelésére.
Míg egyes MLOps-termékek csak egyetlen alapvető funkcióra összpontosítanak, mint például az adat- vagy metaadatkezelésre, más eszközök átfogóbb stratégiát alkalmaznak, és MLOps-platformot biztosítanak az ML életciklusának számos aspektusának vezérléséhez.
Keressen olyan MLOps megoldásokat, amelyek segítik csapatát az ML fejlesztési területek kezelésében, akár szakembert, akár szélesebb körű eszközt keres:
- Adatok kezelése
- Tervezés és modellezés
- Projektek és munkahely menedzsment
- ML modell telepítése és folyamatos karbantartása
- Életciklus-kezelés az elejétől a végéig, amelyet jellemzően teljes körű szolgáltatást nyújtó MLOps platformok kínálnak.
MLOps eszközök
1. MLFlow
A gépi tanulás életciklusát a nyílt forráskódú MLflow platform vezérli, és magában foglalja a modell központi regisztrációját, telepítését és kísérletezését.
Az MLflow-t bármilyen méretű csapat használhatja egyénileg és együttesen egyaránt. A könyvtárak nem befolyásolják az eszközt.
Bármely programozási nyelv és gépi tanulási könyvtár használhatja.
A gépi tanulási alkalmazások betanításának, üzembe helyezésének és kezelésének egyszerűsítése érdekében az MLFlow számos gépi tanulási keretrendszerrel működik együtt, beleértve a TensorFlow és Pytorch.
Ezenkívül az MLflow könnyen használható API-kat biztosít, amelyek bármely meglévő gépi tanulási programba vagy könyvtárba beépíthetők.
Az MLflow négy kulcsfontosságú funkcióval rendelkezik, amelyek megkönnyítik a kísérletek nyomon követését és tervezését:
- MLflow Tracking – API és felhasználói felület a gépi tanulási kód paramétereinek, verzióinak, metrikáinak és melléktermékeinek naplózására, valamint az eredmények későbbi megjelenítésére és szembeállítására
- MLflow Projects – gépi tanulási kód csomagolása újrafelhasználható, reprodukálható formátumba, hogy átvigye a termelésbe vagy megoszthassa más adattudósokkal
- MLflow modellek – modellek karbantartása és telepítése számos modellkiszolgáló és következtetési rendszerhez különböző ML könyvtárakból
- MLflow Model Registry – egy központi modelltároló, amely lehetővé teszi az MLflow modell teljes élettartamának kooperatív kezelését, beleértve a modell verziószámát, a szakaszos átmeneteket és a megjegyzéseket.
2. KubeFlow
A Kubernetes ML eszköztárának neve Kubeflow. Docker konténerek csomagolása, kezelése, karbantartási segédletek gépi tanulási rendszerek.
A gépi tanulási munkafolyamatok futásirányításának és telepítésének egyszerűsítésével elősegíti a gépi tanulási modellek méretezhetőségét.
Ez egy nyílt forráskódú projekt, amely a különböző ML igényekhez szabott kiegészítő eszközök és keretrendszerek gondosan kiválasztott csoportját tartalmazza.
Hosszú ML képzési feladatok, manuális kísérletezés, ismételhetőség és DevOps kihívások kezelhetők a Kubeflow Pipelines segítségével.
A gépi tanulás több szakaszához, beleértve a képzést, a folyamatfejlesztést és a karbantartást Jupyter jegyzetfüzetek, a Kubeflow speciális szolgáltatásokat és integrációt kínál.
Lehetővé teszi az AI-munkaterhelések élettartamának kezelését és nyomon követését, valamint a gépi tanulási (ML) modellek és adatfolyamok Kubernetes-fürtökbe történő telepítését.
Kínál:
- Jegyzetfüzetek az SDK használatához a rendszerrel való interakcióhoz
- felhasználói felület (UI) a futtatások, feladatok és kísérletek vezérléséhez és figyeléséhez
- A végpontok közötti megoldások gyors tervezése anélkül, hogy minden alkalommal újra kellene építeni, illetve újra fel kellene használni az alkatrészeket és a csővezetékeket.
- A Kubeflow kulcselemeként vagy önálló telepítésként kínálják a Kubeflow Pipelines-t.
3. Adatverzió-szabályozás
A gépi tanulási projektekhez használható nyílt forráskódú verziófelügyeleti megoldást DVC-nek vagy Data Version Controlnak hívják.
Bármelyik nyelvet is választja, ez egy kísérleti eszköz, amely segíti a folyamat meghatározását.
A DVC kódot, adatverziót és reprodukálhatóságot használ, hogy időt takarítson meg, ha hibát fedez fel az ML modell egy korábbi verziójával.
Ezenkívül DVC-folyamatokat is használhat a modell betanításához és a csapattagok számára történő terjesztéséhez. A nagy adatok rendszerezése és verziószámozása a DVC-vel kezelhető, az adatok könnyen hozzáférhető módon tárolhatók.
Bár tartalmaz néhány (korlátozott) kísérletkövetési funkciót, leginkább az adatok és a folyamatok verziózására és kezelésére összpontosít.
Kínál:
- Tárolás-agnosztikus, ezért sokféle tárolási típus alkalmazható.
- Nyomon követési statisztikákat is biztosít.
- előre beépített eszköz az ML szakaszok DAG-ba való egyesítésére és a teljes csővezeték futtatására az elejétől a végéig
- Minden ML modell teljes fejlesztése nyomon követhető a teljes kód és adatforrás felhasználásával.
- Reprodukálhatóság a kezdeti konfiguráció, a bemeneti adatok és a kísérlet programkódjának hű megőrzésével.
4. Vastagbőrű
A Pachyderm egy verzióvezérlő program gépi tanuláshoz és adattudományhoz, hasonlóan a DVC-hez.
Ráadásul azért, mert a Docker és Kubernetes, bármilyen felhőplatformon futtathat és telepíthet Machine Learning alkalmazásokat.
A Pachyderm garantálja, hogy a gépi tanulási modellben felhasznált minden adat visszakövethető és verziószámítható.
A gépi tanulási modellek létrehozására, terjesztésére, kezelésére és szemmel tartására használják. Egy modellnyilvántartás, egy modellkezelő rendszer és egy CLI eszköztár is megtalálható benne.
A fejlesztők automatizálhatják és kibővíthetik gépi tanulási életciklusukat a Pachyderm adatalapjával, amely szintén biztosítja az ismételhetőséget.
Támogatja a szigorú adatkezelési szabványokat, csökkenti az adatfeldolgozási és tárolási költségeket, és segíti a vállalkozásokat adattudományi kezdeményezéseik gyorsabb piaci bevezetésében.
5. Polyaxon
A Polyaxon platform segítségével a gépi tanulási projektek és a mélytanulási alkalmazások replikálhatók és kezelhetők teljes életciklusuk során.
A Polyaxon képes tárolni és felügyelni az eszközt, és bármely adatközpontban vagy felhőszolgáltatóban elhelyezhető. Ilyen például a Torch, a Tensorflow és az MXNet, amelyek támogatják az összes legnépszerűbb mély tanulási keretrendszert.
Ha a hangszerelésről van szó, a Polyaxon lehetővé teszi, hogy a legtöbbet hozza ki a fürtből a feladatok és tesztek ütemezésével a CLI-n, az irányítópulton, az SDK-kon vagy a REST API-n keresztül.
Kínál:
- Jelenleg a nyílt forráskódú verziót használhatja, de a vállalati választási lehetőségeket is tartalmazza.
- Bár a teljes életciklust lefedi, beleértve a futási hangszerelést is, sokkal többre képes.
- Műszaki referenciadokumentumokkal, kezdő útmutatókkal, tananyagokkal, kézikönyvekkel, oktatóanyagokkal, változásnaplókkal és még sok mással ez egy nagyon jól dokumentált platform.
- A kísérleti betekintések irányítópultjával figyelemmel kísérheti, nyomon követheti és értékelheti az egyes optimalizálási kísérleteket.
6. Üstökös
A Comet a metagépi tanulás platformja, amely nyomon követi, szembeállítja, magyarázza és javítja a kísérleteket és modelleket.
Minden kísérlete megtekinthető és összehasonlítható egy helyen.
Bármilyen gépi tanulási feladathoz működik, bárhol végrehajtja a kódot, és bármely gépi tanulási könyvtárral használható.
A Comet alkalmas csoportok, magánszemélyek, egyetemi intézmények, vállalkozások és bárki más számára, akik gyorsan szeretnék vizualizálni a kísérleteket, egyszerűsíteni a munkát és kísérleteket végezni.
Az adattudósok és a csapatok nyomon követhetik, tisztázhatják, javíthatják és összehasonlíthatják a kísérleteket és modelleket a Comet saját üzemeltetésű és felhő alapú meta-gépi tanulási platform segítségével.
Kínál:
- Számos lehetőség létezik a csapattagok számára a feladatok megosztására.
- Számos integrációval rendelkezik, amelyek megkönnyítik más technológiákkal való összekapcsolását
- Jól működik a jelenlegi ML könyvtárakkal
- Gondoskodik a felhasználók kezeléséről
- A kísérletek összehasonlítása engedélyezve van, beleértve a kódok, hiperparaméterek, metrikák, előrejelzések, függőségek és rendszermetrikák összehasonlítását.
- Különálló modulokat biztosít a kép-, hang-, szöveg- és táblázatos adatokhoz, amelyek lehetővé teszik a minták megjelenítését.
7. Optuna
Az Optuna egy autonóm hiperparaméter-optimalizálási rendszer, amely mind a gépi tanulásra, mind a mély tanulásra, valamint más területekre alkalmazható.
Különféle élvonalbeli algoritmusokat tartalmaz, amelyek közül választhat (vagy linkelhet), nagyon egyszerűvé teszi a képzések elosztását számos számítógépen, és vonzó eredmények megjelenítését kínálja.
Az olyan népszerű gépi tanulási könyvtárak, mint a PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM és XGBoost mind integrálva vannak vele.
Élvonalbeli algoritmusokat biztosít, amelyek lehetővé teszik az ügyfelek számára, hogy gyorsabban érjenek el eredményeket azáltal, hogy gyorsan csökkentik a nem túl ígéretesnek tűnő mintákat.
Python alapú algoritmusok segítségével automatikusan megkeresi az ideális hiperparamétereket. Az Optuna párhuzamosított hiperparaméteres keresést ösztönöz számos szálon az eredeti kód megváltoztatása nélkül.
Kínál:
- Támogatja az elosztott képzést fürtön, valamint egyetlen számítógépen (többfolyamatos) (több csomópont)
- Számos vágási technikát támogat a konvergencia felgyorsítása érdekében (és kevesebb számítási igényt)
- Számos hatékony vizualizációval rendelkezik, mint például a szeletábra, a kontúrábra és a párhuzamos koordináták.
8. Kedro
A Kedro egy ingyenes Python-keretrendszer kódíráshoz, amely frissíthető és karbantartható adattudományi projektekhez.
Ötleteket hoz a szoftverfejlesztés bevált gyakorlataitól a gépi tanulási kódig. A Python a munkafolyamat-hangszerelő eszköz alapja.
Az ML folyamatok egyszerűbbé és pontosabbá tételéhez reprodukálható, karbantartható és moduláris munkafolyamatokat fejleszthet.
A Kedro olyan szoftverfejlesztési elveket foglal magában, mint a modularitás, a felelősségi körök szétválasztása és a verziószámítás egy gépi tanulási környezetbe.
A Cookiecutter Data Science alapján közös, adaptálható projektkeretet biztosít.
Az adatkatalógus számos egyszerű adatcsatlakozót kezel, amelyek több fájlrendszerben és fájlformátumban tárolhatók és betölthetők. Hatékonyabbá teszi a gépi tanulási projekteket, és egyszerűbbé teszi az adatfolyam felépítését.
Kínál:
- A Kedro lehetővé teszi akár szétszórt, akár magányos géptelepítést.
- A Python-kód és a munkafolyamat-vizualizáció közötti függőségek automatizálhatók a folyamat absztrakciójával.
- A moduláris, újrafelhasználható kód használatával ez a technológia számos szinten megkönnyíti a csapatok együttműködését, és javítja a kódolási környezetben a termelékenységet.
- Az elsődleges cél a Jupyter notebookok, az egyszeri szkriptek és a ragasztókód hátrányainak leküzdése karbantartható adattudományi programozás megírásával.
9. BentoML
A BentoML megkönnyíti a gépi tanulási API-végpontok létrehozását.
Tipikus, de tömör infrastruktúrát biztosít a tanult gépi tanulási modellek termelésbe való átültetéséhez.
Lehetővé teszi a tanult modellek becsomagolását termelési környezetben való használatra, bármilyen ML keretrendszer segítségével értelmezve azokat. Mind az offline kötegelt kiszolgálás, mind az online API kiszolgálás támogatott.
A nagy teljesítményű modellkiszolgáló és a rugalmas munkafolyamat a BentoML jellemzői.
Ezenkívül a szerver adaptív mikro kötegelést is kínál. A felhasználói felület irányítópultja egységes megközelítést biztosít a modellek rendszerezéséhez és a telepítési eljárások nyomon követéséhez.
Nem lesz szerverleállás, mert a működési mechanizmus moduláris, és a konfiguráció újrafelhasználható. Ez egy rugalmas platform az ML-modellek biztosításához, szervezéséhez és telepítéséhez.
Kínál:
- Moduláris felépítése van, amely adaptálható.
- Lehetővé teszi a telepítést több platformon.
- Nem tudja automatikusan kezelni a vízszintes méretezést.
- Lehetővé teszi az egységes modellformátumot, a modellkezelést, a modellcsomagolást és a nagy teljesítményű modellszolgáltatást.
10. Seldon
Az adattudósok nagyszabású gépi tanulási modelleket és kísérleteket hozhatnak létre, telepíthetnek és kezelhetnek a Kubernetesen a nyílt forráskódú Seldon Core keretrendszer használatával.
A TensorFlow, a sci-kit-learn, a Spark, az R, a Java és a H2O csak néhány az általa támogatott eszközkészletek közül.
A Kubeflow-val és a RedHat OpenShift-tel is interfésszel. A Seldon mag a gépi tanulási modelleket (ML modelleket) vagy a nyelvi burkolókat (például Python, Java stb.) éles REST/GRPC mikroszolgáltatásokká alakítja át.
Ez az egyik legjobb MLOps eszköz a gépi tanulási folyamatok javítására.
Az ML modellek konténerbe helyezése és a használhatóság és a biztonság tesztelése egyszerű a Seldon Core segítségével.
Kínál:
- A modell telepítése számos alternatívával egyszerűsíthető, például a kanári telepítéssel.
- Annak megértéséhez, hogy miért születtek konkrét előrejelzések, használjon modellmagyarázókat.
- Ha problémák merülnek fel, tartsa szemmel a riasztórendszert használó gyártási modelleket.
Következtetés
Az MLOps segíthet a gépi tanulási műveletek jobbá tételében. Az MLOps felgyorsíthatja a telepítést, egyszerűbbé teheti az adatgyűjtést és a hibakeresést, valamint javíthatja a mérnökök és adattudósok közötti együttműködést.
Annak érdekében, hogy kiválaszthassa az igényeinek leginkább megfelelő MLOps eszközt, ez a bejegyzés 10 népszerű MLOps megoldást vizsgált meg, amelyek többsége nyílt forráskódú.
Hagy egy Válaszol