Analyser Amazon SageMakers forbrug og bestem omkostningsoptimeringsmuligheder baseret på brug, Del 4: Træningsjob | Amazon Web Services

Analyser Amazon SageMakers forbrug og bestem omkostningsoptimeringsmuligheder baseret på brug, Del 4: Træningsjob | Amazon Web Services

I 2021 lancerede vi AWS Support Proactive Services som en del af AWS Enterprise Support plan. Siden introduktionen har vi hjulpet hundredvis af kunder med at optimere deres arbejdsbelastninger, sætte autoværn og forbedre synligheden af ​​deres maskinlærings (ML) arbejdsbelastningers omkostninger og brug.

I denne serie af indlæg deler vi erfaringer om optimering af omkostninger i Amazon SageMaker. I dette indlæg fokuserer vi på SageMaker træningsjob.

SageMaker uddannelse job

SageMaker træningsjob er asynkrone batch-processer med indbyggede funktioner til træning og optimering af ML-modeller.

Med SageMaker træningsjob kan du medbringe din egen algoritme eller vælge mellem mere end 25 indbyggede algoritmer. SageMaker understøtter forskellige datakilder og adgangsmønstre, distribueret træning inklusive heterogene klynger, samt eksperimentstyringsfunktioner og automatisk modeljustering.

Omkostningerne ved et træningsjob er baseret på de ressourcer, du bruger (forekomster og lager) i den varighed (i sekunder), som disse forekomster kører. Dette inkluderer den tid, træning finder sted, og hvis du bruger varm pool funktion, Hold i live-perioden, du konfigurerer. I del 1, viste vi, hvordan du kommer i gang med at bruge AWS Cost Explorer at identificere omkostningsoptimeringsmuligheder i SageMaker. Du kan filtrere uddannelsesomkostninger ved at anvende et filter på brugstypen. Navnene på disse brugstyper 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 at se en oversigt over dine træningsomkostninger i Cost Explorer, kan du indtaste train: som præfiks for Brugstype. Hvis du kun filtrerer efter brugte timer (se følgende skærmbillede), vil Cost Explorer generere to grafer: Cost og Usage. Denne visning hjælper dig med at prioritere dine optimeringsmuligheder og identificere, hvilke instanser der er langvarige og dyre.

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.

Før du optimerer et eksisterende træningsjob, anbefaler vi at følge de bedste praksisser, der er dækket af Optimering af omkostninger til maskinlæring med Amazon SageMaker: test din kode lokalt og brug Lokal tilstand til test, brug præ-trænede modeller, hvor det er muligt, og overvej styret spottræning (som kan optimere omkostningerne op til 90 % i forhold til On-Demand-instanser).

Når et On-Demand-job lanceres, gennemgår det fem faser: Start, Download, Træning, Upload og Fuldført. Du kan se disse faser og beskrivelser på træningsjobbets side på SageMaker-konsollen.

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.

Fra et prissætningsperspektiv bliver du opkrævet for download-, trænings- og uploadfaser.

Gennemgang af disse faser er et første skridt i at diagnosticere, hvor du kan optimere dine træningsomkostninger. I dette indlæg diskuterer vi download- og træningsfaserne.

Downloadfase

I det foregående eksempel tog downloadfasen mindre end et minut. Men hvis datadownload er en stor faktor for dine træningsomkostninger, bør du overveje den datakilde, du bruger, og få adgang til metoderne. SageMaker træningsjob understøtter tre datakilder indbygget: Amazon Elastic File System (Amazon EFS), Amazon Simple Storage Service (Amazon S3), og Amazon FSx til Luster. For Amazon S3 tilbyder SageMaker tre administrerede måder, som din algoritme kan få adgang til træningen på: Filtilstand (hvor data downloades til instansens bloklager), Pipe-tilstand (data streames til instansen, hvorved varigheden af ​​downloadfasen elimineres) og Fast File-tilstand (kombinerer brugervenligheden af ​​den eksisterende File-tilstand med ydeevnen af ​​Pipe-tilstand). For detaljeret vejledning om valg af den rigtige datakilde og adgangsmetoder henvises til Vælg den bedste datakilde til dit Amazon SageMaker-uddannelsesjob.

