Az Amazon SageMaker Training menedzselt meleg medencék legjobb gyakorlatai

Az Amazon SageMaker Training Managed Warm Pools rugalmasságot biztosít az alapul szolgáló infrastruktúra újrafelhasználására és megtartására a felhasználó által meghatározott ideig. Ez úgy történik, hogy megőrizzük azt az előnyt is, hogy a számítási példányok kezelésének differenciálatlan nehéz terheit átadjuk Amazon SageMaker modell képzés. Ebben a bejegyzésben felvázoljuk a SageMaker Training Managed Warm Pools által érintett legfontosabb előnyöket és fájdalmakat, valamint a referenciaértékeket és a legjobb gyakorlatokat.

A SageMaker Training által kezelt melegmedencék áttekintése

A SageMaker Model Training egy teljesen felügyelt képesség, amely minden feladathoz felpörgeti a példányokat, betanítja a modellt, futtatja, majd a feladat után lepörgeti a példányokat. Csak a munka időtartamára kell számlázni, egészen a másodpercig. Ez a teljesen felügyelt képesség lehetővé teszi, hogy a gépi tanulási (ML) algoritmusra összpontosítson, és ne aggódjon a differenciálatlan nehézemelések miatt, mint például az infrastruktúra-kezelés a modellek betanítása közben.

Ez a mechanizmus véges indítási időt tesz szükségessé egy betanítási munkához. Bár ez az indítási idő, más néven hidegindítási indítási idő, meglehetősen alacsony, némelyik legigényesebb ügyfélhasználati esetünk még rövidebb indítási időt igényel, például 20 másodperc alatt. Két kiemelkedő használati eset van, amelyekre ezek a követelmények vonatkoznak:

  • Az első az adattudósok által végzett aktív ML-kísérletezés a Amazon SageMaker képzési platform, különösen a nagy modellek, például a GPT3 betanítása közben, amelyek többszörös iterációt igényelnek a gyártásra kész állapot eléréséhez.
  • A második a nagyszámú (több száz vagy több ezer nagyságrendű) egymást követő job programozott elindítása azonos típusú példányokon, ütemezett ütemben. Például paraméterkeresés vagy növekményes betanítás.

Ilyen felhasználási esetekben minden rezsire fordított másodperc, mint például egy betanítási munka indítási ideje, halmozottan hat ezekre a munkákra.

A SageMaker Training Managed Warm Pools segítségével az adattudósok és az ML mérnökök feliratkozhatnak arra, hogy a SageMaker képzési példányait vagy a többpéldányos fürtöket előre meghatározott és újrakonfigurálható ideig melegen tartsák (keep_alive_period_in_seconds) minden egyes képzési feladat befejezése után. Tehát még akkor is, ha hidegindítási büntetést kap egy példányon vagy fürtön futtatott első betanítási feladatért, az összes későbbi betanítási feladat esetében a példányok már készen állnak és futnak. Ennek eredményeként ezek a későbbi képzési munkák, amelyek egy példányon kezdődnek, mielőtt a keep_alive_period_in_seconds lejár, ne terhelje a hidegindítási indítási időt. Ez nagyjából 20 másodpercnél rövidebbre csökkentheti a betanítási feladat indítási idejét (P90).

Az adattudósok és az ML mérnökök a SageMaker Training Managed Warm Pools segítségével egyetlen vagy több példányt is melegen tarthatnak a képzési futtatások között kísérletezés céljából, vagy több feladatot futtathatnak egymás után ugyanazon az egy- vagy többpéldányos fürtön. Csak a képzési munkák idejére és az újrakonfigurálhatóra fizet keep_alive_period_in_seconds mint mindenhol máshol, amit minden egyes példányhoz megad.

Lényegében a SageMaker Training Managed Warm Pools segítségével a SageMaker által felügyelt példányok kihasználtságának kombinációját kapja meg, amely lehetővé teszi az engedélyezést, valamint a kapacitás és a saját kezelésű kihasználtságot rövid időközönként. Ezek az intervallumok a munka előtt konfigurálhatók, de ha a munka közben keep_alive_period_in_seconds intervallumot, csökkenteni vagy növelni kell, ezt megteheti. Növeli a keep_alive_period_in_seconds legfeljebb 60 perces időközönként hajtható végre, egy példány vagy fürt maximális időtartama 7 nap.

A meleg medencék használatához először meleg medencekvóta-korlát emelését kérni, majd adja meg a keep_alive_period_in_seconds paraméter képzési munka megkezdésekor.

referenciaértékek

