Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazoni veebiteenused

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazoni veebiteenused

2021. aastal käivitasime AWS-i tugiteenused ennetavad teenused osana AWS-i ettevõtte tugi plaan. Alates selle kasutuselevõtust oleme aidanud sadadel klientidel optimeerida oma töökoormust, seada piirded ning parandada nende masinõppe (ML) töökoormuste kulude ja kasutuse nähtavust.

Selles postituste sarjas jagame õppetunde kulude optimeerimise kohta aastal Amazon SageMaker. Selles postituses keskendume andmete eeltöötluse kasutamisele Amazon SageMakeri töötlemine ja Amazon SageMaker Data Wrangler töökohti.

Andmete eeltöötlusel on andmekeskse tehisintellekti lähenemisviisi puhul keskne roll. Toorandmete ettevalmistamine ML-koolituse ja hindamise jaoks on aga sageli tüütu ja arvutusressursside, aja ja inimtegevuse seisukohast nõudlik ülesanne. Andmete ettevalmistamine tuleb tavaliselt integreerida erinevatest allikatest ning käsitleda puuduvaid või mürarikkaid väärtusi, kõrvalekaldeid jne.

Lisaks tavalistele väljavõtmis-, teisendus- ja laadimisülesannetele vajavad ML-i meeskonnad aeg-ajalt täiustatumaid võimalusi, näiteks kiirete mudelite loomist andmete hindamiseks ja funktsioonide tähtsuse skooride loomiseks või koolitusjärgse mudeli hindamist MLOps-torustiku osana.

SageMaker pakub kahte funktsiooni, mis on spetsiaalselt loodud nende probleemide lahendamiseks: SageMaker Processing ja Data Wrangler. SageMaker Processing võimaldab teil hõlpsalt käivitada eeltöötlust, järeltöötlust ja mudelite hindamist täielikult hallatud infrastruktuuris. Data Wrangler vähendab andmete koondamiseks ja ettevalmistamiseks kuluvat aega, lihtsustades andmeallika integreerimise ja funktsioonide kavandamise protsessi, kasutades ühtset visuaalset liidest ja täielikult hajutatud andmetöötluskeskkonda.

Mõlemad SageMakeri funktsioonid pakuvad suurt paindlikkust mitmete I/O-, salvestus- ja arvutusvõimalustega. Nende valikute vale seadistamine võib aga kaasa tuua tarbetuid kulusid, eriti kui tegemist on suurte andmekogumitega.

Selles postituses analüüsime hinnategureid ja anname kulude optimeerimise juhiseid SageMaker Processing ja Data Wrangleri töökohtade jaoks.

SageMakeri töötlemine

SageMaker Processing on hallatav lahendus andmetöötluse ja modelleerimise töökoormuste käitamiseks. Saate seda kasutada andmetöötluse etappides, nagu funktsioonide projekteerimine, andmete valideerimine, mudeli hindamine ja mudeli tõlgendamine ML-i töövoogudes. Rakenduse SageMaker Processing abil saate kaasa võtta oma kohandatud töötlemisskriptid ja valida kohandatud konteineri loomise või SageMakeri hallatava konteineri koos tavaliste raamistikega, nagu scikit-learn, Lime, Spark ja palju muud.

SageMaker Processing võtab teilt tasu valitud eksemplari tüübi eest, võttes aluseks kasutuse kestuse ja sellele eksemplarile lisatud varustatud salvestusruumi. 1. osas näitasime, kuidas kasutama hakata AWS-i kuluuurija kulude optimeerimise võimaluste tuvastamiseks SageMakeris.

Töötlemiskulusid saate filtreerida, rakendades kasutustüübile filtri. Nende kasutustüüpide nimed on järgmised:

  • REGION-Processing:instanceType (näiteks, USE1-Processing:ml.m5.large)
  • REGION-Processing:VolumeUsage.gp2 (näiteks, USE1-Processing:VolumeUsage.gp2)

Oma SageMakeri töötlemiskulude ülevaatamiseks Cost Exploreris alustage SageMakeri filtreerimisega TeenusNing Kasutamise tüüp, saate valida kõik töötlemise eksemplarid tööajad, sisestades processing:ml eesliide ja menüüst loendi valimine.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Vältige töötlemise ja torujuhtme arendamise kulusid

Enne SageMaker Processingi töö töö kestuse õiget suurust ja optimeerimist kontrollime ajalooliste töökäituste kohta kõrgetasemelisi mõõdikuid. Selleks saate valida kahe meetodi vahel.

Esiteks pääsete juurde Töötlemine lehel SageMakeri konsoolil.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Teise võimalusena võite kasutada ka list_processing_jobs API.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Töötlemistöö olek võib olla InProgress, Completed, Failed, Stoppingvõi Stopped.

