Műszaki ÚTMUTATÓ

Kubernetes ML munkaterhelésekhez

A Kubernetes egy nyílt forráskódú rendszer, amely automatikusan ütemezi, méretezi és újraindítja a konténeres programokat egy gépcsoporton keresztül.

Áttekintés

A Kubernetes egy nyílt forráskódú rendszer, amely automatikusan ütemezi, méretezi és újraindítja a konténeres programokat egy gépcsoporton keresztül. A gépi tanuláshoz lehetővé teszi a csapatok számára, hogy a GPU-ra éhes képzési feladatokat és a késleltetésre érzékeny modellszervereket a megosztott hardverre pakolják anélkül, hogy az egyes szerverekre vigyáznának.

A Kubernetes for ML Workloads egy olyan műszaki építőelem, amely befolyásolja a modell minőségét, az infrastruktúra költségeit, a késleltetést és a megbízhatóságot.

Mély merülés

Eredetileg a Google webszolgáltatások futtatására készült Kubernetes a fürtöt egyetlen nagy CPU-, memória- és GPU-készletként kezeli, majd eldönti, hogy az egyes konténereket melyik gép futtatja. Az ML-csapatok támaszkodnak rá, mert a munkaterhelés nagy és drága: egy edzéshez nyolc GPU kell hat órán keresztül, aztán semmi. A Kubernetes egy ingyenes GPU-val rendelkező csomópontra ütemezi a posztert, és amikor a feladat befejeződik, felszabadítja a hardvert. Emellett életben tartja a következtetési szervereket, újraindítja a lefagyott tárolókat, és a replikákat szétteríti a gépeken a rugalmasság érdekében. A felülre épített eszközök, mint például a Kubeflow, a Ray és a KServe, ML-specifikus darabokat adnak hozzá, például elosztott képzési operátorokat, hiperparaméter-hangolást és automatikus skálázási modellvégpontokat, így az adattudósok magasabb szintű absztrakciókkal dolgoznak a nyers YAML helyett.

Technikai betekintés

A Kubernetes a GPU-kat olyan eszközbővítményeken keresztül rendeli hozzá, amelyek olyan erőforrásokat hirdetnek, mint az nvidia.com/gpu, amelyeket az ütemező a pod kérelmeihez igazít. A szennyeződések és a tűrések megakadályozzák az olcsó CPU-feladatokat a drága GPU-csomópontokon, míg a csomópontválasztók és az affinitási szabályok egy adott hardverhez rögzítik a képzést. A több GPU-s képzéshez az üzemeltetők egy csoportot hoznak létre podokból, amelyek felfedezik egymást, és olyan keretrendszereket futtatnak, mint a PyTorch DDP vagy a Horovod, és gradienseket cserélnek a fürthálózaton keresztül az NCCL segítségével.

A Kubernetes elsajátítása ML munkaterhelésekhez

A Kubernetes egy nyílt forráskódú rendszer, amely automatikusan ütemezi, méretezi és újraindítja a konténeres programokat egy gépcsoporton keresztül. A gépi tanuláshoz lehetővé teszi a csapatok számára, hogy a GPU-ra éhes képzési feladatokat és a késleltetésre érzékeny modellszervereket a megosztott hardverre pakolják anélkül, hogy az egyes szerverekre vigyáznának. A Kubernetes for ML Workloads egy olyan műszaki építőelem, amely befolyásolja a modell minőségét, az infrastruktúra költségeit, a késleltetést és a megbízhatóságot. A mélyebb megértés érdekében a Kubernetes for ML Workloads működési modellként kezelje, nem pedig egyetlen szolgáltatásként: határozza meg a kívánt eredményeket, tisztázza a feltételezéseket, és válassza el, hogy a rendszer mit tud megbízhatóan elvégezni attól, ami még szakértői megítélést igényel.

A gyakorlatban a Kubernetes for ML Workloads erős csapatai optimalizálják az architektúrát, az adatokat és az infrastruktúrát a megbízhatóság és a költségek szempontjából. Dokumentálják az explicit sikerkritériumokat, tesztelik a valósághű adatokat és munkafolyamatokat, és a megfigyelt hibaminták alapján iterálnak, nem pedig egyszeri benchmark győzelmek alapján. Ez az a hely, ahol az elméleti megértés tartós képességgé válik a termék, a politika és a műveletek között.

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket. Ugyanakkor az egyik benchmark optimalizálása elrejtheti a rendszer általános gyengeségeit. A legrugalmasabb megközelítés a kísérleti sebesség és az irányítási fegyelem kombinálása: kísérleti kísérletek futtatása, bizonyítékok rögzítése, döntési naplók közzététele és a biztosítékok folyamatos frissítése a modell viselkedésének, a felhasználói elvárásoknak és a szabályozási követelményeknek megfelelően.

Stratégiai hatás

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A Kubernetes jövője ML-munkaterhelésekhez

