Az Amazon SageMaker ráfordításainak elemzése és a költségoptimalizálási lehetőségek meghatározása a használat alapján, 3. rész: Feldolgozási és adatkezelői munkák | Amazon webszolgáltatások

Az Amazon SageMaker ráfordításainak elemzése és a költségoptimalizálási lehetőségek meghatározása a használat alapján, 3. rész: Feldolgozási és adatkezelői 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 az adatok előfeldolgozására összpontosítunk Amazon SageMaker feldolgozás és a Amazon SageMaker Data Wrangler munkahelyeket.

Az adat-előfeldolgozás kulcsfontosságú szerepet tölt be az adatközpontú AI-megközelítésben. A nyers adatok előkészítése az ML képzéshez és értékeléshez azonban gyakran fárasztó és megterhelő feladat a számítási erőforrások, az idő és az emberi erőfeszítések szempontjából. Az adatok előkészítését általában különböző forrásokból kell integrálni, és foglalkozni kell a hiányzó vagy zajos értékekkel, kiugró értékekkel stb.

Ezen túlmenően a közös kivonat, átalakítás és betöltés (ETL) feladatokon kívül az ML csapatoknak időnként fejlettebb képességekre van szükségük, például gyors modellek létrehozására az adatok kiértékeléséhez és a jellemzők fontossági pontszámainak előállításához vagy a képzés utáni modellértékeléshez az MLOps folyamat részeként.

A SageMaker két olyan funkciót kínál, amelyeket kifejezetten ezeknek a problémáknak a megoldására terveztek: a SageMaker Processing és a Data Wrangler. A SageMaker Processing lehetővé teszi az előfeldolgozás, utófeldolgozás és modellértékelés egyszerű futtatását egy teljesen felügyelt infrastruktúrán. A Data Wrangler csökkenti az adatok összesítésének és előkészítésének idejét azáltal, hogy leegyszerűsíti az adatforrás-integráció és a funkciótervezés folyamatát egyetlen vizuális interfész és egy teljesen elosztott adatfeldolgozási környezet segítségével.

Mindkét SageMaker szolgáltatás nagy rugalmasságot biztosít az I/O, a tárolás és a számítás számos lehetőségével. Ezeknek a beállításoknak a helytelen beállítása azonban szükségtelen költségekhez vezethet, különösen nagy adatkészletek kezelésekor.

Ebben a bejegyzésben elemezzük az árképzési tényezőket, és költségoptimalizálási útmutatást adunk a SageMaker Processing és Data Wrangler munkákhoz.

SageMaker feldolgozás

A SageMaker Processing egy felügyelt megoldás adatfeldolgozási és modellértékelési munkaterhelések futtatására. Használhatja olyan adatfeldolgozási lépésekben, mint a jellemzők tervezése, az adatok érvényesítése, a modellértékelés és a modellértelmezés az ML munkafolyamatokban. A SageMaker Processing segítségével saját egyéni feldolgozási szkriptjeit hozhatja létre, és választhat egyéni tároló létrehozása vagy egy SageMaker által felügyelt tároló használata olyan általános keretrendszerekkel, mint a scikit-learn, a Lime, a Spark és még sok más.

A SageMaker Processing díjat számít fel a választott példánytípusért, a használat időtartama és a példányhoz csatolt kiépített tárhely alapján. Az 1. részben megmutattuk, hogyan kezdjük el a használatot AWS Cost Explorer hogy azonosítsa a költségoptimalizálási lehetőségeket a SageMakerben.

A feldolgozási költségeket a felhasználási típusra szűrő alkalmazásával szűrheti. Ezeknek a felhasználási típusoknak a nevei a következők:

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

Ha át szeretné tekinteni a SageMaker feldolgozási költségeit a Cost Explorer alkalmazásban, kezdje a SageMakerrel való szűréssel szolgáltatás, Valamint a Használat típusa, kiválaszthatja az összes feldolgozási példány futási idejét a következő megadásával processing:ml előtagot, és válassza ki a listát a menüből.

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

Kerülje el a költségeket a feldolgozás és a csővezeték fejlesztés során

A SageMaker Processing job futási időtartamának megfelelő méretezése és optimalizálása előtt ellenőrizzük, hogy vannak-e magas szintű mérőszámok a korábbi jobfuttatásokról. Ehhez két módszer közül választhat.

Először is elérheti a Feldolgozás oldalon a SageMaker konzolon.

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

Alternatív megoldásként a list_processing_jobs API.

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