Uute MLOps torujuhtmete väljatöötamisel on sageli ebaõnnestunud tööde arv. Siiski peaksite alati testima ja tegema kõik endast oleneva, et töid kinnitada enne nende SageMakeris käivitamist, kuna kasutatud ressursside eest tuleb maksta. Sel eesmärgil saate kasutada SageMakeri töötlemist kohalik režiim. Kohalik režiim on SageMakeri SDK funktsioon, mis võimaldab teil luua hinnanguid, protsessoreid ja torujuhtmeid ning juurutada need kohalikus arenduskeskkonnas. See on suurepärane viis skriptide testimiseks enne nende käivitamist SageMakeri hallatavas keskkonnas. Kohalikku režiimi toetavad SageMakeri hallatavad konteinerid ja need, mille tarnite ise. Lisateavet selle kohta, kuidas kasutada kohalikku režiimi koos Amazon SageMakeri torujuhtmed, viitama Kohalik režiim.

Optimeerige I/O-ga seotud kulusid

SageMakeri töötlemistööd pakuvad hallatava osana juurdepääsu kolmele andmeallikale töötlemise sisend: Amazoni lihtne salvestusteenus (Amazon S3), Amazonase Athenaja Amazoni punane nihe. Lisateabe saamiseks vaadake TöötlemineS3 sisend, AthenaDatasetDefinitionja RedshiftDatasetDefinition, Vastavalt.

Enne optimeerimise uurimist on oluline märkida, et kuigi SageMakeri töötlemistööd toetavad neid andmeallikaid, ei ole need kohustuslikud. Töötlemiskoodis saate rakendada mis tahes meetodit juurdepääsuandmete allalaadimiseks mis tahes allikast (eeldusel, et töötlev eksemplar pääseb sellele juurde).

Töötlemise toimivuse ja optimeerimisvõimaluste tuvastamise kohta parema ülevaate saamiseks soovitame järgida logimise parimad tavad teie töötlemisskriptis. SageMaker avaldab teie töötlemislogid aadressil Amazon CloudWatch.

Järgmises töölogi näites näeme, et skripti töötlemine võttis aega 15 minutit (vahel Start custom script ja End custom script).

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

SageMakeri konsoolil näeme aga, et töö võttis 4 lisaminutit (peaaegu 25% töö kogutööajast).

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

See on tingitud asjaolust, et lisaks meie skripti töötlemise ajale võttis aega ka SageMakeri hallatud andmete alla- ja üleslaadimine (4 minutit). Kui see osutub suureks osaks kuludest, kaaluge allalaadimisaja kiirendamiseks alternatiivseid viise, nagu näiteks Boto3 API kasutamine koos multitöötlusega failide samaaegseks allalaadimiseks või kolmandate osapoolte teekide kasutamine WebDatasetina või s5cmd-na Amazon S3-st kiiremaks allalaadimiseks. Lisateabe saamiseks vaadake S3 töökoormuste paralleelsus s5cmd-ga. Pange tähele, et sellised meetodid võivad Amazon S3-s kehtestada tasusid Andmeedastus.

Tööde töötlemine toetab ka Toru režiim. Selle meetodi abil voogesitab SageMaker sisendandmed allikast otse teie töötlemismahutisse nimega torudesse ilma ML-i salvestusmahtu kasutamata, kõrvaldades sellega andmete allalaadimisaja ja väiksema kettamahu. Selleks on aga vaja keerulisemat programmeerimismudelit kui lihtsalt kettalt failide lugemine.

Nagu varem mainitud, toetab SageMaker Processing andmeallikatena ka Athena ja Amazon Redshift. Nende allikatega töötlemistöö seadistamisel kopeerib SageMaker andmed automaatselt Amazon S3-sse ja töötlemise eksemplar hangib andmed Amazon S3 asukohast. Kui töö on lõppenud, siis hallatud puhastusprotsessi ei toimu ja kopeeritud andmed jäävad endiselt Amazon S3-sse ning nendega võivad kaasneda soovimatud salvestustasud. Seetõttu kasutage Athena ja Amazon Redshift andmeallikate kasutamisel kindlasti puhastusprotseduuri, näiteks lambda funktsiooni, mis jookseb graafiku alusel või a Lambda samm osana SageMakeri torujuhtmest.

Nagu allalaadimine, võib ka töötlemise artefaktide üleslaadimine olla optimeerimisvõimalus. Kui töötlemistöö väljund on konfigureeritud kasutades ProcessingS3Output parameeter, saate määrata, millise S3UploadMode kasutada. The S3UploadMode parameetri vaikeväärtus on EndOfJob, mis paneb SageMakeri tulemused pärast töö lõpetamist üles laadima. Kui aga teie töötlemistöö loob mitu faili, saate määrata S3UploadMode et Continuous, võimaldades seeläbi artefaktide üleslaadimist samaaegselt töötlemise jätkumisega ja lühendades töö tööaega.

