Analizirajte porabo Amazon SageMaker in določite možnosti za optimizacijo stroškov na podlagi uporabe, 4. del: Delovna mesta za usposabljanje | Spletne storitve Amazon

Analizirajte porabo Amazon SageMaker in določite možnosti za optimizacijo stroškov na podlagi uporabe, 4. del: Delovna mesta za usposabljanje | Spletne storitve Amazon

Leta 2021 smo lansirali Proaktivne storitve podpore AWS kot del Podpora za podjetja AWS načrt. Od njegove uvedbe smo stotinam strank pomagali optimizirati njihove delovne obremenitve, postaviti zaščitne ograje in izboljšati vidnost stroškov in uporabe njihovih delovnih obremenitev strojnega učenja (ML).

V tej seriji objav delimo pridobljene izkušnje o optimizaciji stroškov v Amazon SageMaker. V tej objavi se osredotočamo na delovna mesta za usposabljanje SageMaker.

Usposabljanje SageMaker

Učna opravila SageMaker so asinhroni paketni procesi z vgrajenimi funkcijami za usposabljanje in optimizacijo modela ML.

Z izobraževalnimi opravili SageMaker lahko prinesete svoj algoritem ali izbirate med več kot 25 vgrajenimi algoritmi. SageMaker podpira različne vire podatkov in vzorce dostopa, porazdeljeno usposabljanje, vključno s heterogenimi grozdi, kot tudi funkcije upravljanja eksperimentov in samodejno prilagajanje modela.