Når du bruger administreret punkttræning, bliver gentagne downloadfaser, der opstod på grund af afbrydelse, ikke opkrævet (så du bliver kun debiteret for varigheden af ​​dataoverførslen én gang).

Det er vigtigt at bemærke, at selvom SageMaker træningsjob understøtter de datakilder, vi nævnte, er de ikke obligatoriske. I din træningskode kan du implementere enhver metode til at downloade træningsdataene fra enhver kilde (forudsat at træningsinstansen kan få adgang til dem). Der er yderligere måder at fremskynde downloadtiden på, såsom at bruge Boto3 API med multiprocessing til at downloade filer samtidigt, eller at bruge tredjepartsbiblioteker såsom WebDataset eller s5cmd for hurtigere download fra Amazon S3. For mere information, se Parallellering af S3-arbejdsbelastninger med s5cmd.

Træningsfase

Optimering af træningsfasens omkostninger består i at optimere to vektorer: at vælge den rigtige infrastruktur (instansfamilie og størrelse) og at optimere selve træningen. Vi kan groft opdele træningsinstanser i to kategorier: accelereret GPU-baseret, for det meste til deep-learning-modeller, og CPU-baseret til almindelige ML-frameworks. For vejledning om valg af den rigtige instansfamilie til træning, se Sørg for effektive computerressourcer på Amazon SageMaker. Hvis din træning kræver GPU-forekomster, anbefaler vi at henvise til videoen Sådan vælger du Amazon EC2 GPU-instanser til dyb læring.

Som en generel vejledning, hvis din arbejdsbyrde kræver en NVIDIA GPU, fandt vi ud af, at kunderne opnår betydelige omkostningsbesparelser med to Amazon Elastic Compute Cloud (Amazon EC2) instanstyper: ml.g4dn , ml.g5. ml.g4dn er udstyret med NVIDIA T4 og tilbyder en særlig lav pris pr. hukommelse. ml.g5-instansen er udstyret med NVIDIA A10g Tensor Core og har den laveste pris pr. CUDA-flop (fp32).

AWS tilbyder specifikke omkostningsbesparende funktioner til dyb læringstræning:

For at rette størrelse og optimere din instans, bør du først se på amazoncloudwatch målinger, som uddannelsesjob genererer. For mere information, se SageMaker Jobs og Endpoint Metrics. Du kan yderligere bruge CloudWatch tilpassede algoritmemålinger til at overvåge træningspræstationen.

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.

Disse målinger kan indikere flaskehalse eller overforsyning af ressourcer. For eksempel, hvis du observerer høj CPU med lav GPU-udnyttelse, kan du løse problemet ved at bruge heterogene klynger. Et andet eksempel kan være konsekvent lav CPU-udnyttelse gennem hele jobbets varighed - dette kan føre til at reducere størrelsen af ​​forekomsten.

Hvis du bruger distribueret træning, bør du teste forskellige distributionsmetoder (tårn, Ring-AllReduce, spejlvendt, og så videre) for at validere maksimal udnyttelse og finjustere dine rammeparametre i overensstemmelse hermed (se f.eks. Bedste praksis for TensorFlow 1.x accelerationstræning på Amazon SageMaker). Det er vigtigt at fremhæve, at du kan bruge SageMaker distribution API og biblioteker som SageMaker distribueret data parallelt, SageMaker Model Parallelog SageMaker Sharded Data Parallel, som er optimeret til AWS-infrastruktur og hjælper med at reducere uddannelsesomkostninger.

Bemærk, at distribueret træning ikke nødvendigvis skaleres lineært og kan introducere nogle overhead, som vil påvirke den samlede kørselstid.

For dybe læringsmodeller er en anden optimeringsteknik at bruge blandet præcision. Blandet præcision kan fremskynde træningen og derved reducere både træningstid og hukommelsesforbrug med minimal eller ingen indflydelse på modellens nøjagtighed. For mere information, se Træn med Data Parallel og Model Parallel afsnit i Distribueret træning i Amazon SageMaker.