Õige suurusega töötlemistööde eksemplarid

Õige eksemplari tüübi ja suuruse valimine on SageMakeri töötlemistööde kulude optimeerimise peamine tegur. Saate määrata eksemplari õige suuruse, kui migreerite sama eksemplariperekonnas teisele versioonile või minge üle teise eksemplariperekonda. Sama eksemplariperekonna piires üle minnes peate arvestama ainult CPU/GPU ja mäluga. Lisateavet ja üldisi juhiseid õigete töötlemisressursside valimise kohta leiate aadressilt Tagada Amazon SageMakeris tõhusad arvutusressursid.

Eksemplari valiku täpsustamiseks analüüsime kõigepealt CloudWatchis töömõõdikute töötlemist. Lisateabe saamiseks vaadake Jälgige Amazon SageMakerit rakendusega Amazon CloudWatch.

CloudWatch kogub SageMakerilt toorandmeid ja töötleb need loetavateks peaaegu reaalajas mõõdikuteks. Kuigi seda statistikat säilitatakse 15 kuud, piirab CloudWatchi konsool otsingut mõõdikutega, mida värskendati viimase 2 nädala jooksul (see tagab, et kuvatakse ainult praegused töökohad). Töötlemistööde mõõdikud leiate /aws/sagemaker/ProcessingJobs nimeruumist ja kogutud mõõdikud on CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilizationja DiskUtilization.

Järgmisel ekraanipildil on CloudWatchi näide varem nähtud töötlemistööst.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Selles näites näeme keskmisi protsessori ja mälu väärtusi (mis on CloudWatchi vaikeväärtus): keskmine protsessori kasutus on 0.04%, mälu 1.84% ja kettakasutus 13.7%. Õige suuruse valimiseks võtke alati arvesse maksimaalset protsessori- ja mälukasutust (selles näites oli protsessori maksimaalne kasutus esimese 98 minuti jooksul 3%). Üldreeglina, kui teie maksimaalne protsessori- ja mälukasutus on püsivalt alla 40%, võite masina ohutult pooleks lõigata. Näiteks kui kasutasite eksemplari ml.c5.4xlarge, võite liikuda failile ml.c5.2xlarge, mis võib teie kulusid vähendada 50%.

Data Wrangleri töökohti

Data Wrangler on funktsioon Amazon SageMaker Studio mis pakub andmete uurimiseks ja töötlemiseks korratavat ja skaleeritavat lahendust. Andmete interaktiivseks importimiseks, analüüsimiseks, teisendamiseks ja esiletoomiseks kasutate Data Wrangleri liidest. Need sammud on salvestatud retsepti (.flow-faili), mida saate seejärel kasutada Data Wrangleri töös. See aitab teil samu andmeteisendusi oma andmetele uuesti rakendada ja samuti skaleerida hajutatud pakettandmetöötlustööle kas ML-konveieri osana või iseseisvalt.

Stuudios Data Wrangleri rakenduse optimeerimise juhiste saamiseks vaadake selle seeria 2. osa.

Selles jaotises keskendume Data Wrangleri tööde optimeerimisele.

Data Wrangler kasutab SageMaker Spark töötlemise töökohad Data Wrangleri hallatava konteineriga. See konteiner käivitab juhised töös olevast .flow-failist. Nagu kõik töötlemistööd, võtab Data Wrangler teilt tasu valitud eksemplaride eest, võttes aluseks kasutuse kestuse ja sellele eksemplarile lisatud varustatud salvestusruumi.

Cost Exploreris saate Data Wrangleri tööde kulusid filtreerida, rakendades kasutustüübile filtri. Nende kasutustüüpide nimed on järgmised:

  • REGION-processing_DW:instanceType (näiteks, USE1-processing_DW:ml.m5.large)
  • REGION-processing_DW:VolumeUsage.gp2 (näiteks, USE1-processing_DW:VolumeUsage.gp2)

Oma Data Wrangleri kulude vaatamiseks Cost Exploreris filtreerige teenus SageMakeri kasutamiseks ja jaoks Kasutamise tüüp, Vali processing_DW eesliide ja valige menüüst loend. See näitab teile nii eksemplari kasutamisega (tundides) kui ka salvestusmahuga (GB) seotud kulusid. (Kui soovite näha Studio Data Wrangleri kulusid, saate kasutustüübi filtreerida Studio_DW eesliide.)

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Õige suurusega ja ajastatud Data Wrangleri tööeksemplarid

