Az Amazon SageMaker kiadásainak elemzése és költségoptimalizálási lehetőségek meghatározása a felhasználás alapján, 4. rész: Képzési munkák | Amazon webszolgáltatások

Az Amazon SageMaker kiadásainak elemzése és költségoptimalizálási lehetőségek meghatározása a felhasználás alapján, 4. rész: Képzési munkák | Amazon webszolgáltatások

2021-ben elindítottuk Az AWS Proaktív szolgáltatások támogatása részeként AWS vállalati támogatás terv. Bevezetése óta ügyfeleink százainak segítettünk optimalizálni munkaterhelésüket, korlátokat felállítani, és javítani a gépi tanulási (ML) munkaterheléseik költségeinek és használatának láthatóságát.

Ebben a bejegyzéssorozatban megosztjuk a költségek optimalizálásával kapcsolatos tanulságokat Amazon SageMaker. Ebben a bejegyzésben a SageMaker képzési munkáira összpontosítunk.

SageMaker képzési munkák

A SageMaker képzési feladatok aszinkron kötegelt folyamatok, amelyek beépített funkciókkal rendelkeznek az ML modell betanítására és optimalizálására.

A SageMaker képzési munkákkal saját algoritmust hozhat, vagy több mint 25 beépített algoritmus közül választhat. A SageMaker támogatja a különféle adatforrásokat és hozzáférési mintákat, az elosztott képzést, beleértve a heterogén klasztereket, valamint a kísérletkezelési funkciókat és az automatikus modellhangolást.