A Feldolgozási feladat állapota lehet InProgress, Completed, Failed, Stoppingvagy Stopped.

A sikertelen feladatok nagy száma gyakori az új MLOps folyamatok fejlesztésekor. Azonban mindig tesztelnie kell, és minden erőfeszítést meg kell tennie a munkák érvényesítése érdekében, mielőtt elindítja azokat a SageMaker-en, mert a felhasznált erőforrásokért díjat kell fizetni. Erre a célra használhatja a SageMaker Processing alkalmazást helyi mód. A Helyi mód egy SageMaker SDK-funkció, amely lehetővé teszi becslések, processzorok és folyamatok létrehozását, és ezek telepítését a helyi fejlesztési környezetbe. Ez egy nagyszerű módja annak, hogy tesztelje a szkripteket, mielőtt futtatná őket egy SageMaker felügyelt környezetben. A helyi módot a SageMaker által felügyelt tárolók és az Ön által biztosított tárolók támogatják. Ha többet szeretne megtudni a helyi mód használatáról Amazon SageMaker csővezetékek, hivatkozni Helyi mód.

Optimalizálja az I/O-val kapcsolatos költségeket

A SageMaker feldolgozási feladatok három adatforráshoz biztosítanak hozzáférést a felügyelt részeként feldolgozási bemenet: Amazon egyszerű tárolási szolgáltatás (Amazon S3), Amazon Athénéés Amazon RedShift. További információkért lásd: ProcessingS3Input, AthenaDatasetDefinitionés RedshiftDatasetDefinition, Ill.

Az optimalizálás előtt fontos megjegyezni, hogy bár a SageMaker Processing feladatok támogatják ezeket az adatforrásokat, ezek nem kötelezőek. A feldolgozási kódban bármilyen módszert megvalósíthat a hozzáférési adatok letöltésére bármely forrásból (feltéve, hogy a feldolgozó példány hozzá tud férni).

A feldolgozási teljesítmény jobb megismeréséhez és az optimalizálási lehetőségek észleléséhez javasoljuk a következőket bevált gyakorlatok naplózása a feldolgozási szkriptben. A SageMaker a feldolgozási naplókat a következő helyen teszi közzé amazonfelhőóra.

A következő példamunkanaplóban azt látjuk, hogy a szkript feldolgozása 15 percet vett igénybe (között Start custom script és a End custom script).

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

A SageMaker konzolon azonban azt látjuk, hogy a feladat további 4 percet vett igénybe (a feladat teljes futásidejének csaknem 25%-a).

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

Ez annak köszönhető, hogy a szkriptünk feldolgozásához szükséges idő mellett a SageMaker által kezelt adatok letöltése és feltöltése is időt vett igénybe (4 perc). Ha ez a költségek nagy részének bizonyul, fontolja meg a letöltési idő felgyorsításának alternatív módjait, például a Boto3 API használatát többfeldolgozással a fájlok egyidejű letöltéséhez, vagy harmadik féltől származó könyvtárak használatát WebDataset vagy s5cmd néven 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. Vegye figyelembe, hogy az ilyen módszerek díjakat vezethetnek be az Amazon S3-ban adatátvitel.

A feladatok feldolgozása is támogatja Cső üzemmód. Ezzel a módszerrel a SageMaker a bemeneti adatokat a forrásból közvetlenül a feldolgozó tárolóba továbbítja elnevezett csövekbe az ML tárolókötet használata nélkül, ezáltal kiküszöböli az adatletöltési időt és a kisebb lemezmennyiséget. Ez azonban bonyolultabb programozási modellt igényel, mint a lemezen lévő fájlok egyszerű olvasása.

Mint korábban említettük, a SageMaker Processing adatforrásként támogatja az Athena és az Amazon Redshift-et is. Amikor feldolgozási feladatot állít be ezekkel a forrásokkal, a SageMaker automatikusan átmásolja az adatokat az Amazon S3-ba, és a feldolgozási példány lekéri az adatokat az Amazon S3 helyéről. A munka befejeztével azonban nincs felügyelt tisztítási folyamat, és a másolt adatok továbbra is az Amazon S3-ban maradnak, és nem kívánt tárolási költségekkel járhatnak. Ezért az Athena és az Amazon Redshift adatforrások használatakor ügyeljen arra, hogy végrehajtson egy tisztítási eljárást, például egy Lambda funkciót, amely menetrend szerint fut vagy a Lambda Step a SageMaker folyamat részeként.