Praegu toetab Data Wrangler ainult m5 eksemplare järgmiste suurustega: ml.m5.4xlarge, ml.m5.12xlarge ja ml.m5.24xlarge. Saate kasutada hajutatud töö funktsiooni, et oma töökulusid täpsustada. Oletame näiteks, et peate töötlema andmestikku, mis nõuab 350 GiB RAM-i. 4xlarge (128 GiB) ja 12xlarge (256 GiB) ei pruugi olla võimeline töötlema ja sunnib teid kasutama m5.24xlarge eksemplari (768 GiB). Siiski võite kasutada kahte m5.12xsuurt eksemplari (2 * 256 GiB = 512 GiB) ja vähendada kulusid 40% või kolme m5.4xsuurt eksemplari (3 * 128 GiB = 384 GiB) ja säästa 50% m5.24xsuure eksemplari maksumusest. Peaksite arvestama, et need on hinnangulised ja hajutatud töötlemine võib kaasa tuua üldkulusid, mis mõjutavad üldist käitusaega.

Eksemplari tüübi muutmisel värskendage kindlasti faili Sparki konfiguratsioon vastavalt. Näiteks kui teil on atribuutidega konfigureeritud esialgne ml.m5.4xlarge eksemplari töö spark.driver.memory seatud väärtusele 2048 ja spark.executor.memory seatud väärtusele 55742 ja hiljem skaleerida kuni ml.m5.12xlarge, tuleb neid konfiguratsiooniväärtusi suurendada, muidu on need töötlemistöö kitsaskohaks. Saate neid muutujaid värskendada Data Wrangleri GUI-s või konfiguratsiooniteele lisatud konfiguratsioonifailis (vt järgmisi näiteid).

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Teine Data Wrangleri veenev funktsioon on võimalus määrata ajastatud töö. Kui töötlete andmeid perioodiliselt, saate luua ajakava töötlemistöö automaatseks käitamiseks. Näiteks saate luua ajakava, mis käivitab uute andmete saamisel automaatselt töötlemistöö (näiteid vt Ekspordi Amazon S3-sse or Eksportige Amazon SageMakeri funktsioonipoodi). Siiski peaksite arvestama, et ajakava loomisel loob Data Wrangler eventRule rakenduses EventBridge. See tähendab, et teilt võetakse tasu ka loodud sündmusereeglite (ja ka töötlemistöö käitamiseks kasutatud eksemplaride) eest. Lisateabe saamiseks vt Amazon EventBridge'i hinnakujundus.

Järeldus

Selles postituses andsime juhiseid kuluanalüüsi ja eeltöötluse parimate tavade kohta

andmeid kasutades SageMaker Processing ja Data Wrangleri töid. Sarnaselt eeltöötlusega on ML-mudelite ehitamisel, treenimisel ja käitamisel palju valikuid ja konfiguratsioonisätteid, mis võivad kaasa tuua tarbetuid kulusid. Seetõttu, kuna masinõpe on kõigis tööstusharudes tõhus tööriist, peavad ML-töökoormused jääma kulutõhusaks.

SageMaker pakub laia ja sügavat funktsioonide komplekti ML-i konveieri iga etapi hõlbustamiseks.

See vastupidavus pakub ka pidevaid kulude optimeerimise võimalusi, ilma et see kahjustaks jõudlust või paindlikkust.


Autoritest

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Deepali Rajale on AWSi AI/ML vanemspetsialist. Ta töötab äriklientidega, pakkudes tehnilisi juhiseid parimate tavade kohta AI/ML-lahenduste juurutamiseks ja hooldamiseks AWS-i ökosüsteemis. Ta on töötanud paljude organisatsioonidega erinevate süvaõppe kasutusjuhtumite kallal, mis hõlmavad NLP-d ja arvutinägemist. Ta on kirglik anda organisatsioonidele võimalus kasutada generatiivset tehisintellekti, et parandada nende kasutuskogemust. Vabal ajal naudib ta filme, muusikat ja kirjandust.

Amazon SageMakeri kulutuste analüüsimine ja kulude optimeerimise võimaluste määramine kasutuse põhjal, 3. osa: töötlemine ja andmekäsitlus | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Uri Rosenberg on AI ja ML spetsialiseerunud tehniline juht Euroopas, Lähis-Idas ja Aafrikas. Iisraelist väljas asuv Uri töötab selle nimel, et anda ettevõtetele klientidele võimalus ML-iga projekteerida, ehitada ja mastaapselt tegutseda. Vabal ajal meeldib talle jalgrattaga sõita, matkata ja päikeseloojanguid vaadata (vähemalt kord päevas).

Ajatempel:

Veel alates AWS-i masinõpe