Az AWS Batch automatikusan osztja meg a GPU-kapacitást a csapatok között

Az AWS Batch új kvótakezelési funkcióval segíti az Amazon SageMaker Training feladatainak futtatását több csapat közös GPU-kapacitásán. A rendszer a kihasználatlan erőforrásokat kölcsönadhatja vagy kölcsönveheti, és szükség esetén visszaszerezheti azokat.
- Az AWS Batch kvótamegosztásokkal kezeli a SageMaker Training közös GPU-kapacitását.
- A kapacitás RESERVE, LEND vagy LEND_AND_BORROW stratégiával osztható meg.
- A rendszer szükség esetén visszaszerzi a kölcsönadott erőforrásokat.
- A kvótamegosztáson belüli elővétel a magasabb prioritású feladatokat segíti.
- A funkció a SageMaker Python SDK v3 aws_batch moduljával is használható.
Közös GPU-kapacitás, kevesebb adminisztráció
Az AWS október 29-én ismertette az AWS Batch SageMaker Training feladatokhoz használható kvótakezelését. Az AWS Batch támogatásával az ügyfelek menedzselt módon sorba állíthatják, ütemezhetik és újrapróbálhatják a gépi tanulási feladatokat, saját infrastruktúra kiépítése nélkül.
A több csapatot kiszolgáló mesterségesintelligencia- és gépitanulási környezetekben a közös GPU-kapacitás kezelése külön terhet jelenthet az adminisztrátoroknak. Külön várakozási sorokat kell létrehozniuk, kapacitáskorlátokat kell módosítaniuk, és össze kell hangolniuk, mely feladat mikor jusson a megfelelő erőforráshoz.
Az AWS szerint a kvótakezelés erre úgy ad választ, hogy a számítási kapacitást csapatokhoz, projektekhez vagy munkaterhelésekhez rendelt kvótamegosztásokba szervezi. A megoldás célja a GPU-k jobb kihasználása, miközben az egyes csoportok akkor is megkapják a számukra meghatározott kapacitást, amikor arra szükségük van.
Háromféle erőforrás-megosztási stratégia
Minden kvótamegosztás kapacitáskorlátot és megosztási stratégiát tartalmazhat. A RESERVE stratégia fenntartja a tétlen kapacitást, amíg az adott kvótamegosztásban feladat nem érkezik. A LEND az üres erőforrásokat más, munkával rendelkező kvótamegosztásoknak adja át. A LEND_AND_BORROW mindkét irányú megosztást lehetővé teszi.
A kvótamegosztások virtuális várakozási sorként működnek a kapcsolódó AWS Batch-feladatsoron belül. Az AWS Batch előnyben részesíti azokat a kvótamegosztásokat, amelyek a kapacitáskorlátjuk alatt vannak. Ha egy korábban kölcsönadott erőforrásra szüksége lesz az eredeti kvótamegosztásnak, a rendszer keresztmegosztásos elővétellel visszaszerzi azt. Így az adminisztrátornak nem kell manuálisan megkeresnie és leállítania a kapacitást használó feladatokat.
Ha egy kvótamegosztás eléri vagy meghaladja a korlátját, az AWS Batch megvizsgálja, van-e kölcsönözhető kapacitás egy másik kvótamegosztásban. Ezzel az egyébként tétlen erőforrások is munkába állhatnak.
A prioritás alapján is felszabadítható kapacitás
A konfiguráció része lehet a kvótamegosztáson belüli, prioritásalapú elővétel is. Ez a SCHEDULED, STARTING vagy RUNNING állapotban lévő, alacsonyabb prioritású feladatokat szakíthatja meg, hogy a sor elején álló, magasabb prioritású munkák hamarabb elinduljanak.
Az AWS bemutatója három, egyenként egy ml.g5.xlarge példányban meghatározott kapacitáskorlátú kvótamegosztást használ. A teljes környezet maximális kapacitása három példány. A QS1 háttérfeladatokat kezel, LEND_AND_BORROW stratégiát és kvótamegosztáson belüli elővételt használ. A példában ezek a feladatok ellenőrzőpontokat alkalmaznak, ezért az elővétel elfogadható.
A QS2 közepes prioritású munkaterhelésekhez készült. LEND stratégiát használ, és ki van kapcsolva benne a kvótamegosztáson belüli elővétel. A QS3 gyors indulást és minimális megszakítást igénylő feladatokat szolgál ki. RESERVE stratégiával működik, ezért sem kölcsönöz, sem kölcsönad kapacitást.
SageMaker Python SDK-val is beállítható
A kvótakezeléshez az AWS Batch Scheduling Policy erőforrása, kapacitáskorlátokat meghatározó Service Environment és egy SageMaker Training feladatokhoz kapcsolt Job Queue szükséges. Ezután lehet a kvótamegosztásokat a feladatsorhoz rendelni.
Az AWS példája a SageMaker Python SDK v3 aws_batch modulját használja. A modul lehetővé teszi, hogy a fejlesztők programból küldjenek SageMaker Training feladatokat kvótakezeléssel működő AWS Batch-feladatsorba. Az AWS CLI-hez és a konzolhoz konfigurációs példákat, a Python SDK-hoz pedig mintajegyzetfüzetet biztosít.
A felhasználók számára ez azt jelenti, hogy a közös GPU-kapacitás elosztása előre meghatározott szabályokkal automatizálható. A csapatok különböző igényeihez eltérő működés rendelhető: egyes munkák kölcsönözhetik a tétlen kapacitást, mások fenntartott erőforrásokat használhatnak, a prioritásos feladatok pedig szükség esetén előrébb kerülhetnek.
AWS: Lend and borrow resources across teams with AWS Batch’s quota management for SageMaker Training jobs