A letöltéshez hasonlóan a feldolgozó műtermékek feltöltése is lehetőséget jelenthet az optimalizálásra. Ha egy feldolgozási feladat kimenete a következővel van konfigurálva ProcessingS3Output paramétert, megadhatja, hogy melyik S3UploadMode használni. A S3UploadMode paraméter alapértelmezett értéke EndOfJob, amellyel a SageMaker feltölti az eredményeket a munka befejezése után. Ha azonban a Feldolgozási feladat több fájlt hoz létre, beállíthatja S3UploadMode nak nek Continuous, ezáltal lehetővé teszi a műtermékek feltöltését a feldolgozás folytatásával egyidejűleg, és csökkenti a feladat futási idejét.

Megfelelő méretű feldolgozási feladatpéldányok

A megfelelő példánytípus és -méret kiválasztása fontos tényező a SageMaker feldolgozási feladatok költségeinek optimalizálása szempontjából. Egy példányt megfelelő méretre állíthat át, ha ugyanazon a példánycsaládon belül egy másik verzióra költözik, vagy egy másik példánycsaládba költözik át. Ha ugyanazon a példánycsaládon belül migrál, csak a CPU-t/GPU-t és a memóriát kell figyelembe vennie. További információkért és általános útmutatásért a megfelelő feldolgozási erőforrások kiválasztásához lásd: Hatékony számítási erőforrások biztosítása az Amazon SageMakeren.

A példánykiválasztás finomhangolásához először elemezzük a Feldolgozási feladat mérőszámait a CloudWatchban. További információkért lásd: Az Amazon SageMaker monitorozása az Amazon CloudWatch segítségével.

A CloudWatch nyers adatokat gyűjt a SageMakertől, és azokat olvasható, csaknem valós idejű metrikákká dolgozza fel. Bár ezeket a statisztikákat 15 hónapig megőrizzük, a CloudWatch konzol az elmúlt 2 hétben frissített mutatókra korlátozza a keresést (ez biztosítja, hogy csak az aktuális munkák jelenjenek meg). A feldolgozási feladatok mérőszámai az /aws/sagemaker/ProcessingJobs névtérben találhatók, és az összegyűjtött mérőszámok CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilizationés DiskUtilization.

A következő képernyőképen egy példa látható a CloudWatch alkalmazásban a korábban látott feldolgozási feladatra.

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

Ebben a példában az átlagos CPU- és memóriaértékeket látjuk (ez a CloudWatch alapértelmezett értéke): az átlagos CPU-használat 0.04%, a memória 1.84%, a lemezhasználat pedig 13.7%. A megfelelő méret érdekében mindig vegye figyelembe a maximális CPU- és memóriahasználatot (ebben a példában a maximális CPU kihasználtság 98% volt az első 3 percben). Általános szabály, hogy ha a maximális CPU- és memóriahasználat folyamatosan kevesebb, mint 40%, akkor nyugodtan felére vághatja a gépet. Ha például egy ml.c5.4xlarge példányt használ, akkor átválthat egy ml.c5.2xlarge példányra, ami 50%-kal csökkentheti a költségeket.

Data Wrangler állások

A Data Wrangler szolgáltatása Amazon SageMaker Studio amely megismételhető és méretezhető megoldást kínál az adatok feltárására és feldolgozására. A Data Wrangler felületet használhatja az adatok interaktív importálására, elemzésére, átalakítására és jellemzőire. Ezek a lépések egy receptben (egy .flow fájlban) vannak rögzítve, amelyet ezután egy Data Wrangler-feladatban használhat fel. Ez segít újra alkalmazni ugyanazokat az adatátalakításokat az adatokon, és egy elosztott kötegelt adatfeldolgozási feladatra is méretezheti, akár egy ML-folyamat részeként, akár önállóan.

A Data Wrangler alkalmazás Stúdióban történő optimalizálásával kapcsolatos útmutatásért tekintse meg a sorozat 2. részét.

Ebben a részben a Data Wrangler-feladatok optimalizálására összpontosítunk.

Data Wrangler használ SageMaker Spark feldolgozási munkák Data Wrangler által kezelt tárolóval. Ez a tároló futtatja az utasításokat a feladatban található .flow fájlból. Mint minden feldolgozási feladat, a Data Wrangler díjat számít fel a választott példányokért, a használat időtartama és az adott példányhoz csatolt tárhely alapján.