Összehasonlító teszteket végeztünk a munka indítási késleltetésének mérésére egy 1.34 GB-os TensorFlow kép, 2 GB adat és különböző képzési adatbeviteli módok (Amazon FSx, Fast File Mode, File Mode) felhasználásával. A teszteket az us-east-4 régióban található m4, c5, m5 és c2 családok különböző példánytípusain futtatták. Az indítási késleltetést a munkahelyteremtés és a tényleges betanítási feladat kezdete közötti időként mértük a példányokon. A klasztert elindító és a melegmedencét létrehozó első feladatok indítási késleltetése 2–3 perc volt. Ez a magasabb késleltetés az infrastruktúra létrehozásához, a kép letöltéséhez és az adatok letöltéséhez szükséges időnek köszönhető. A meleg pool-fürtöt használó, következő feladatok indítási késleltetése körülbelül 20 másodperc volt Fast File Mode (FFM) vagy Amazon FSx esetén, és 70 másodperc a Fájl mód (FM) esetén. Ez a delta annak az eredménye, hogy az FM-nek a teljes adatkészletet le kell töltenie az Amazon S3-ról a munka megkezdése előtt.

Az edzési adatbeviteli mód kiválasztása befolyásolja az indítási időt, még melegmedencék esetén is. A kiválasztandó beviteli móddal kapcsolatos útmutatás a bejegyzés későbbi szakaszában található, a bevált módszerek részben.

A következő táblázat összefoglalja a P90 feladatindítási késleltetést a különböző oktatási adatbeviteli módokhoz.

Adatbeviteli mód Indítási késleltetés P90 (másodperc)
Első munka Melegmedencés munkák (második állástól)
FSx 136 19
Gyors fájl mód 143 21
Fájl mód 176 70

A meleg medencék használatának legjobb gyakorlatai

A következő részben megosztunk néhány bevált gyakorlatot a meleg medencék használatával kapcsolatban.

Mikor érdemes meleg medencéket használni?

A meleg medencék használata a következő esetekben javasolt:

  • Ön interaktívan kísérletezik és hangolja a forgatókönyvet egy sor rövid munka során.
  • Ön saját egyedi, nagyszabású hiperparaméter-optimalizálást futtat (pl. Syne Tune).
  • Van egy kötegelt folyamata, amely nagyszámú (több száz vagy több ezer nagyságrendű) egymást követő feladatot futtat ugyanazon a fajta példányon napi vagy heti ütemben. Például egy ML modell kiképzése városonként.

A meleg medencék használata nem ajánlott, ha nem valószínű, hogy valaki újra felhasználja a meleg medencét annak lejárta előtt. Például egyetlen hosszadalmas feladat, amely egy automatizált ML folyamaton keresztül fut.

Minimalizálja a melegmedencés képzési munkák indítási késleltetését