Egy betanítási feladat költsége a példányok futásának időtartama alatt (másodpercekben) használt erőforrásokon (példányok és tárhely) alapul. Ez magában foglalja a képzés időtartamát, és ha használja a meleg medence funkció, az Ön által beállított életben tartási időszak. Ban ben rész 1, megmutattuk, hogyan kezdjük el használni AWS Cost Explorer hogy azonosítsa a költségoptimalizálási lehetőségeket a SageMakerben. Szűrheti a képzési költségeket, ha szűrőt alkalmaz a felhasználás típusára. Ezeknek a felhasználási típusoknak a nevei a következők:

  • REGION-Train:instanceType (például, USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (például, USE1-Train:VolumeUsage.gp2)

Ha meg szeretné tekinteni képzési költségeit a Cost Explorer alkalmazásban, akkor lépjen be train: előtagjaként Használat típusa. Ha csak a felhasznált órákra szűr (lásd a következő képernyőképet), a Cost Explorer két grafikont generál: Költség és Használat. Ez a nézet segít az optimalizálási lehetőségek prioritásainak meghatározásában, és meghatározza, hogy mely példányok hosszú távúak és költségesek.

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Egy meglévő képzési munka optimalizálása előtt javasoljuk, hogy kövesse az itt leírt bevált gyakorlatokat A gépi tanulás költségeinek optimalizálása az Amazon SageMaker segítségével: tesztelje a kódot helyben, és használja helyi mód teszteléshez használjon előre betanított modelleket, ahol lehetséges, és fontolja meg irányított helyszíni edzés (amely akár 90%-kal is optimalizálhatja a költségeket az On-Demand példányokhoz képest).

Amikor egy igény szerinti feladat elindul, az öt fázison megy keresztül: Indítás, Letöltés, Képzés, Feltöltés és Befejezés. Ezeket a fázisokat és leírásokat láthatja a SageMaker konzolon a képzési feladat oldalán.

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Az árképzés szempontjából a letöltési, a képzési és a feltöltési szakaszért díjat kell fizetni.

Ezeknek a fázisoknak az áttekintése az első lépés annak meghatározásában, hogy hol optimalizálhatja képzési költségeit. Ebben a bejegyzésben a letöltési és képzési szakaszokat tárgyaljuk.

Letöltési fázis

Az előző példában a letöltési szakasz kevesebb mint egy percet vett igénybe. Ha azonban az adatok letöltése nagy szerepet játszik a képzési költségekben, fontolja meg a használt adatforrást és a hozzáférési módszereket. A SageMaker képzési munkái három adatforrást támogatnak natív módon: Amazon elasztikus fájlrendszer (Amazon EFS), Amazon egyszerű tárolási szolgáltatás (Amazon S3), és Amazon FSx Lusterhez. Az Amazon S3 esetében a SageMaker három felügyelt módot kínál arra, hogy az algoritmus hozzáférjen a betanításhoz: Fájl mód (ahol az adatok letöltésre kerülnek a példányblokk tárolójába), Pipe mód (az adatok streamelése a példányba történik, ezáltal kiküszöbölve a letöltési fázis időtartamát). és Fast File mód (egyesíti a meglévő Fájl mód egyszerű használatát a Pipe mód teljesítményével). A megfelelő adatforrás és hozzáférési módszerek kiválasztásával kapcsolatos részletes útmutatásért lásd: Válassza ki a legjobb adatforrást az Amazon SageMaker képzési munkához.

Felügyelt helyszíni képzés használata esetén a megszakítás miatt előforduló ismételt letöltési fázisok nem számítanak fel díjat (tehát csak az adatletöltés idejére kell fizetni egyszer).

Fontos megjegyezni, hogy bár a SageMaker képzési munkái támogatják az általunk említett adatforrásokat, ezek nem kötelezőek. A betanítási kódban bármilyen módszert implementálhat a betanítási adatok bármely forrásból való letöltésére (feltéve, hogy a betanítási példány hozzá tud férni). További módszerek is vannak a letöltési idő felgyorsítására, például a Boto3 API használata többfeldolgozással a fájlok egyidejű letöltéséhez, vagy harmadik féltől származó könyvtárak, például a WebDataset vagy az s5cmd használata az Amazon S3-ról történő gyorsabb letöltés érdekében. További információkért lásd: S3 munkaterhelések párhuzamosítása az s5cmd segítségével.

Képzési fázis

A képzési fázis költségének optimalizálása két vektor optimalizálását foglalja magában: a megfelelő infrastruktúra kiválasztását (példánycsalád és méret), valamint magának a képzésnek az optimalizálását. A képzési példányokat nagyjából két kategóriába sorolhatjuk: gyorsított GPU-alapú, többnyire mély tanulási modellekhez, és CPU-alapú a gyakori ML keretrendszerekhez. A megfelelő példánycsalád kiválasztásához a képzéshez lásd: Hatékony számítási erőforrások biztosítása az Amazon SageMakeren. Ha a képzéshez GPU-példányokra van szükség, javasoljuk, hogy tekintse meg a videót Hogyan válasszunk ki Amazon EC2 GPU-példányokat a mély tanuláshoz.

Általános útmutatásként elmondható, hogy ha a munkaterhelése NVIDIA GPU-t igényel, azt találtuk, hogy az ügyfelek jelentős költségmegtakarítást érhetnek el két Amazon rugalmas számítási felhő (Amazon EC2) példánytípusok: ml.g4dn és a ml.g5. Az ml.g4dn NVIDIA T4-gyel van felszerelve, és különösen alacsony memóriaköltséget kínál. Az ml.g5 példány NVIDIA A10g Tensor Core-mal van felszerelve, és a legalacsonyabb CUDA floponkénti költsége (fp32).

Az AWS speciális költségmegtakarítási funkciókat kínál a mélytanulási képzéshez:

A példány megfelelő méretéhez és optimalizálásához először nézze meg a amazonfelhőóra a képzési munkák által generált mutatók. További információkért lásd: SageMaker munkák és végponti mérőszámok. Továbbra is használhatja a CloudWatch szolgáltatást egyéni algoritmus mérőszámok az edzési teljesítmény nyomon követésére.

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ezek a mutatók jelezhetik a szűk keresztmetszetek vagy az erőforrások túlzott ellátását. Ha például magas CPU-t figyel meg alacsony GPU-kihasználtság mellett, akkor a probléma megoldása a használatával heterogén klaszterek. Egy másik példa lehet a folyamatosan alacsony CPU kihasználtság a feladat teljes időtartama alatt – ez a példány méretének csökkenéséhez vezethet.

Ha használsz elosztott képzés, tesztelnie kell a különböző terjesztési módszereket (torony, Ring-AllReduce, tükrözött és így tovább), hogy érvényesítse a maximális kihasználtságot, és ennek megfelelően finomítsa a keretparamétereket (például lásd: A TensorFlow 1.x gyorsítóedzés legjobb gyakorlatai az Amazon SageMakeren). Fontos kiemelni, hogy használhatja a SageMaker terjesztési API-t és hasonló könyvtárakat SageMaker elosztott adatok párhuzamosan, SageMaker modell párhuzamosés SageMaker Sharded Data Parallel, amelyek az AWS infrastruktúrára vannak optimalizálva, és segítenek csökkenteni a képzési költségeket.

Vegye figyelembe, hogy az elosztott képzés nem feltétlenül lineárisan skálázódik, és némi többletköltséggel járhat, ami befolyásolja a teljes futási időt.

A mély tanulási modelleknél egy másik optimalizálási technika vegyes precizitást használ. A vegyes precizitás felgyorsíthatja az edzést, ezáltal csökkentve az edzési időt és a memóriahasználatot, minimális vagy semmilyen hatással a modell pontosságára. További információkért lásd a Train with Data Parallel és Model Parallel szakaszban Elosztott képzés az Amazon SageMakerben.

Végül, a keretrendszer-specifikus paraméterek optimalizálása jelentős hatással lehet a képzési folyamat optimalizálására. SageMaker automatikus modelltuning megkeresi azokat a hiperparamétereket, amelyek a legjobban teljesítenek az Ön által választott objektív mérőszámmal mérve. A képzési idő objektív mérőszámként és a keretkonfiguráció hiperparaméterként történő beállítása segíthet a szűk keresztmetszetek megszüntetésében és a teljes képzési idő csökkentésében. Az alapértelmezett TensorFlow-beállítások optimalizálására és a CPU szűk keresztmetszetének megszüntetésére vonatkozó példát lásd: Az Aerobotics mintánként 24-szer javítja az edzési sebességet az Amazon SageMaker és a TensorFlow segítségével.

Egy másik lehetőség a letöltési és a feldolgozási idő optimalizálására, hogy fontolja meg az adatok egy részhalmazának képzését. Ha az adatok több ismétlődő bejegyzésből vagy alacsony információnyeréssel rendelkező jellemzőkből állnak, előfordulhat, hogy az adatok egy részhalmazán edzhet, és csökkentheti a letöltési és betanítási időt, valamint egy kisebb példányt és Amazon Elastic Block Store (Amazon EBS) kötet. Példaként lásd a Használjon adatközpontú megközelítést az Amazon SageMaker modellek betanításához szükséges adatmennyiség minimalizálásához. Is, Amazon SageMaker Data Wrangler leegyszerűsítheti a képzési minták elemzését és létrehozását. További információkért lásd: Hozzon létre véletlenszerű és rétegzett adatmintákat az Amazon SageMaker Data Wrangler segítségével.

SageMaker hibakereső

A hatékony képzés és az erőforrás-felhasználás érdekében a SageMaker profilt készíthet a képzési munkáról Amazon SageMaker Debugger. Debugger ajánlatok beépített szabályok figyelmeztetni az edzést érintő gyakori problémákra, mint például a CPU szűk keresztmetszete, a GPU-memória növekedése vagy az I/O szűk keresztmetszete, vagy létrehozhat saját szabályokat. Itt érheti el és elemezheti a generált jelentést Amazon SageMaker Studio. További információkért lásd: Amazon SageMaker Debugger UI az Amazon SageMaker Studio Experimentsben. A következő képernyőképen a Studio Debugger nézete látható.

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Lefúrhatja a Python operátorokat és függvényeket (a Legjobb műveletek a GPU-n szakasz), amelyek a betanítási feladat elvégzésére futnak. A Debugger beépített szabályai az órakeretrendszer működésével kapcsolatos problémák profilálásához, ideértve az edzés megkezdése előtti adatletöltés miatti túlzott betanítási inicializálási időt, valamint a képzési hurkok lépéshosszának kiugró értékeit. Megjegyzendő, hogy bár a beépített szabályok használata ingyenes, az egyéni szabályok költségei a betanítási feladat és a hozzá csatolt tárhely időtartamára a konfigurált példány alapján vonatkoznak.

Következtetés

Ebben a bejegyzésben útmutatást adtunk a költségelemzéshez és a bevált gyakorlatokhoz az ML-modellek SageMaker képzési munkáival történő betanítása során. Mivel a gépi tanulás hatékony eszközzé válik az iparágakban, az ML modellek képzésének és üzemeltetésének költséghatékonynak kell maradnia. A SageMaker széles és mély funkciókészletet kínál az ML folyamat minden egyes lépésének megkönnyítésére, és költségoptimalizálási lehetőségeket kínál a teljesítmény vagy a gyorsaság befolyásolása nélkül.


A szerzőkről

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Deepali Rajale az AWS vezető AI/ML specialistája. Vállalati ügyfelekkel dolgozik, technikai útmutatást adva az AI/ML-megoldások AWS-ökoszisztémában való bevezetéséhez és karbantartásához szükséges bevált gyakorlatokról. Szervezetek széles skálájával dolgozott együtt különböző mély tanulási felhasználási eseteken, beleértve az NLP-t és a számítógépes látást. Szenvedélyesen törekszik arra, hogy a szervezeteket felhatalmazza a generatív mesterséges intelligencia hasznosítására, hogy javítsák használati élményüket. Szabadidejében szereti a filmeket, a zenét és az irodalmat.

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 4: Training jobs | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Uri Rosenberg az európai, a közel-keleti és afrikai AI és ML szakértő műszaki menedzsere. Az izraeli székhelyű Uri azon munkálkodik, hogy a vállalati ügyfeleket minden ML-ben lehetővé tegye a nagyszabású tervezéshez, építéshez és üzemeltetéshez. Szabadidejében szeret biciklizni, túrázni és az entrópiát növelni.

Időbélyeg:

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