A Költségkezelőben szűrheti a Data Wrangler-feladatok költségeit, ha szűrőt alkalmaz a használati típusra. Ezeknek a felhasználási típusoknak a nevei:

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

Ha meg szeretné tekinteni a Data Wrangler költségeit a Cost Explorer alkalmazásban, szűrje le a szolgáltatást a SageMaker használatára és a számára Használat típusa, válaszd a processing_DW előtagot, és válassza ki a listát a menüben. Ez megmutatja a példányhasználati (óra) és a tárolási mennyiséggel (GB) kapcsolatos költségeket is. (Ha szeretné látni a Studio Data Wrangler költségeit, szűrheti a használati típust a Studio_DW előtag.)

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

A Data Wrangler feladatpéldányok megfelelő mérete és ütemezése

Jelenleg a Data Wrangler csak az m5 példányokat támogatja a következő példányméretekkel: ml.m5.4xlarge, ml.m5.12xlarge és ml.m5.24xlarge. Az elosztott munka funkció segítségével finomhangolhatja a munka költségeit. Tegyük fel például, hogy olyan adatkészletet kell feldolgoznia, amely 350 GiB RAM-ot igényel. Előfordulhat, hogy a 4xlarge (128 GiB) és a 12xlarge (256 GiB) nem tudja feldolgozni, és az m5.24xlarge példány (768 GiB) használatához vezet. Használhat azonban két m5.12xnagy példányt (2 * 256 GiB = 512 GiB), és 40%-kal csökkentheti a költségeket, vagy három m5.4xnagy példányt (3 * 128 GiB = 384 GiB), és 50%-át takaríthatja meg az m5.24xlarge példány költsége. Megjegyzendő, hogy ezek becslések, és hogy az elosztott feldolgozás bizonyos többletköltséget jelenthet, amely befolyásolja a teljes futási időt.

A példánytípus módosításakor ügyeljen arra, hogy frissítse a Spark konfig Eszerint. Például, ha van egy kezdeti ml.m5.4xlarge példányfeladata tulajdonságokkal konfigurálva spark.driver.memory 2048-ra és spark.executor.memory 55742-re állítva, majd később ml.m5.12xlarge-ig skálázva ezeket a konfigurációs értékeket növelni kell, különben ezek jelentik a szűk keresztmetszetet a feldolgozási munkában. Ezeket a változókat a Data Wrangler grafikus felületén vagy a konfigurációs elérési úthoz csatolt konfigurációs fájlban frissítheti (lásd a következő példákat).

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

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

A Data Wrangler másik lenyűgöző tulajdonsága az a képesség, hogy ütemezett munka beállítása. Ha rendszeresen dolgoz fel adatokat, létrehozhat egy ütemezést a feldolgozási feladat automatikus futtatásához. Létrehozhat például egy ütemezést, amely automatikusan lefuttat egy feldolgozási feladatot, amikor új adatot kap (példákat lásd: Exportálás az Amazon S3-ba or Exportáljon az Amazon SageMaker Feature Store-ba). Megjegyzendő azonban, hogy ütemezés létrehozásakor a Data Wrangler létrehoz egy eventRule az EventBridge-ben. Ez azt jelenti, hogy a létrehozott eseményszabályokért is fizetni kell (valamint a feldolgozási feladat futtatásához használt példányokért). További információkért lásd Amazon EventBridge árazás.

Következtetés

Ebben a bejegyzésben útmutatást adtunk a költségelemzéshez és az előfeldolgozás során bevált gyakorlatokhoz

adatok SageMaker Processing és Data Wrangler feladatok használatával. Az előfeldolgozáshoz hasonlóan az ML modellek felépítése, betanítása és futtatása során számos lehetőség és konfigurációs beállítás létezik, amelyek szükségtelen költségekhez vezethetnek. Ezért, mivel a gépi tanulás hatékony eszközzé válik az iparágakban, az ML munkaterhelésnek költséghatékonynak kell maradnia.

A SageMaker széles és mély funkciókészletet kínál az ML folyamat minden lépésének megkönnyítésére.

Ez a robusztusság folyamatos költségoptimalizálási lehetőségeket is biztosít a teljesítmény vagy a gyorsaság veszélyeztetése nélkül.


A szerzőkről

Analyze Amazon SageMaker spend and determine cost optimization opportunities based on usage, Part 3: Processing and Data Wrangler 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 3: Processing and Data Wrangler 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 kerékpározni, kirándulni és naplementét nézni (minimum naponta egyszer).

Időbélyeg:

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