Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services

Vuonna 2021 aloitimme AWS-tuki ennakoivia palveluita osana AWS-yritystuki suunnitelma. Sen käyttöönoton jälkeen olemme auttaneet satoja asiakkaita optimoimaan työkuormituksensa, asettamaan suojakaiteet ja parantamaan koneoppimisen (ML) työkuormien kustannusten ja käytön näkyvyyttä.

Tässä viestisarjassa jaamme oppitunteja kustannusten optimoinnista vuonna Amazon Sage Maker. Tässä postauksessa keskitymme tietojen esikäsittelyyn Amazon SageMaker -käsittely ja Amazon SageMaker Data Wrangler työpaikkaa.

Datan esikäsittelyllä on keskeinen rooli tietokeskeisessä tekoälyssä. Raakadatan valmistaminen ML-koulutusta ja arviointia varten on kuitenkin usein työlästä ja vaativa tehtävä laskentaresurssien, ajan ja inhimillisen työn kannalta. Tietojen valmistelu on yleensä integroitava eri lähteistä ja käsitellä puuttuvia tai meluisia arvoja, poikkeavuuksia ja niin edelleen.

Lisäksi yleisten ETL-tehtävien lisäksi ML-tiimit vaativat toisinaan kehittyneempiä ominaisuuksia, kuten nopeiden mallien luomista tietojen arvioimiseksi ja ominaisuuksien tärkeyspisteiden tuottamiseksi tai harjoituksen jälkeisen mallin arvioinnin osana MLOps-putkilinjaa.

SageMaker tarjoaa kaksi ominaisuutta, jotka on erityisesti suunniteltu auttamaan näitä ongelmia: SageMaker Processing ja Data Wrangler. SageMaker Processingin avulla voit helposti suorittaa esikäsittelyä, jälkikäsittelyä ja mallin arviointia täysin hallitussa infrastruktuurissa. Data Wrangler vähentää tietojen kokoamiseen ja valmisteluun kuluvaa aikaa yksinkertaistamalla tietolähteiden integrointia ja ominaisuuksien suunnittelua käyttämällä yhtä visuaalista käyttöliittymää ja täysin hajautettua tietojenkäsittelyympäristöä.

Molemmat SageMaker-ominaisuudet tarjoavat suurta joustavuutta useilla I/O-, tallennus- ja laskentavaihtoehdoilla. Näiden asetusten asettaminen väärin voi kuitenkin aiheuttaa tarpeettomia kustannuksia, varsinkin kun käsitellään suuria tietojoukkoja.

Tässä viestissä analysoimme hinnoittelutekijöitä ja annamme kustannusoptimointiohjeita SageMaker Processing- ja Data Wrangler -töihin.

SageMaker-käsittely

SageMaker Processing on hallittu ratkaisu tietojenkäsittelyn ja mallin arvioinnin työkuormien suorittamiseen. Voit käyttää sitä tietojenkäsittelyvaiheissa, kuten ominaisuuksien suunnittelussa, tietojen validoinnissa, mallin arvioinnissa ja mallien tulkinnassa ML-työnkuluissa. SageMaker Processingin avulla voit tuoda omia mukautettuja käsittelyskriptejäsi ja valita, haluatko rakentaa mukautetun säilön tai käyttää SageMaker-hallittua säilöä yleisillä kehyksillä, kuten scikit-learn, Lime, Spark ja paljon muuta.

SageMaker Processing veloittaa sinua valitsemastasi ilmentymätyypistä käytön keston ja kyseiseen ilmentymään liitetyn tallennustilan perusteella. Osassa 1 näytimme, kuinka pääset alkuun AWS-kustannuslaskuri kustannusten optimointimahdollisuuksien tunnistamiseen SageMakerissa.

Voit suodattaa käsittelykustannuksia käyttämällä suodatinta käyttötyypille. Näiden käyttötyyppien nimet ovat seuraavat:

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