A meleg medencét újrahasználó képzési munkák gyorsabban kezdődnek, mint az első feladat, amely a meleg medencét létrehozta. Ennek az az oka, hogy az ML-példányok futnak a gyorsítótárazott képzési tároló Docker-képet tartalmazó jobok között, így nem kell kihúzni a tárolót. Amazon Elastic Container Registry (Amazon ECR). Azonban még meleg medence újrafelhasználásakor is előfordulnak bizonyos inicializálási lépések az összes jobnál. Ezen lépések optimalizálása csökkentheti a feladat indítási idejét (mind az első, mind a következő feladatoknál). Tekintsük a következő:

  • A képzési adatbeviteli mód befolyásolhatja az indítási időt – A felügyelt oktatási adatbeviteli csatornák minden egyes betanítási feladathoz újra létrejönnek, hozzájárulva a feladat indítási késleltetéséhez. Így a kezdeti kísérletek egy kisebb adatkészleten gyorsabb indítási időt (és gyorsabb képzési időt) tesznek lehetővé. A kísérletezés későbbi szakaszaihoz, amikor nagy adatkészletre van szükség, fontolja meg olyan bemeneti mód használatát, amely minimális vagy rögzített inicializálási idővel rendelkezik. Például a FILE beviteli mód a teljes adatkészletet másolja Amazon egyszerű tárolási szolgáltatás (Amazon S3) a betanítási példányhoz, ami nagy adathalmazoknál időigényes (még meleg medencék esetén is). A Fast File Mode jobban megfelel az alacsonyabb indítási késleltetésnek, mivel csak az S3 objektum metaadatait kell beolvasni az Amazon S3-ból a munkaterhelés megkezdése előtt. A Amazon FSx Lusterhezvagy Amazon elasztikus fájlrendszer (Amazon EFS) fájlrendszer beviteli módja, fix inicializálási idővel rendelkezik, függetlenül a fájlrendszerben lévő fájlok számától, ami előnyös, ha nagy adatkészlettel dolgozik.
    A bemeneti csatorna kiválasztásával kapcsolatos további információkért lásd: Válassza ki a legjobb adatforrást az Amazon SageMaker képzési munkához.
  • Csökkentse a csomagok futásidejű telepítését – Bármilyen szoftvertelepítés, amely a konténer indításakor történik, például a Python pip vagy az apt-get operációs rendszer, növeli a képzési feladatok várakozási idejét. Ennek az indítási késleltetésnek a minimalizálásához kompromisszumot kell kötni a futásidejű telepítések rugalmassága és egyszerűsége, illetve a tároló felépítési idején történő telepítés között. Ha saját Docker-tárolóját használja a SageMakerrel, tekintse meg a Saját Docker-tároló beállítása a SageMakerrel való együttműködéshez. Ha támaszkodik előre elkészített SageMaker tárolóképek, akkor kell bővítse ki az előre megépített konténert és kifejezetten kezelni ezeket a tárolókat. Vegye figyelembe ezt, ha a futásidejű telepítések jelentősen megnövelik az indítási késleltetést.
  • Kerülje a Docker-kép gyakori frissítését – Ha saját Docker-tárolóját használja a SageMakerrel, próbálja meg elkerülni, hogy minden egyes feladatot frissítsen. Ha a Docker-kép változik a feladat-beküldések között, a melegkészlet újrafelhasználásra kerül, de az indítási folyamatnak újra le kell húznia a tárolóképet az Amazon ECR-ből, ahelyett, hogy egy gyorsítótárazott tárolóképet használna fel újra. Ha a Docker-lemezképet frissíteni kell, korlátozza a frissítéseket az utolsó Docker-rétegre, hogy kihasználja a Docker-réteg-gyorsítótárazás előnyeit. Ideális esetben el kell távolítania azt a Dockerfile-tartalmat, amely valószínűleg megváltozik az iterációk során, például a hiperparamétereket, az adatkészlet-definíciókat és magát az ML-kódot. Az ML-kód ismétléséhez anélkül, hogy minden változtatásnál újra kellene építenie a Docker-képeket, átveheti a SageMaker Training Toolkitben javasolt keretkonténer paradigmát. Ha saját kóddal szeretne keretkonténert fejleszteni, nézze meg ezt Amazon SageMaker oktatóanyag.

Ossza meg a melegmedencéket több felhasználó között

Ha adattudósok nagy csapatával dolgozik, megoszthat meleg medencéket, amelyek rendelkeznek megfelelő munkaköri kritériumok, például ugyanaz AWS Identity and Access Management (IAM) szerepkör vagy tárolókép.

Nézzünk egy példa idővonalat. Az 1. felhasználó elindít egy képzési feladatot, amely befejeződik, és egy új meleg medence jön létre. Amikor a 2. felhasználó elkezd egy betanítási feladatot, a feladat újra felhasználja a meglévő melegmedencét, ami a munka gyors elindítását eredményezi. Amíg a 2. felhasználó feladata fut a meleg medencével, ha egy másik felhasználó elkezd egy betanítási feladatot, akkor egy második meleg medence jön létre.

Ez az újrahasználati viselkedés segít csökkenteni a költségeket azáltal, hogy megosztja a meleg poolokat a hasonló munkákat elindító felhasználók között. Ha el szeretné kerülni a meleg medencék felhasználók közötti megosztását, akkor a felhasználók munkáinak nem szabad rendelkezniük megfelelő munkaköri kritériumok (például más IAM-szerepet kell használniuk).

Értesítse a felhasználókat a munka befejezéséről

Ha a melegmedencéket kísérletezésre használja, javasoljuk, hogy értesítse a felhasználókat, amikor munkájuk befejeződött. Ez lehetővé teszi a felhasználók számára a kísérletezés folytatását, mielőtt a meleg medence lejár, vagy megáll a meleg medencét, ha már nincs rá szükség. Te is automatikusan aktiválja az értesítéseket keresztül Amazon EventBridge.

További eszközök a gyors kísérletezéshez és a képzési feladatok hibaelhárításához

A meleg medencékkel kevesebb mint 20 másodperc alatt elkezdheti a munkát. Egyes forgatókönyvek valós idejű, gyakorlati interaktív kísérletezést és hibaelhárítást igényelnek. A nyílt forráskódú SageMaker SSH Helper könyvtár lehetővé teszi a SageMaker képzési konténerbe történő burkolást, valamint távoli fejlesztést és hibakeresést.

