Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services

I 2021 lanserte vi AWS-støtte proaktive tjenester som en del av AWS Enterprise Support plan. Siden introduksjonen har vi hjulpet hundrevis av kunder med å optimalisere arbeidsbelastningen, sette rekkverk og forbedre synligheten av maskinlæringsarbeidsbelastningens kostnader og bruk.

I denne serien med innlegg deler vi erfaringer om å optimalisere kostnader i Amazon SageMaker. I dette innlegget fokuserer vi på SageMaker-treningsjobber.

SageMaker treningsjobber

SageMaker-opplæringsjobber er asynkrone batch-prosesser med innebygde funksjoner for opplæring og optimalisering av ML-modeller.

Med SageMaker treningsjobber kan du ta med din egen algoritme eller velge mellom mer enn 25 innebygde algoritmer. SageMaker støtter ulike datakilder og tilgangsmønstre, distribuert opplæring inkludert heterogene klynger, samt eksperimentadministrasjonsfunksjoner og automatisk modellinnstilling.

Kostnaden for en opplæringsjobb er basert på ressursene du bruker (forekomster og lagring) for varigheten (i sekunder) som disse forekomstene kjører. Dette inkluderer tiden treningen finner sted og, hvis du bruker varm bassengfunksjon, hold i live-perioden du konfigurerer. I Del 1, viste vi hvordan du kommer i gang med å bruke AWS Cost Explorer for å identifisere kostnadsoptimeringsmuligheter i SageMaker. Du kan filtrere treningskostnader ved å bruke et filter på brukstypen. Navnene på disse brukstypene er som følger:

  • REGION-Train:instanceType (for eksempel, USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (for eksempel, USE1-Train:VolumeUsage.gp2)

For å se en oversikt over treningskostnadene dine i Cost Explorer, kan du gå inn train: som prefiks for Brukstype. Hvis du kun filtrerer for brukte timer (se følgende skjermbilde), vil Cost Explorer generere to grafer: Cost og Usage. Denne visningen vil hjelpe deg med å prioritere optimaliseringsmulighetene dine og identifisere hvilke forekomster som er langvarige og kostbare.

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Før du optimaliserer en eksisterende treningsjobb, anbefaler vi å følge de beste fremgangsmåtene som er dekket i Optimalisering av kostnader for maskinlæring med Amazon SageMaker: test koden din lokalt og bruk lokal modus for testing, bruk forhåndstrente modeller der det er mulig, og vurder klarte spot trening (som kan optimalisere kostnadene med opptil 90 % over On-Demand-forekomster).

Når en On-Demand-jobb startes, går den gjennom fem faser: Start, Nedlasting, Opplæring, Opplasting og Fullført. Du kan se disse fasene og beskrivelsene på treningsjobbens side på SageMaker-konsollen.

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Fra et prisperspektiv blir du belastet for nedlastings-, opplærings- og opplastingsfasene.

Gjennomgang av disse fasene er et første skritt for å diagnostisere hvor du kan optimalisere treningskostnadene dine. I dette innlegget diskuterer vi nedlastings- og opplæringsfasene.

Nedlastingsfase

I det foregående eksemplet tok nedlastingsfasen mindre enn ett minutt. Men hvis datanedlasting er en stor faktor for treningskostnadene dine, bør du vurdere datakilden du bruker og få tilgang til metoder. SageMaker opplæringsjobber støtter tre datakilder innebygd: Amazon elastisk filsystem (Amazon EFS), Amazon enkel lagringstjeneste (Amazon S3), og Amazon FSx for Luster. For Amazon S3 tilbyr SageMaker tre administrerte måter som algoritmen din kan få tilgang til opplæringen på: Filmodus (hvor data lastes ned til forekomstblokklagringen), Pipe-modus (data strømmes til forekomsten, og eliminerer dermed varigheten av nedlastingsfasen) og Fast File-modus (kombinerer brukervennligheten til den eksisterende filmodusen med ytelsen til Pipe-modus). For detaljert veiledning om valg av riktig datakilde og tilgangsmetoder, se Velg den beste datakilden for din Amazon SageMaker-opplæringsjobb.

Når du bruker administrert punkttrening, belastes ikke gjentatte nedlastingsfaser som skjedde på grunn av avbrudd (slik at du bare belastes for varigheten av datanedlastingen én gang).

Det er viktig å merke seg at selv om SageMaker opplæringsjobber støtter datakildene vi nevnte, er de ikke obligatoriske. I treningskoden din kan du implementere hvilken som helst metode for å laste ned treningsdataene fra en hvilken som helst kilde (forutsatt at treningsinstansen har tilgang til den). Det er flere måter å øke nedlastingstiden på, for eksempel å bruke Boto3 API med multiprosessering for å laste ned filer samtidig, eller å bruke tredjepartsbiblioteker som WebDataset eller s5cmd for raskere nedlasting fra Amazon S3. For mer informasjon, se Parallelliserer S3-arbeidsbelastninger med s5cmd.

Treningsfase

Optimalisering av treningsfasens kostnad består i å optimalisere to vektorer: å velge riktig infrastruktur (forekomstfamilie og størrelse), og å optimalisere selve treningen. Vi kan grovt sett dele treningsinstanser inn i to kategorier: akselerert GPU-basert, mest for dyplæringsmodeller, og CPU-basert for vanlige ML-rammeverk. For veiledning om valg av riktig instansfamilie for trening, se Sørg for effektive dataressurser på Amazon SageMaker. Hvis treningen din krever GPU-forekomster, anbefaler vi å se videoen Hvordan velge Amazon EC2 GPU-forekomster for dyp læring.

Som en generell veiledning, hvis arbeidsmengden din krever en NVIDIA GPU, fant vi at kundene oppnår betydelige kostnadsbesparelser med to Amazon Elastic Compute Cloud (Amazon EC2) forekomsttyper: ml.g4dn og ml.g5. ml.g4dn er utstyrt med NVIDIA T4 og tilbyr en spesielt lav kostnad per minne. ml.g5-forekomsten er utstyrt med NVIDIA A10g Tensor Core og har den laveste kostnaden per CUDA-flopp (fp32).

AWS tilbyr spesifikke kostnadsbesparende funksjoner for dyp læringstrening:

For å justere størrelsen på og optimalisere forekomsten din, bør du først se på Amazon CloudWatch beregninger treningsjobbene genererer. For mer informasjon, se SageMaker-jobber og endepunktmålinger. Du kan bruke CloudWatch videre tilpassede algoritmeberegninger for å overvåke treningsytelsen.

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Disse beregningene kan indikere flaskehalser eller overforsyning av ressurser. For eksempel, hvis du observerer høy CPU med lav GPU-bruk, kan du løse problemet ved å bruke heterogene klynger. Et annet eksempel kan være å se konsekvent lav CPU-utnyttelse gjennom hele jobbens varighet – dette kan føre til å redusere størrelsen på forekomsten.

Hvis du bruker distribuert opplæring, bør du teste forskjellige distribusjonsmetoder (tårn, Ring-AllReduce, speilet, og så videre) for å validere maksimal utnyttelse og finjustere rammeverkets parametere deretter (se for eksempel Beste praksis for TensorFlow 1.x akselerasjonstrening på Amazon SageMaker). Det er viktig å fremheve at du kan bruke SageMaker distribusjons-API og biblioteker som SageMaker distribuert data parallelt, SageMaker Model Parallelog SageMaker Sharded Data Parallel, som er optimalisert for AWS-infrastruktur og bidrar til å redusere treningskostnadene.

Vær oppmerksom på at distribuert trening ikke nødvendigvis skaleres lineært og kan introdusere noen overhead, noe som vil påvirke den totale kjøretiden.

For dyplæringsmodeller er en annen optimaliseringsteknikk å bruke blandet presisjon. Blandet presisjon kan øke hastigheten på treningen, og dermed redusere både treningstid og minnebruk med minimal eller ingen innvirkning på modellens nøyaktighet. For mer informasjon, se Tren med Data Parallell og Model Parallel delen i Distribuert opplæring i Amazon SageMaker.

Til slutt kan optimalisering av rammespesifikke parametere ha en betydelig innvirkning på å optimalisere treningsprosessen. SageMaker automatisk modellinnstilling finner hyperparametere som gir best resultater, målt med en objektiv beregning du velger. Å angi treningstiden som en objektiv beregning og rammekonfigurasjon som hyperparametre kan bidra til å fjerne flaskehalser og redusere den totale treningstiden. For et eksempel på optimalisering av standard TensorFlow-innstillinger og fjerning av en CPU-flaskehals, se Aerobotics forbedrer treningshastigheten med 24 ganger per prøve med Amazon SageMaker og TensorFlow.

En annen mulighet for å optimalisere både nedlastings- og behandlingstiden er å vurdere opplæring på en delmengde av dataene dine. Hvis dataene dine består av flere dupliserte oppføringer eller funksjoner med lav informasjonsgevinst, kan du kanskje trene på et delsett av data og redusere nedlastings- og treningstiden, samt bruke en mindre forekomst og Amazon Elastic Block Store (Amazon EBS) volum. For et eksempel, se Bruk en datasentrisk tilnærming for å minimere mengden data som kreves for å trene Amazon SageMaker-modeller. Også, Amazon SageMaker Data Wrangler kan forenkle analysen og opprettelsen av treningsprøver. For mer informasjon, se Lag tilfeldige og stratifiserte dataprøver med Amazon SageMaker Data Wrangler.

SageMaker Debugger

For å sikre effektiv opplæring og ressursutnyttelse kan SageMaker profilere treningsjobben din vha Amazon SageMaker Debugger. Debugger-tilbud innebygde regler for å varsle om vanlige problemer som påvirker treningen din, som CPU-flaskehals, GPU-minneøkning eller I/O-flaskehals, eller du kan lage dine egne regler. Du kan få tilgang til og analysere den genererte rapporten i Amazon SageMaker Studio. For mer informasjon, se Amazon SageMaker Debugger UI i Amazon SageMaker Studio Experiments. Følgende skjermbilde viser feilsøkingsvisningen i Studio.

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan se nærmere på Python-operatorene og funksjonene (den Toppoperasjoner på GPU seksjon) som kjøres for å utføre opplæringsjobben. De innebygde feilsøkingsreglene for profilering av driftsrelaterte problemer knyttet til overvåkingsrammeverk, inkludert overdreven opplæringsinitialiseringstid på grunn av datanedlasting før treningsstart og skrittvarighet i treningsløkker. Du bør merke deg at selv om bruk av de innebygde reglene er gratis, gjelder kostnader for egendefinerte regler basert på forekomsten du konfigurerer for varigheten av treningsjobben og lagringen som er knyttet til den.

konklusjonen

I dette innlegget ga vi veiledning om kostnadsanalyse og beste praksis ved opplæring av ML-modeller ved bruk av SageMaker-treningsjobber. Ettersom maskinlæring etablerer seg som et kraftig verktøy på tvers av bransjer, må opplæring og kjøring av ML-modeller forbli kostnadseffektivt. SageMaker tilbyr et bredt og dypt funksjonssett for å forenkle hvert trinn i ML-pipelinen og gir kostnadsoptimaliseringsmuligheter uten å påvirke ytelsen eller smidigheten.


Om forfatterne

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Deepali Rajale er senior AI/ML-spesialist hos AWS. Hun jobber med bedriftskunder som gir teknisk veiledning med beste praksis for distribusjon og vedlikehold av AI/ML-løsninger i AWS-økosystemet. Hun har jobbet med et bredt spekter av organisasjoner på ulike brukssaker for dyp læring som involverer NLP og datasyn. Hun brenner for å gi organisasjoner mulighet til å utnytte generativ AI for å forbedre brukeropplevelsen deres. På fritiden liker hun film, musikk og litteratur.

Analyser Amazon SageMakers forbruk og finn kostnadsoptimaliseringsmuligheter basert på bruk, del 4: Opplæringsjobber | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Uri Rosenberg er AI & ML Specialist Technical Manager for Europa, Midtøsten og Afrika. Basert fra Israel, jobber Uri for å gi bedriftskunder i stand til å designe, bygge og drive i stor skala på alt innen ML. På fritiden liker han å sykle, gå på fotturer og øke entropien.

Tidstempel:

Mer fra AWS maskinlæring