Jos haluat tarkistaa SageMaker-käsittelykustannukset Cost Explorerissa, aloita suodattamalla SageMaker for Palvelu, Ja Käyttötyyppi, voit valita kaikki prosessointiesiintymien käyttöajat kirjoittamalla processing:ml etuliite ja valitsemalla luettelo valikosta.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Vältä käsittelyn ja putkien kehittämisen kustannukset

Ennen SageMaker Processing -työn ajon keston oikeaa kokoa ja optimointia tarkistamme korkean tason mittareita historiallisista työajoista. Voit tehdä tämän valitsemalla kahdesta menetelmästä.

Ensinnäkin pääset käsiksi Käsittely sivu SageMaker-konsolissa.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Vaihtoehtoisesti voit käyttää list_processing_jobs API.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Käsittelytyön tila voi olla InProgress, Completed, Failed, Stoppingtai Stopped.

Suuri määrä epäonnistuneita töitä on yleistä kehitettäessä uusia MLOps-putkia. Sinun tulee kuitenkin aina testata ja tehdä kaikkensa töiden validoimiseksi ennen niiden käynnistämistä SageMakerissa, koska käytetyistä resursseista veloitetaan. Tätä tarkoitusta varten voit käyttää SageMaker Processing -ohjelmaa paikallinen tila. Paikallinen tila on SageMaker SDK:n ominaisuus, jonka avulla voit luoda arvioijia, prosessoreita ja putkia ja ottaa ne käyttöön paikallisessa kehitysympäristössäsi. Tämä on loistava tapa testata komentosarjojasi ennen niiden suorittamista SageMaker-hallitussa ympäristössä. Paikallista tilaa tukevat SageMaker-hallitut säilöt ja itse toimittamasi säilöt. Saat lisätietoja paikallisen tilan käytöstä Amazon SageMaker -putkistot, viitata Paikallinen tila.

Optimoi I/O-kustannukset

SageMaker Processing -työt tarjoavat pääsyn kolmeen tietolähteeseen osana hallittua käsittelysyöte: Amazonin yksinkertainen tallennuspalvelu (Amazon S3), Amazon Athenaja Amazonin punainen siirto. Lisätietoja on kohdassa ProcessingS3Input, AthenaDatasetDefinitionja RedshiftDatasetDefinitionVastaavasti.

Ennen kuin tarkastelemme optimointia, on tärkeää huomata, että vaikka SageMaker Processing -työt tukevat näitä tietolähteitä, ne eivät ole pakollisia. Käsittelykoodissasi voit ottaa käyttöön minkä tahansa menetelmän pääsytietojen lataamiseen mistä tahansa lähteestä (edellyttäen, että käsittelyesiintymä voi käyttää niitä).

Suosittelemme seuraavaa saadaksesi paremman käsityksen käsittelyn tehokkuudesta ja optimointimahdollisuuksien havaitsemisesta kirjaamisen parhaat käytännöt käsittelyskriptissäsi. SageMaker julkaisee käsittelylokit osoitteeseen amazonin pilvikello.

Seuraavassa esimerkkityölokissa näemme, että komentosarjan käsittely kesti 15 minuuttia (välillä Start custom script ja End custom script).

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Näemme kuitenkin SageMaker-konsolissa, että työ vei 4 minuuttia lisää (lähes 25 % työn kokonaisajoajasta).

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Tämä johtuu siitä, että skriptimme käsittelyajan lisäksi SageMakerin hallinnoima tiedon lataaminen ja lataaminen vei aikaa (4 minuuttia). Jos tämä osoittautuu suureksi osaksi kustannuksia, harkitse vaihtoehtoisia tapoja nopeuttaa latausaikaa, kuten käyttää Boto3-sovellusliittymää moniprosessoinnilla tiedostojen lataamiseen samanaikaisesti tai käyttämällä kolmannen osapuolen kirjastoja WebDataset- tai s5cmd-muodossa nopeuttaaksesi lataamista Amazon S3:sta. . Lisätietoja on kohdassa S3-työkuormien rinnastaminen s5cmd:llä. Huomaa, että tällaiset menetelmät voivat aiheuttaa maksuja Amazon S3:ssa tiedonsiirto.