Következtetés

A SageMaker Training Managed Warm Pools segítségével minden munka után melegen tarthatja a modell képzési hardverpéldányait egy meghatározott ideig. Ez akár 8-szorosára csökkentheti a modellképzési feladat indítási késleltetését. A SageMaker Training menedzselt meleg medencék minden nyilvános AWS régióban elérhetők, ahol elérhető a SageMaker Model Training.

A kezdéshez lásd Edzés a SageMaker által kezelt meleg medencékkel.


A szerzőkről

Romi DattaDr. Romi Datta  az Amazon SageMaker csapatának termékmenedzsmentért felelős vezető menedzsere, aki a képzésért, a feldolgozásért és a funkciók tárolásáért felelős. Több mint 4 éve dolgozik az AWS-ben, és számos termékmenedzsment-vezetői szerepet tölt be a SageMaker, az S3 és az IoT területén. Az AWS előtt különböző termékmenedzsment, mérnöki és üzemeltetési vezetői pozíciókban dolgozott az IBM-nél, a Texas Instrumentsnél és az Nvidiánál. MS és Ph.D fokozata van. Elektromos és számítástechnikai mérnöki diplomát az austini Texasi Egyetemen, valamint MBA-t a University of Chicago Booth School of Business-én.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Arun Nagarajan az Amazon SageMaker csapatának vezető mérnöke, aki a képzés és az MLOps területekre összpontosít. A bevezetés évétől a SageMaker csapatánál dolgozik, és szívesen dolgozott a SageMaker különböző területein, beleértve a valós idejű következtetéseket és a Model Monitor termékeket. Szereti felfedezni a szabadban a Csendes-óceán északnyugati részén, és hegyeket mászni.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Amy Te az AWS SageMaker szoftverfejlesztési menedzsere. Arra összpontosít, hogy összehozzon egy szoftvermérnök csapatot a SageMaker Training platform új képességeinek kiépítésére, karbantartására és fejlesztésére, amely segít az ügyfeleknek az ML modelljeik hatékonyabb és egyszerűbb képzésében. Szenvedélye az ML és az AI technológia, különösen az imázshoz és a jövőképhez kapcsolódóan posztgraduális tanulmányai során. Szabadidejében szeret zenével és művészettel foglalkozni családjával.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai. Sifei Li szoftvermérnök az Amazon AI-nál, ahol az Amazon Machine Learning Platforms felépítésén dolgozik, és tagja volt az Amazon SageMaker indítócsapatának. Szabadidejében szeret zenélni és olvasni.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Jenna Zhao az AWS SageMaker szoftverfejlesztő mérnöke. Szenvedélyesen rajong az ML/AI technológiáért, és a SageMaker Training platform kiépítésére összpontosít, amely lehetővé teszi az ügyfelek számára a gépi tanulási modellek gyors és egyszerű betanítását. A munkán kívül szívesen utazik és a családjával tölti az idejét.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Paras Mehra az AWS vezető termékmenedzsere. Arra összpontosít, hogy segítsen felépíteni az Amazon SageMaker képzést és feldolgozást. Szabadidejében Paras szívesen tölt időt családjával, és országúti kerékpározást folytat az öböl környékén. Megtalálhatod rajta LinkedIn.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Gili Nachum vezető AI/ML Specialist Solutions Architect, aki az EMEA Amazon Machine Learning csapatának tagjaként dolgozik. Gili szenvedélyesen foglalkozik a mély tanulási modellek képzésének kihívásaival, és azzal, hogy a gépi tanulás hogyan változtatja meg az általunk ismert világot. Szabadidejében Gili szívesen pingpongozik.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Olivier Cruchant a franciaországi székhelyű AWS gépi tanulási specialista megoldások építésze. Az Olivier segít az AWS-ügyfeleknek – a kis startupoktól a nagyvállalatokig – éles szintű gépi tanulási alkalmazások fejlesztésében és üzembe helyezésében. Szabadidejében szívesen olvas kutatási cikkeket, és barátaival és családjával fedezi fel a vadonban.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Emily Webber közvetlenül a SageMaker elindítása után csatlakozott az AWS-hez, és azóta is próbálja elmondani a világnak! Azon kívül, hogy új ML-élményeket építhet az ügyfelek számára, Emily élvezi a meditációt és a tibeti buddhizmus tanulmányozását.

Időbélyeg:

Még több AWS gépi tanulás