Slurm az AI-képző klaszterekhez
A Slurm egy nyílt forráskódú munkaterhelés-kezelő, amely ütemezi és futtatja a feladatokat nagy teljesítményű számítástechnikai fürtökön, és ez lett az alapértelmezett választás a nagyméretű mesterségesintelligencia-oktatáshoz.
Áttekintés
It matters because it reliably distributes massive training runs across thousands of GPUs.
Mély merülés
A Slurm (Simple Linux Utility for Resource Management) a szuperszámítástechnikából indult ki, és jelenleg a világ legnagyobb mesterséges intelligencia-oktató klasztereinek egyikét látja el. A felhasználók kötegelt szkripteket küldenek be sbatch-el, erőforrásokat kérnek, például csomópontokat és GPU-kat a --gres=gpu:8 direktívával, valamint Slurm-sorokat, prioritásokat állítanak fel, és elindítják a munkát. A futtatott indítóprogramja koordinált folyamatokat hoz létre a csomópontok között, ami természetesen párosul az olyan elosztott keretrendszerekkel, mint a PyTorch DDP és az NCCL. A Slurm nyomon követi az erőforrás-elszámolást, érvényesíti a méltányos megosztási és partíciós korlátokat, és kezeli a háttérkitöltés ütemezését, hogy a kis feladatokat hézagokba helyezze. A határmodell-oktatáshoz a csapatok a Slurm-ra támaszkodnak több ezer GPU kezelésében, a csomópontok meghibásodása utáni ellenőrzőpontokról történő újraindításban és a dedikált kapacitás lefoglalásában a hosszú, több hetes futtatásokhoz.
Technikai betekintés
A Slurm vezérlő démon (slurmctld) ütemezési döntéseket hoz, míg az egyes csomópontokon lévő slurmd ügynökök elindítják a feladatokat és jelentéseket készítenek az állapotról. A Generic Resource (GRES) beépülő modul nyomon követi a GPU-kat, így a feladatok kifejezetten kérik őket. Az srun környezeti változókat állít be (rang, világméret, főcím), amelyeket az elosztott oktatókönyvtárak olvasnak be az NCCL-kommunikáció bootstrapjához. A háttérkitöltés ütemezése lehetővé teszi a rövidebb munkák korai futtatását, feltéve, hogy nem késleltetik a magasabb prioritású foglalásokat, így a kihasználtság magas szinten marad.
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 Slurm jövője az AI-képző klaszterek számára
A Slurm továbbra is hozzáadja a felhő-feltörést, a Pyxis és az Enroot segítségével konténerek támogatását, valamint a szigorúbb GPU-tudatos funkciókat. Ahogy az AI-fürtök több mint 100 000 GPU felé skálázódnak, erősebb hibatűrésre, automatikus ellenőrzőpont-újraindítás integrációra és rugalmas, meghibásodás után átméretező feladatokra számíthatnak. Sok szervezet jelenleg a Kubernetes mellett vagy alatt futtatja a Slurm-ot, és a hibrid ütemezők célja, hogy a HPC-stílusú hatékonyságot a felhőben natív rugalmassággal kombinálják az egyre nagyobb edzési futások érdekében.
Valós megvalósítás
Egy határlaboratórium több hetes képzést indít, amely több ezer GPU-n keresztül fut egyetlen sbatch szkripttel, amely több száz csomópontot igényel.
Egy kutató beküldi a „srun --gres=gpu:8” parancsot, hogy nyolc GPU-t ragadjon meg egy csomóponton egy PyTorch DDP-kísérlethez.
A háttérkitöltés ütemezése egy rövid kiértékelési feladatot helyez el a tétlen GPU-kba, miközben egy nagy lefoglalt betanítási futás vár a kezdésre.
Miután egy csomópont meghibásodik a futás közben, a Slurm újrasorolja a feladatot, és az újrakezdés helyett a legutóbbi ellenőrzőponttól folytatódik.
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
Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.
Benchmark reális terhelési és adatviszonyok mellett.
Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.
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 Slurm for AI Training Clusters quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Következő útmutató
DeepSpeed és Megatron Training Stackek
Gyakran ismételt kérdések
What is Slurm for AI Training Clusters?
A Slurm egy nyílt forráskódú munkaterhelés-kezelő, amely ütemezi és futtatja a feladatokat nagy teljesítményű számítástechnikai fürtökön, és ez lett az alapértelmezett választás a nagyméretű mesterségesintelligencia-oktatáshoz. Ez azért fontos, mert megbízhatóan osztja el a hatalmas képzési futásokat több ezer GPU között.
Milyen parancsot használnak a felhasználók általában egy kötegelt feladat elküldésére a Slurmnak?
Az sbatch egy kötegelt szkriptet küld el a Slurm sorba, amely leírja egy job erőforrásait és parancsait.
Hogyan kér egy Slurm-feladat GPU-kat?
A Generic Resource (GRES) rendszer lehetővé teszi, hogy a feladatok kifejezetten GPU-kat kérjenek, például --gres=gpu:8.
Melyik Slurm komponens hozza meg a központi ütemezési döntéseket?
A slurmctld a jobokat ütemező vezérlődémon, míg a slurmd minden csomóponton fut a feladatok elindításához.
Miért párosítható jól a srun az elosztott képzési keretrendszerekkel, például a PyTorch DDP-vel?
Az srun szinkronizált feladatokat indít el a csomópontok között, és rang- és főcímadatokat biztosít, amelyeket az elosztott könyvtárak a rendszerindításhoz használnak.
Mi a célja a háttérkitöltés ütemezésének a Slurmban?
A háttérkitöltés javítja a kihasználtságot azáltal, hogy a kisebb munkákat az ütemezési hézagok közé illeszti, mindaddig, amíg azok nem szorítják vissza a fenntartott feladatokat.