Myös töiden käsittely tukee Putkitila. Tällä menetelmällä SageMaker suoratoistaa syötetiedot lähteestä suoraan prosessointisäiliöösi nimettyihin putkiin käyttämättä ML-tallennustilaa, mikä eliminoi tiedon latausajan ja pienentää levytilavuutta. Tämä vaatii kuitenkin monimutkaisempaa ohjelmointimallia kuin pelkkä levyltä olevien tiedostojen lukeminen.

Kuten aiemmin mainittiin, SageMaker Processing tukee myös Athenaa ja Amazon Redshiftiä tietolähteinä. Kun määrität käsittelytyötä näillä lähteillä, SageMaker kopioi tiedot automaattisesti Amazon S3:lle ja prosessointiinstanssi hakee tiedot Amazon S3 -sijainnista. Kuitenkin, kun työ on valmis, hallittua puhdistusprosessia ei ole ja kopioidut tiedot säilyvät edelleen Amazon S3:ssa ja niistä voi aiheutua ei-toivottuja tallennuskuluja. Siksi, kun käytät Athena- ja Amazon Redshift -tietolähteitä, varmista, että käytät puhdistusmenettelyä, kuten Lambda-toimintoa, joka kulkee aikataulun mukaan tai a Lambda askel osana SageMaker-putkia.

Kuten lataaminen, myös käsittelyn artefaktien lataaminen voi olla optimointimahdollisuus. Kun käsittelytyön tulos on määritetty käyttämällä ProcessingS3Output parametri, voit määrittää mikä S3UploadMode käyttää. S3UploadMode parametrin oletusarvo on EndOfJob, joka saa SageMakerin lataamaan tulokset työn valmistuttua. Jos käsittelytyö kuitenkin tuottaa useita tiedostoja, voit määrittää S3UploadMode että Continuous, mikä mahdollistaa artefaktien lataamisen samanaikaisesti käsittelyn jatkuessa ja lyhentää työn suoritusaikaa.

Oikean kokoiset käsittelytyön esiintymät

Oikean ilmentymän tyypin ja koon valinta on tärkeä tekijä SageMaker Processing -töiden kustannusten optimoinnissa. Voit muuttaa ilmentymän oikean kokoiseksi siirtymällä toiseen versioon saman ilmentymäperheen sisällä tai siirtymällä toiseen ilmentymäperheeseen. Kun siirryt saman ilmentymäperheen sisällä, sinun on otettava huomioon vain CPU/GPU ja muisti. Lisätietoja ja yleisiä ohjeita oikeiden käsittelyresurssien valitsemisesta on kohdassa Varmista tehokkaat laskentaresurssit Amazon SageMakerissa.

Instanssien valinnan hienosäätöä varten aloitamme analysoimalla CloudWatchin Prosessointitöiden mittareita. Lisätietoja on kohdassa Seuraa Amazon SageMakeria Amazon CloudWatch -sovelluksella.

CloudWatch kerää raakadataa SageMakerista ja käsittelee ne luettavissa oleviksi, lähes reaaliaikaisiksi mittareiksi. Vaikka näitä tilastoja säilytetään 15 kuukautta, CloudWatch-konsoli rajoittaa haun mittareihin, jotka on päivitetty viimeisen 2 viikon aikana (tämä varmistaa, että vain nykyiset työt näytetään). Käsittelytöiden tiedot löytyvät nimiavaruudesta /aws/sagemaker/ProcessingJobs, ja kerätyt tiedot ovat CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilizationja DiskUtilization.

