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.

2 perc olvasásUtoljára frissítve

Áttekintés

For machine learning, it lets teams pack GPU-hungry training jobs and latency-sensitive model servers onto shared hardware without babysitting individual servers.

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.

Stratégiai hatás

Költség és költségvetés

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

Tisztább döntések

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

Minőségellenőrzés

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

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.

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

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

2

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

3

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

4

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

Folytassa a felfedezést

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubernetes for ML Workloads quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

A/B tesztelés ML modellekhez

Gyakran ismételt kérdések

What is Kubernetes for ML Workloads?

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.

Mi a Kubernetes ütemező elsődleges feladata az ML munkaterhelésekhez?

Az ütemező egyezteti a pod erőforráskéréseit (CPU, memória, GPU-k) az elérhető csomópontokkal, és elhelyezi a pod-ot, ahol elfér. Nem érinti a modellkódot vagy az adatokat.

A Kubernetes általában hogyan teszi elérhetővé a GPU-kat egy pod számára?

Az eszközbővítmények a GPU-kat ütemezhető erőforrásként teszik elérhetővé (pl. nvidia.com/gpu), lehetővé téve a pod-ok számára, hogy kérjék őket, és az ütemező nyomon kövesse az elérhetőséget.

Mire használnak általában szennyeződéseket és tűréseket egy ML-fürtben?

A szennyeződés taszítja a hüvelyeket egy csomópontból; csak a megfelelő tűréssel rendelkező hüvelyek szállhatnak oda. Ez szűkös GPU-csomópontokat tart fenn olyan feladatok számára, amelyekhez ténylegesen GPU-ra van szükség.

Melyik eszköz ad hozzá ML-specifikus képességeket, például elosztott képzési operátorokat a Kubernetesen?

A Kubeflow az ML munkafolyamatokat a Kubernetesre rétegeli, beleértve az operátorok képzését, a folyamatokat és a hangolást, így a csapatok elkerülik az alacsony szintű fürtkonfiguráció kézi írását.

Miért alkalmas a Kubernetes a sorozatos ML-munkaterhelésekre?

A képzés tüskés: sok GPU röviden, aztán egy sem. A Kubernetes akkor helyezi el a munkát, amikor az erőforrások felszabadulnak, és a befejezés után felszabadítja őket, javítva a kihasználtságot.