Szigorúbb ML integrációra számíthat: csoportütemezés, amely egyszerre indítja el az összes elosztott képzési podatot, vagy egyet sem, töredékes és időszeletelt GPU-megosztás, így több könnyű feladat osztozik egy kártyán, és topológia-tudatos elhelyezés, amely tiszteletben tartja a gyors NVLink összekapcsolásokat. A Kubernetes kiszolgáló nélküli következtetései, amelyek a végpontokat nullára skálázzák a kérések között, érlelődik. A modellek léggömbjei során az ütemezők egyre inkább koordinálnak több klaszteren és felhőn keresztül, és a soron alapuló méltányos megosztási rendszerek, például a Kueue és a Volcano szabványossá válnak a szűkös GPU-kapacitás kezelésében.

Valós megvalósítás

Egy kutatólaboratórium a Kubeflow Training Operator segítségével elindít egy 32 GPU-s PyTorch elosztott képzési feladatot négy csomópont között, majd automatikusan felszabadítja a GPU-kat, amikor konvergálnak.

Egy e-kereskedelmi vállalat az ajánlási modelljét a KServe-vel szolgálja ki, amely automatikusan felskálázza a replikákat egy gyorskiárusítás során, majd egyik napról a másikra visszaállítja.

Egy bank éjszakai kötegelt pontozási feladatokat végez Kubernetes CronJobs néven, és sorba állítja őket a tartalék CPU csomópontokon, hogy ne versenyezzenek a nappali kiszolgálási forgalommal.

Egy startup a Ray on Kubernetes segítségével párhuzamos hiperparaméter-sweepeket futtat, és több tucat rövid élettartamú próbapadot forgat fel a helyszíni példányokon a költségek csökkentése érdekében.

Megvalósítási minták

Kubernetes for ML Workloads a gyakorlatban

Egy kutatólaboratórium a Kubeflow Training Operator segítségével elindít egy 32 GPU-s PyTorch elosztott képzési feladatot négy csomópont között, majd automatikusan felszabadítja a GPU-kat, amikor konvergálnak.

Egy kutatólaboratórium a Kubeflow Training Operator segítségével elindít egy 32 GPU-s PyTorch elosztott képzési feladatot négy csomóponton, majd automatikusan felszabadítja a GPU-kat, amikor konvergál. A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöböket, megtartják az emberi eszkalációs útvonalat a szélsőséges esetekben, és nyomon követik a termelékenység növekedését és a hibaköltségeket.

Kubernetes for ML Workloads a gyakorlatban

Egy e-kereskedelmi vállalat az ajánlási modelljét a KServe-vel szolgálja ki, amely automatikusan felskálázza a replikákat egy gyorskiárusítás során, majd egyik napról a másikra visszaállítja.

Egy e-kereskedelmi vállalat a KServe-vel szolgálja ki az ajánlási modelljét, amely automatikusan felfelé és egyik napról a másikra visszaállítja a replikákat. A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöbértékeket, megtartják az emberi eszkalációs útvonalat a szélsőséges eseteknél, és nyomon követik a termelékenységnövekedést és a hibaköltségeket az idő múlásával.

Kubernetes for ML Workloads a gyakorlatban

Egy bank éjszakai kötegelt pontozási feladatokat végez Kubernetes CronJobs néven, és sorba állítja őket a tartalék CPU csomópontokon, hogy ne versenyezzenek a nappali kiszolgálási forgalommal.

A bankok éjszakai kötegpontozási feladatokat végeznek Kubernetes CronJobs néven, sorba állítva azokat a tartalék CPU-csomópontokon, hogy ne versenyezzenek a nappali kiszolgálási forgalommal. A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöböket, emberi eszkalációs útvonalat tartanak a szélsőséges esetekhez, és nyomon követik a termelékenységnövekedést és a hibaköltségeket is.

Kubernetes for ML Workloads a gyakorlatban

Egy startup a Ray on Kubernetes segítségével párhuzamos hiperparaméter-sweepeket futtat, és több tucat rövid élettartamú próbapadot forgat fel a helyszíni példányokon a költségek csökkentése érdekében.

Egy startup a Ray on Kubernetes segítségével párhuzamos hiperparaméteres söpréseket futtat, és több tucat rövid élettartamú próbapadot állít fel a helyszínen, hogy csökkentse a költségeket. A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöbértékeket, megtartják az emberi eszkalációs útvonalat az éles esetekben, és nyomon követik a termelékenység növekedését és a hibaköltségeket is.

Kockázatok és védőkorlátok

!

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

!

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

!

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

A megvalósítás előtt határozza meg a késleltetési, minőségi és költségcélokat.

A megvalósítás előtt határozza meg a késleltetési, minőségi és költségcélokat. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

2

Benchmark reális terhelési és adatviszonyok mellett.

Benchmark reális terhelési és adatviszonyok mellett. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

Folytassa a felfedezést