Seuraava kuvakaappaus näyttää esimerkin CloudWatchissa aiemmin näkemästämme käsittelytyöstä.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Tässä esimerkissä näemme keskimääräiset suorittimen ja muistin arvot (joka on CloudWatchin oletusarvo): keskimääräinen suorittimen käyttö on 0.04 %, muisti 1.84 % ja levyn käyttö 13.7 %. Oikean koon saavuttamiseksi on aina otettava huomioon suorittimen ja muistin maksimikäyttö (tässä esimerkissä suorittimen maksimikäyttö oli 98 % ensimmäisten 3 minuutin aikana). Yleissääntönä on, että jos maksimi suorittimen ja muistin käyttö on jatkuvasti alle 40 %, voit leikata koneen turvallisesti puoliksi. Jos esimerkiksi käytit ml.c5.4xlarge-instanssia, voit siirtyä ml.c5.2xlarge-instanssiin, mikä voi vähentää kustannuksia 50 %.

Data Wrangler työpaikan

Data Wrangler on ominaisuus Amazon SageMaker Studio joka tarjoaa toistettavan ja skaalautuvan ratkaisun tietojen tutkimiseen ja käsittelyyn. Käytät Data Wrangler -käyttöliittymää tietojen tuomiseen, analysoimiseen, muuntamiseen ja esittelyyn interaktiivisesti. Nämä vaiheet on tallennettu reseptiin (.flow-tiedostoon), jota voit sitten käyttää Data Wrangler -työssä. Tämä auttaa sinua käyttämään uudelleen samoja datamuunnoksia tiedoissasi ja myös skaalata hajautettuun eräkäsittelytyöhön joko osana ML-liukuhihnaa tai itsenäisesti.

Ohjeita Data Wrangler -sovelluksen optimointiin Studiossa on tämän sarjan osassa 2.

Tässä osiossa keskitymme Data Wrangler -töiden optimointiin.

Data Wrangler käyttää SageMaker Spark -käsittelytyöt Data Wranglerin hallinnoimalla säilöllä. Tämä säilö suorittaa ohjeita työn .flow-tiedostosta. Kuten kaikki käsittelytyöt, Data Wrangler veloittaa sinua valitsemistasi instansseista käytön keston ja kyseiseen ilmentymään liitetyn tallennustilan perusteella.

Cost Explorerissa voit suodattaa Data Wrangler -töiden kustannuksia käyttämällä suodatinta käyttötyypin mukaan. Näiden käyttötyyppien nimet ovat:

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

Jos haluat tarkastella Data Wrangler -kustannuksiasi Cost Explorerissa, suodata palvelu käyttämään SageMakeria ja varten Käyttötyyppi, Valitse processing_DW etuliite ja valitse luettelo valikosta. Tämä näyttää sekä ilmentymän käyttöön (tuntia) että tallennusmäärään (GB) liittyvät kulut. (Jos haluat nähdä Studio Data Wranglerin kustannukset, voit suodattaa käyttötyypin Studio_DW etuliite.)

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Oikean kokoinen ja ajoita Data Wrangler -työesiintymiä

Tällä hetkellä Data Wrangler tukee vain m5-esiintymiä seuraavilla instanssikooilla: ml.m5.4xlarge, ml.m5.12xlarge ja ml.m5.24xlarge. Hajautetun työn ominaisuuden avulla voit hienosäätää työkustannuksiasi. Oletetaan esimerkiksi, että sinun on käsiteltävä tietojoukko, joka vaatii 350 GiB RAM-muistia. 4xlarge (128 GiB) ja 12xlarge (256 GiB) eivät ehkä pysty käsittelemään, ja joudut käyttämään m5.24xlarge-instanssia (768 GiB). Voit kuitenkin käyttää kahta m5.12xsuuria esiintymää (2 * 256 GiB = 512 GiB) ja alentaa kustannuksia 40 % tai kolmea m5.4xsuuria kappaletta (3 * 128 GiB = 384 GiB) ja säästää 50 % m5.24xlargesta. esimerkkikustannukset. Huomaa, että nämä ovat arvioita ja että hajautettu käsittely saattaa aiheuttaa yleiskustannuksia, jotka vaikuttavat yleiseen suoritusaikaan.