Stroški učnega opravila temeljijo na virih, ki jih uporabljate (instance in shramba) v času (v sekundah), ko se te instance izvajajo. To vključuje čas usposabljanja in, če uporabljate funkcija toplega bazena, obdobje vzdrževanja, ki ga konfigurirate. notri Del 1, smo pokazali, kako začeti uporabljati Raziskovalec stroškov AWS za prepoznavanje priložnosti za optimizacijo stroškov v SageMakerju. Stroške usposabljanja lahko filtrirate tako, da uporabite filter za vrsto uporabe. Imena teh vrst uporabe so naslednja:

  • REGION-Train:instanceType (npr. USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (npr. USE1-Train:VolumeUsage.gp2)

Če si želite ogledati razčlenitev stroškov usposabljanja v Cost Explorerju, lahko vnesete train: kot predpono za Vrsta uporabe. Če filtrirate samo po uporabljenih urah (glejte naslednji posnetek zaslona), bo Cost Explorer ustvaril dva grafa: Cost in Usage. Ta pogled vam bo pomagal določiti prednostne priložnosti za optimizacijo in ugotoviti, kateri primeri so dolgotrajni in dragi.

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.

Preden optimizirate obstoječe delovno mesto usposabljanja, priporočamo, da upoštevate najboljše prakse, zajete v Optimizacija stroškov za strojno učenje z Amazon SageMaker: preizkusite kodo lokalno in jo uporabite lokalni način za testiranje uporabite vnaprej pripravljene modele, kjer je to mogoče, in razmislite voden trening na kraju samem (ki lahko optimizira stroške do 90 % v primerjavi z instancami na zahtevo).

Ko se opravilo na zahtevo zažene, gre skozi pet faz: začetek, prenos, usposabljanje, nalaganje in dokončanje. Te faze in opise si lahko ogledate na strani usposabljanja na konzoli SageMaker.

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.

Z vidika oblikovanja cen vam zaračunamo faze prenosa, usposabljanja in prenosa.

Pregled teh faz je prvi korak pri diagnosticiranju, kje optimizirati stroške usposabljanja. V tej objavi razpravljamo o fazah prenosa in usposabljanja.

Faza nalaganja

V prejšnjem primeru je faza prenosa trajala manj kot minuto. Če pa je prenos podatkov velik dejavnik stroškov vašega usposabljanja, razmislite o viru podatkov, ki ga uporabljate, in metodah dostopa. Izobraževalna opravila SageMaker izvorno podpirajo tri vire podatkov: Elastični datotečni sistem Amazon (Amazon EFS), Preprosta storitev shranjevanja Amazon (Amazon S3) in Amazon FSx za Luster. Za Amazon S3 SageMaker ponuja tri upravljane načine, na katere lahko vaš algoritem dostopa do usposabljanja: datotečni način (kjer se podatki prenesejo v shrambo blokov instance), cevni način (podatki se pretakajo v instanco, s čimer se odpravi trajanje faze prenosa) in Fast File mode (združuje enostavnost uporabe obstoječega načina File z zmogljivostjo načina Pipe). Za podrobna navodila o izbiri pravega vira podatkov in načinov dostopa glejte Izberite najboljši vir podatkov za svoje izobraževalno delo Amazon SageMaker.

Pri uporabi upravljanega usposabljanja na kraju samem se morebitne ponavljajoče se faze prenosa, do katerih je prišlo zaradi prekinitve, ne zaračunajo (torej vam zaračunamo samo trajanje enkratnega prenosa podatkov).

Pomembno je omeniti, da čeprav delovna mesta za usposabljanje SageMaker podpirajo vire podatkov, ki smo jih omenili, niso obvezna. V svoji vadbeni kodi lahko implementirate katero koli metodo za prenos podatkov o vadbi iz katerega koli vira (pod pogojem, da ima primerek vadbe dostop do njih). Obstajajo dodatni načini za pospešitev časa prenosa, kot je uporaba API-ja Boto3 z večprocesiranjem za sočasno prenašanje datotek ali uporaba knjižnic tretjih oseb, kot sta WebDataset ali s5cmd za hitrejši prenos iz Amazon S3. Za več informacij glejte Paralelizacija delovnih obremenitev S3 s s5cmd.

Faza usposabljanja

Optimizacija stroškov faze usposabljanja je sestavljena iz optimizacije dveh vektorjev: izbire prave infrastrukture (družine in velikosti primerkov) in optimizacije samega usposabljanja. Primere usposabljanja lahko grobo razdelimo v dve kategoriji: na osnovi pospešenega GPU-ja, večinoma za modele poglobljenega učenja, in na osnovi CPE-ja za običajna ogrodja ML. Za navodila o izbiri prave družine primerkov za usposabljanje glejte Zagotovite učinkovite računalniške vire na Amazon SageMaker. Če vaše usposabljanje zahteva primerke GPU, priporočamo, da si ogledate videoposnetek Kako izbrati primerke GPU Amazon EC2 za poglobljeno učenje.

Kot splošno vodilo, če vaša delovna obremenitev zahteva grafični procesor NVIDIA, smo ugotovili, da stranke znatno prihranijo stroške z dvema Amazonski elastični računalniški oblak (Amazon EC2) vrste primerkov: ml.g4dn in ml.g5. Ml.g4dn je opremljen z NVIDIA T4 in ponuja posebej nizko ceno na pomnilnik. Primerek ml.g5 je opremljen z NVIDIA A10g Tensor Core in ima najnižjo ceno na CUDA flop (fp32).

AWS ponuja posebne funkcije za prihranek stroškov za usposabljanje poglobljenega učenja:

Če želite ustrezno velikost in optimizirati svoj primerek, morate najprej pogledati amazoncloudwatch meritve, ki jih ustvarjajo delovna mesta za usposabljanje. Za več informacij glejte SageMaker Jobs and Endpoint Metrics. Dodatno lahko uporabljate CloudWatch meritve algoritma po meri za spremljanje uspešnosti treninga.

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.

Te meritve lahko kažejo na ozka grla ali prekomerno zagotavljanje virov. Če na primer opazite visoko porabo procesorja z nizko porabo grafičnega procesorja, lahko težavo odpravite z uporabo heterogeni grozdi. Drug primer je lahko dosledno nizka izkoriščenost procesorja skozi celotno trajanje opravila – to lahko privede do zmanjšanja velikosti primerka.

Če uporabljate razdeljeno usposabljanje, bi morali preizkusiti različne distribucijske metode (stolp, Ring-AllReduce, zrcaljenje itd.), da potrdite največjo izkoriščenost in ustrezno prilagodite svoje parametre ogrodja (za primer glejte Najboljše prakse za pospeševalno usposabljanje TensorFlow 1.x na Amazon SageMaker). Pomembno je poudariti, da lahko uporabljate API za distribucijo SageMaker in podobne knjižnice SageMaker Distributed Data Parallel, SageMaker Model Parallelin SageMaker Sharded Data Parallel, ki so optimizirani za infrastrukturo AWS in pomagajo zmanjšati stroške usposabljanja.

Upoštevajte, da porazdeljeno usposabljanje ni nujno linearno in lahko povzroči nekaj dodatnih stroškov, kar bo vplivalo na celoten čas izvajanja.

Za modele globokega učenja je druga tehnika optimizacije uporaba mešane natančnosti. Mešana natančnost lahko pospeši vadbo in tako skrajša čas vadbe in porabo pomnilnika z minimalnim ali nikakršnim vplivom na natančnost modela. Za več informacij glejte Usposabljanje s Data Parallel in Model Parallel oddelek v Porazdeljeno usposabljanje v Amazon SageMaker.

Končno ima lahko optimizacija parametrov, specifičnih za okvir, pomemben vpliv na optimizacijo procesa usposabljanja. Samodejno prilagajanje modela SageMaker poišče hiperparametre, ki so najboljši, merjeni z objektivno metriko, ki jo izberete. Nastavitev časa usposabljanja kot objektivne metrike in konfiguracije ogrodja kot hiperparametrov lahko pomaga odstraniti ozka grla in skrajšati skupni čas usposabljanja. Za primer optimizacije privzetih nastavitev TensorFlow in odstranjevanja ozkega grla CPE glejte Aerobotics izboljša hitrost treninga za 24-krat na vzorec z Amazon SageMaker in TensorFlow.

Druga priložnost za optimizacijo časa prenosa in obdelave je, da razmislite o usposabljanju na podnaboru vaših podatkov. Če so vaši podatki sestavljeni iz več podvojenih vnosov ali funkcij z nizkim pridobivanjem informacij, se boste morda lahko učili na podnaboru podatkov in skrajšali čas prenosa in usposabljanja ter uporabili manjši primerek in Trgovina z elastičnimi bloki Amazon (Amazon EBS). Za primer glejte Uporabite pristop, osredotočen na podatke, da zmanjšate količino podatkov, potrebnih za usposabljanje modelov Amazon SageMaker. Prav tako Amazon SageMaker Data Wrangler lahko poenostavi analizo in ustvarjanje vzorcev usposabljanja. Za več informacij glejte Ustvarite naključne in stratificirane vzorce podatkov z Amazon SageMaker Data Wrangler.

Odpravljalnik napak SageMaker

Za zagotovitev učinkovitega usposabljanja in uporabe virov lahko SageMaker profilira vaše usposabljanje z uporabo Napaka Amazon SageMaker. Ponudbe razhroščevalnika vgrajena pravila za opozarjanje na pogoste težave, ki vplivajo na vaše usposabljanje, kot so ozko grlo procesorja, povečanje pomnilnika GPE ali ozko grlo V/I, ali pa ustvarite lastna pravila. Do ustvarjenega poročila lahko dostopate in ga analizirate v Amazon SageMaker Studio. Za več informacij glejte Uporabniški vmesnik programa za odpravljanje napak Amazon SageMaker v eksperimentih Amazon SageMaker Studio. Naslednji posnetek zaslona prikazuje pogled Debuggerja v Studiu.

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.

Poglobite se lahko v operatorje in funkcije Python ( Najboljše operacije na GPU odsek), ki se izvajajo za izvajanje nalog usposabljanja. Vgrajena pravila razhroščevalnika za profiliranje težav, povezanih z delovanjem ogrodja za spremljanje, vključno s predolgim ​​časom inicializacije usposabljanja zaradi prenosa podatkov pred začetkom usposabljanja in izstopajočimi vrednostmi trajanja korakov v zankah usposabljanja. Upoštevajte, da čeprav je uporaba vgrajenih pravil brezplačna, veljajo stroški za pravila po meri na podlagi primerka, ki ga konfigurirate za čas trajanja opravila usposabljanja in pomnilnika, ki je temu priložen.

zaključek

V tej objavi smo podali smernice o analizi stroškov in najboljših praksah pri usposabljanju modelov ML z uporabo izobraževalnih nalog SageMaker. Ker se strojno učenje uveljavlja kot močno orodje v panogah, morata usposabljanje in izvajanje modelov ML ostati stroškovno učinkovita. SageMaker ponuja širok in poglobljen nabor funkcij za olajšanje vsakega koraka v procesu ML in ponuja možnosti za optimizacijo stroškov brez vpliva na zmogljivost ali agilnost.


O avtorjih

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 je višji strokovnjak za AI/ML pri AWS. Sodeluje s podjetniškimi strankami in zagotavlja tehnične smernice z najboljšimi praksami za uvajanje in vzdrževanje rešitev AI/ML v ekosistemu AWS. Delala je s številnimi organizacijami na različnih primerih uporabe globokega učenja, ki vključujejo NLP in računalniški vid. Strastno se zavzema za opolnomočenje organizacij, da izkoristijo generativno umetno inteligenco za izboljšanje uporabniške izkušnje. V prostem času uživa v filmih, glasbi in literaturi.

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 je strokovni vodja za AI & ML za Evropo, Bližnji vzhod in Afriko. Uri s sedežem v Izraelu si prizadeva opolnomočiti poslovne stranke glede vseh stvari ML za načrtovanje, gradnjo in delovanje v velikem obsegu. V prostem času uživa v kolesarjenju, pohodništvu in povečanju entropije.

Časovni žig:

Več od Strojno učenje AWS