Endelig kan optimering af rammespecifikke parametre have en væsentlig indflydelse på optimering af træningsprocessen. SageMaker automatisk model tuning finder hyperparametre, der yder bedst, målt ved en objektiv metrik, som du vælger. Indstilling af træningstiden som en objektiv metrik og rammekonfiguration som hyperparametre kan hjælpe med at fjerne flaskehalse og reducere den samlede træningstid. For et eksempel på optimering af standard TensorFlow-indstillinger og fjernelse af en CPU-flaskehals, se Aerobotics forbedrer træningshastigheden med 24 gange pr. prøve med Amazon SageMaker og TensorFlow.

En anden mulighed for at optimere både download- og behandlingstid er at overveje at træne på en delmængde af dine data. Hvis dine data består af flere duplikerede poster eller funktioner med lav informationsgevinst, kan du muligvis træne på en delmængde af data og reducere download- og træningstid samt bruge en mindre instans og Amazon Elastic Block Store (Amazon EBS) volumen. For et eksempel henvises til Brug en datacentreret tilgang til at minimere mængden af ​​data, der kræves for at træne Amazon SageMaker-modeller. Også, Amazon SageMaker Data Wrangler kan forenkle analysen og oprettelsen af ​​træningsprøver. For mere information, se Opret tilfældige og stratificerede prøver af data med Amazon SageMaker Data Wrangler.

SageMaker Debugger

For at sikre effektiv træning og ressourceudnyttelse kan SageMaker profilere dit træningsjob vha Amazon SageMaker Debugger. Debugger tilbud indbyggede regler for at advare om almindelige problemer, der påvirker din træning, såsom CPU-flaskehals, GPU-hukommelsesforøgelse eller I/O-flaskehals, eller du kan oprette dine egne regler. Du kan få adgang til og analysere den genererede rapport i Amazon SageMaker Studio. For mere information, se Amazon SageMaker Debugger UI i Amazon SageMaker Studio Experiments. Følgende skærmbillede viser Debugger-visningen i Studio.

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.

Du kan bore ned i Python-operatorerne og funktionerne (den Tophandlinger på GPU afsnit), der køres for at udføre træningsjobbet. De indbyggede Debugger-regler for profilering af overvågningsrammedriftsrelaterede problemer, inklusive overdreven træningsinitialiseringstid på grund af datadownload før træningsstart og trinvarighedsoutlier i træningsløkker. Du skal bemærke, at selvom det er gratis at bruge de indbyggede regler, gælder omkostningerne for brugerdefinerede regler baseret på den instans, du konfigurerer for varigheden af ​​træningsjob og lager, der er knyttet til det.

Konklusion

I dette indlæg gav vi vejledning om omkostningsanalyse og bedste praksis ved træning af ML-modeller ved hjælp af SageMaker træningsjob. Da maskinlæring etablerer sig som et kraftfuldt værktøj på tværs af brancher, skal træning og drift af ML-modeller forblive omkostningseffektivt. SageMaker tilbyder et bredt og dybt funktionssæt til at lette hvert trin i ML-pipelinen og giver muligheder for omkostningsoptimering uden at påvirke ydeevne eller smidighed.


Om forfatterne

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 er Senior AI/ML Specialist hos AWS. Hun arbejder med virksomhedskunder, der giver teknisk vejledning med bedste praksis for implementering og vedligeholdelse af AI/ML-løsninger i AWS-økosystemet. Hun har arbejdet med en bred vifte af organisationer på forskellige deep learning use cases, der involverer NLP og computervision. Hun brænder for at give organisationer mulighed for at udnytte generativ AI til at forbedre deres brugsoplevelse. I sin fritid nyder hun film, musik og litteratur.

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 er AI & ML Specialist Technical Manager for Europa, Mellemøsten og Afrika. Med base i Israel arbejder Uri på at give virksomhedskunder i stand til at designe, bygge og drive i stor skala, hvad angår ML. I sin fritid nyder han at cykle, vandre og øge entropien.

Tidsstempel:

Mere fra AWS maskinindlæring