Kun vaihdat ilmentymän tyyppiä, varmista, että päivität Spark kokoonpano asianmukaisesti. Jos sinulla on esimerkiksi alkuperäinen ml.m5.4xlarge ilmentymätyö, joka on määritetty ominaisuuksilla spark.driver.memory asetettu 2048 ja spark.executor.memory asetettu arvoon 55742 ja myöhemmin skaalata ml.m5.12xlarge, näitä konfiguraatioarvoja on lisättävä, muuten ne muodostavat käsittelytyön pullonkaulan. Voit päivittää nämä muuttujat Data Wrangler -käyttöliittymässä tai konfigurointipolkuun liitetyssä konfiguraatiotiedostossa (katso seuraavat esimerkit).

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Toinen Data Wranglerin houkutteleva ominaisuus on kyky määritä ajoitettu työ. Jos käsittelet tietoja säännöllisesti, voit luoda aikataulun käsittelytyön suorittamiseksi automaattisesti. Voit esimerkiksi luoda aikataulun, joka suorittaa käsittelytyön automaattisesti, kun saat uusia tietoja (katso esimerkkejä Vie Amazon S3:een or Vie Amazon SageMaker Feature Storeen). Huomaa kuitenkin, että kun luot aikataulun, Data Wrangler luo eventRule EventBridgessä. Tämä tarkoittaa, että sinua veloitetaan myös luomistasi tapahtumasäännöistä (sekä esiintymistä, joita käytetään käsittelytyön suorittamiseen). Katso lisätietoja Amazon EventBridge -hinnoittelu.

Yhteenveto

Tässä viestissä annoimme opastusta kustannusanalyysiin ja esikäsittelyn parhaisiin käytäntöihin

tietoja käyttämällä SageMaker Processing- ja Data Wrangler -töitä. Esikäsittelyn tapaan ML-mallien rakentamisessa, koulutuksessa ja käytössä on monia vaihtoehtoja ja konfigurointiasetuksia, jotka voivat aiheuttaa tarpeettomia kustannuksia. Siksi, kun koneoppimisesta tulee tehokas työkalu kaikilla toimialoilla, ML-työkuormien on pysyttävä kustannustehokkaina.

SageMaker tarjoaa laajan ja syvän ominaisuusjoukon helpottaakseen jokaista ML-prosessin vaihetta.

Tämä kestävyys tarjoaa myös jatkuvia kustannusoptimointimahdollisuuksia suorituskyvystä tai ketteryydestä tinkimättä.


Tietoja Tekijät

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Deepali Rajale on AWS:n vanhempi AI/ML-asiantuntija. Hän työskentelee yritysasiakkaiden kanssa ja tarjoaa teknisiä ohjeita parhaista käytännöistä AI/ML-ratkaisujen käyttöönotossa ja ylläpidossa AWS-ekosysteemissä. Hän on työskennellyt useiden organisaatioiden kanssa erilaisissa syväoppimisen käyttötapauksissa, joihin liittyy NLP ja tietokonenäkö. Hän haluaa antaa organisaatioille mahdollisuuden hyödyntää luovaa tekoälyä käyttökokemuksensa parantamiseksi. Vapaa-ajallaan hän nauttii elokuvista, musiikista ja kirjallisuudesta.

Analysoi Amazon SageMakerin kulutusta ja määritä kustannusten optimointimahdollisuudet käytön perusteella, Osa 3: Käsittely ja Data Wrangler -työt | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Uri Rosenberg on AI & ML Specialist Technical Manager Euroopassa, Lähi-idässä ja Afrikassa. Israelin ulkopuolella sijaitseva Uri pyrkii antamaan yritysasiakkaille mahdollisuuden kaikessa ML:n suunnittelussa, rakentamisessa ja toiminnassa mittakaavassa. Vapaa-ajallaan hän harrastaa pyöräilyä, patikointia ja auringonlaskujen katselua (vähintään kerran päivässä).

Aikaleima:

Lisää aiheesta AWS-koneoppiminen