Danes z veseljem oznanjamo predogled Amazon SageMaker Profiler, zmožnost Amazon SageMaker ki zagotavlja podroben vpogled v računalniške vire AWS, zagotovljene med usposabljanjem modelov globokega učenja na SageMakerju. S programom SageMaker Profiler lahko sledite vsem dejavnostim na CPE in GPE, kot so izkoriščenost CPE in GPE, zagoni jedra na GPE, zagoni jedra na CPE, operacije sinhronizacije, pomnilniške operacije med GPE, zakasnitve med zagoni jedra in ustreznimi zagoni ter prenos podatkov med procesorji in grafičnimi procesorji. V tej objavi vas popeljemo skozi zmožnosti SageMaker Profilerja.
SageMaker Profiler ponuja module Python za označevanje skriptov za usposabljanje PyTorch ali TensorFlow in aktiviranje SageMaker Profilerja. Ponuja tudi uporabniški vmesnik (UI), ki vizualizira profil, statistični povzetek profiliranih dogodkov in časovni okvir dela usposabljanja za sledenje in razumevanje časovnega razmerja dogodkov med GPE in CPE.
Potreba po profiliranju delovnih mest za usposabljanje
Z vzponom poglobljenega učenja (DL) je strojno učenje (ML) postalo računalniško in podatkovno intenzivno, kar običajno zahteva gruče z več vozlišči in več GPE. Ker se najsodobnejši modeli povečujejo v velikosti trilijonov parametrov, se hitro povečujejo tudi njihova računska kompleksnost in stroški. Strokovnjaki ML se morajo pri usposabljanju tako velikih modelov spopadati s pogostimi izzivi učinkovite uporabe virov. To je še posebej očitno pri velikih jezikovnih modelih (LLM), ki imajo običajno milijarde parametrov in zato zahtevajo velike gruče GPU z več vozlišči, da se lahko učinkovito učijo.
Pri usposabljanju teh modelov na velikih računalniških gručah lahko naletimo na izzive optimizacije računalniških virov, kot so ozka grla V/I, zakasnitve pri zagonu jedra, omejitve pomnilnika in nizka poraba virov. Če konfiguracija delovnega mesta usposabljanja ni optimizirana, lahko ti izzivi povzročijo neučinkovito uporabo strojne opreme in daljši čas usposabljanja ali nepopolne izvedbe usposabljanja, kar poveča skupne stroške in časovne okvire za projekt.
Predpogoji
Predpogoji za začetek uporabe SageMaker Profiler so naslednji:
- Domena SageMaker v vašem računu AWS – Za navodila o nastavitvi domene glejte Priključite se na domeno Amazon SageMaker s hitro nastavitvijo. Prav tako morate dodati uporabniške profile domene za posamezne uporabnike za dostop do aplikacije SageMaker Profiler UI. Za več informacij glejte Dodajte in odstranite uporabniške profile domene SageMaker.
- Dovoljenja – Naslednji seznam je najmanjši nabor dovoljenj, ki jih je treba dodeliti izvršilni vlogi za uporabo aplikacije SageMaker Profiler UI:
sagemaker:CreateApp
sagemaker:DeleteApp
sagemaker:DescribeTrainingJob
sagemaker:SearchTrainingJobs
s3:GetObject
s3:ListBucket
Pripravite in zaženite usposabljanje s SageMaker Profiler
Če želite začeti zajemati delovanje jedra na grafičnih procesorjih, medtem ko se izvaja usposabljanje, spremenite svoj skript za usposabljanje z uporabo modulov SageMaker Profiler Python. Uvozite knjižnico in dodajte start_profiling()
in stop_profiling()
metode za določitev začetka in konca profiliranja. Uporabite lahko tudi izbirne opombe po meri, da dodate oznake v skript za usposabljanje za vizualizacijo dejavnosti strojne opreme med posameznimi operacijami v vsakem koraku.
Obstajata dva pristopa, ki ju lahko uporabite za profiliranje vaših vadbenih skriptov s SageMaker Profilerjem. Prvi pristop temelji na profiliranju polnih funkcij; drugi pristop temelji na profiliranju specifičnih vrstic kode v funkcijah.
Za profiliranje po funkcijah uporabite upravitelja konteksta smppy.annotate
za označevanje vseh funkcij. Naslednji primer skripta prikazuje, kako implementirati upravitelja konteksta, da zavije učno zanko in celotne funkcije v vsaki ponovitvi:
Vous uporaba pouvez aussi smppy.annotation_begin()
in smppy.annotation_end()
za označevanje določenih vrstic kode v funkcijah. Za več informacij glejte Dokumentacija.
Konfigurirajte zaganjalnik izobraževalnih opravil SageMaker
Ko končate z označevanjem in nastavitvijo začetnih modulov profilerja, shranite skript za usposabljanje in pripravite ocenjevalec ogrodja SageMaker za usposabljanje z uporabo SDK SageMaker Python.
- Nastavite a
profiler_config
objekt z uporaboProfilerConfig
inProfiler
moduli, kot sledi: - Ustvarite ocenjevalec SageMaker z
profiler_config
predmet, ustvarjen v prejšnjem koraku. Naslednja koda prikazuje primer ustvarjanja ocenjevalca PyTorch:
Če želite ustvariti cenilec TensorFlow, uvozite sagemaker.tensorflow.TensorFlow
namesto tega in določite eno od različic TensorFlow, ki jih podpira SageMaker Profiler. Za več informacij o podprtih okvirih in vrstah primerkov glejte Podprti okviri.
- Začnite vadbeno opravilo z izvajanjem metode prileganja:
Zaženite uporabniški vmesnik SageMaker Profiler
Ko je opravilo usposabljanja končano, lahko zaženete uporabniški vmesnik SageMaker Profiler za vizualizacijo in raziskovanje profila opravila usposabljanja. Do aplikacije SageMaker Profiler UI lahko dostopate prek ciljne strani SageMaker Profiler na konzoli SageMaker ali prek domene SageMaker.
Če želite zagnati aplikacijo SageMaker Profiler UI na konzoli SageMaker, dokončajte naslednje korake:
- Na konzoli SageMaker izberite Profil v podoknu za krmarjenje.
- Pod Začnite, izberite domeno, v kateri želite zagnati aplikacijo SageMaker Profiler UI.
Če vaš uporabniški profil pripada samo eni domeni, ne boste videli možnosti izbire domene.
- Izberite uporabniški profil, za katerega želite zagnati aplikacijo SageMaker Profiler UI.
Če v domeni ni uporabniškega profila, izberite Ustvari uporabniški profil. Za več informacij o ustvarjanju novega uporabniškega profila glejte Dodajanje in odstranjevanje uporabniških profilov.
- Izberite Odprite Profiler.
Lahko tudi zaženite uporabniški vmesnik SageMaker Profiler s strani s podrobnostmi o domeni.
Pridobite vpogled v SageMaker Profiler
Ko odprete uporabniški vmesnik SageMaker Profiler, se Izberite in naložite profil odpre se stran, kot je prikazano na naslednjem posnetku zaslona.
Ogledate si lahko seznam vseh izobraževalnih opravil, ki so bila poslana SageMaker Profilerju, in poiščete določeno izobraževalno opravilo po njegovem imenu, času ustvarjanja in statusu izvajanja (v teku, dokončano, neuspešno, ustavljeno ali zaustavitev). Če želite naložiti profil, izberite delovno mesto za usposabljanje, ki si ga želite ogledati, in izberite Obremenitev. Ime delovnega mesta mora biti prikazano v Naložen profil razdelek na vrhu.
Izberite ime opravila, da ustvarite nadzorno ploščo in časovnico. Upoštevajte, da ko izberete delo, uporabniški vmesnik samodejno odpre nadzorno ploščo. Naložite in vizualizirate lahko en profil hkrati. Če želite naložiti drug profil, morate najprej odstraniti predhodno naložen profil. Če želite odstraniti profil, izberite ikono smetnjaka v Naložen profil oddelek.
Za to objavo si ogledamo profil an ALBEF učno delo na dveh ml.p4d.24xlarge primerkih.
Ko končate z nalaganjem in izbiro usposabljanja, se uporabniški vmesnik odpre Splošno strani, kot je prikazano na naslednjem posnetku zaslona.
Ogledate si lahko diagrame za ključne meritve, in sicer aktivni čas GPE, izkoriščenost GPE skozi čas, aktivni čas CPE in izkoriščenost CPE skozi čas. Tortni grafikon aktivnega časa GPE prikazuje odstotek aktivnega časa GPE v primerjavi s časom nedejavnosti GPE, kar nam omogoča, da preverimo, ali so GPE bolj dejavne kot nedejavne skozi celotno usposabljanje.. Graf časovne premice uporabe GPE prikazuje povprečno stopnjo izkoriščenosti GPE skozi čas na vozlišče, ki združuje vsa vozlišča v enem grafikonu. Preverite lahko, ali imajo grafični procesorji neuravnoteženo delovno obremenitev, težave s premajhno izkoriščenostjo, ozka grla ali težave z nedejavnostjo v določenih časovnih intervalih. Za več podrobnosti o interpretaciji teh meritev glejte Dokumentacija.
Nadzorna plošča vam nudi dodatne diagrame, vključno s časom, ki ga porabijo vsa jedra GPE, časom, ki ga porabijo 15 najboljših jeder GPU, številom zagonov vseh jeder GPE in številom zagonov 15 najboljših jeder GPE, kot je prikazano na naslednjem posnetku zaslona.
Nazadnje, nadzorna plošča vam omogoča vizualizacijo dodatnih meritev, kot je porazdelitev časa korakov, ki je histogram, ki prikazuje porazdelitev trajanja korakov na grafičnih procesorjih, in tortni grafikon porazdelitve natančnosti jedra, ki prikazuje odstotek časa, porabljenega za izvajanje jeder. v različnih vrstah podatkov, kot so FP32, FP16, INT32 in INT8.
Dobite lahko tudi tortni grafikon o porazdelitvi dejavnosti GPE, ki prikazuje odstotek časa, porabljenega za dejavnosti GPE, kot so izvajanje jeder, pomnilnik (memcpy
in memset
) in sinhronizacijo (sync
). Odstotek časa, porabljenega za pomnilniške operacije GPE, si lahko vizualizirate s tortnega grafikona porazdelitve pomnilniških operacij GPE.
Ustvarite lahko tudi lastne histograme na podlagi metrike po meri, ki ste jo ročno označili, kot je opisano prej v tej objavi. Ko novemu histogramu dodajate opombo po meri, izberite ali vnesite ime opombe, ki ste jo dodali v skriptu za usposabljanje.
Vmesnik časovne osi
Uporabniški vmesnik SageMaker Profiler vključuje tudi vmesnik časovne premice, ki vam nudi podroben vpogled v računalniške vire na ravni operacij in jeder, ki so načrtovana na CPE in se izvajajo na GPE. Časovnica je organizirana v drevesni strukturi, ki vam daje informacije od ravni gostitelja do ravni naprave, kot je prikazano na naslednjem posnetku zaslona.
Za vsak CPE lahko spremljate števce zmogljivosti CPE, kot npr clk_unhalted_ref.tsc
in itlb_misses.miss_causes_a_walk
. Za vsak GPU na primerku 2x p4d.24xlarge lahko vidite časovno premico gostitelja in časovno premico naprave. Zagoni jedra so na časovnici gostitelja, zagoni jedra pa na časovnici naprave.
Posamezne korake lahko tudi povečate. Na naslednjem posnetku zaslona smo povečali korak_41. Trak časovne osi, izbran na naslednjem posnetku zaslona, je AllReduce
delovanje, bistven komunikacijski in sinhronizacijski korak v porazdeljenem usposabljanju, deluje na GPU-0. Upoštevajte, da se na posnetku zaslona zagon jedra v gostitelju GPU-0 poveže z izvajanjem jedra v toku naprave GPU-0 1, ki je označen s puščico v modrozeleni barvi.
Razpoložljivost in premisleki
SageMaker Profiler je na voljo v PyTorch (različici 2.0.0 in 1.13.1) in TensorFlow (različici 2.12.0 in 2.11.1). V spodnji tabeli so povezave do podprtih AWS Deep Learning Containers za SageMaker.
Okvirni | različica | URI slike DLC AWS |
PyTorch | 2.0.0 | 763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:2.0.0-gpu-py310-cu118-ubuntu20.04-sagemaker |
PyTorch | 1.13.1 | 763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker |
TensorFlow | 2.12.0 | 763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker |
TensorFlow | 2.11.1 | 763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.11.1-gpu-py39-cu112-ubuntu20.04-sagemaker |
SageMaker Profiler je trenutno na voljo v naslednjih regijah: vzhod ZDA (Ohio, N. Virginia), zahod ZDA (Oregon) in Evropa (Frankfurt, Irska).
SageMaker Profiler je na voljo v vrstah izobraževalnih primerkov ml.p4d.24xlarge, ml.p3dn.24xlarge in ml.g4dn.12xlarge.
Za celoten seznam podprtih ogrodij in različic glejte Dokumentacija.
SageMaker Profiler povzroči stroške po koncu brezplačne stopnje SageMaker ali brezplačnega preskusnega obdobja funkcije. Za več informacij glejte Cene Amazon SageMaker.
Zmogljivost SageMaker Profilerja
Primerjali smo stroške SageMaker Profilerja z različnimi odprtokodnimi profilerji. Izhodišče, uporabljeno za primerjavo, je bilo pridobljeno z izvajanjem usposabljanja brez profilerja.
Naša ključna ugotovitev je pokazala, da je SageMaker Profiler na splošno povzročil krajše plačljivo trajanje usposabljanja, ker je imel manj časa pri izvajanju usposabljanja od konca do konca. Ustvaril je tudi manj podatkov za profiliranje (do 10-krat manj) v primerjavi z odprtokodnimi alternativami. Manjši artefakti profiliranja, ki jih ustvari SageMaker Profiler, zahtevajo manj prostora za shranjevanje in s tem prihranijo tudi stroške.
zaključek
SageMaker Profiler vam omogoča, da dobite podroben vpogled v uporabo računalniških virov pri usposabljanju vaših modelov globokega učenja. To vam lahko omogoči, da odpravite vroče točke in ozka grla v zmogljivosti, da zagotovite učinkovito uporabo virov, kar bi na koncu znižalo stroške usposabljanja in skrajšalo skupno trajanje usposabljanja.
Če želite začeti uporabljati SageMaker Profiler, glejte Dokumentacija.
O avtorjih
Roy Allela je višji strokovnjak za rešitve AI/ML pri AWS s sedežem v Münchnu v Nemčiji. Roy pomaga strankam AWS – od majhnih novoustanovljenih podjetij do velikih podjetij – pri usposabljanju in učinkovitem uvajanju velikih jezikovnih modelov v AWS. Roy se navdušuje nad problemi računalniške optimizacije in izboljšanjem učinkovitosti delovnih obremenitev umetne inteligence.
Sushant Moon je podatkovni znanstvenik pri AWS v Indiji, specializiran za vodenje strank skozi njihova prizadevanja AI/ML. Z raznolikim ozadjem, ki zajema področja maloprodaje, financ in zavarovalništva, ponuja inovativne in prilagojene rešitve. Poleg poklicnega življenja Sushant najde pomladitev v plavanju in išče navdih na svojih potovanjih v različne kraje.
Diksha Sharma je arhitekt specializiranih rešitev za AI/ML v svetovni organizaciji specialistov. Sodeluje s strankami iz javnega sektorja, da bi jim pomagala oblikovati učinkovite, varne in razširljive aplikacije strojnega učenja, vključno z generativnimi rešitvami AI na AWS. V prostem času Diksha rada bere, slika in preživlja čas s svojo družino.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Avtomobili/EV, Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- ChartPrime. Izboljšajte svojo igro trgovanja s ChartPrime. Dostopite tukaj.
- BlockOffsets. Posodobitev okoljskega offset lastništva. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/announcing-the-preview-of-amazon-sagemaker-profiler-track-and-visualize-detailed-hardware-performance-data-for-your-model-training-workloads/
- :ima
- : je
- :ne
- $GOR
- 1
- 10
- 100
- 11
- 12
- 125
- 13
- 15%
- 17
- 20
- 7
- 9
- a
- O meni
- dostop
- čez
- aktiviranje
- aktivna
- dejavnosti
- dejavnost
- dodajte
- dodano
- dodajanje
- Dodatne
- po
- proti
- združevanje
- AI
- AI / ML
- vsi
- Prav tako
- alternative
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- in
- Objavi
- Napoveduje
- Še ena
- kaj
- zdi
- uporaba
- aplikacije
- pristop
- pristopi
- SE
- AS
- dodeljena
- At
- samodejno
- Na voljo
- povprečno
- AWS
- ozadje
- temeljijo
- Izhodišče
- BE
- ker
- postanejo
- bilo
- Začetek
- pripada
- med
- Poleg
- milijardah
- BIN
- by
- CAN
- Zmogljivosti
- zmožnost
- Zajemanje
- nekatere
- izzivi
- Stroški
- Graf
- preveriti
- Izberite
- Koda
- Skupno
- Komunikacija
- v primerjavi z letom
- Primerjava
- dokončanje
- Končana
- kompleksnost
- Izračunajte
- konfiguracija
- povezuje
- Konzole
- Zabojniki
- ozadje
- Ustrezno
- strošek
- stroški
- števci
- ustvarjajo
- ustvaril
- Ustvarjanje
- Oblikovanje
- Trenutno
- po meri
- Stranke, ki so
- cian
- Armaturna plošča
- datum
- podatkovni znanstvenik
- globoko
- globoko učenje
- opredeliti
- daje
- razporedi
- opisano
- podrobno
- Podrobnosti
- naprava
- drugačen
- porazdeljena
- razdeljeno usposabljanje
- distribucija
- razne
- domena
- domen
- opravljeno
- navzdol
- pogon
- trajanje
- med
- vsak
- prej
- East
- učinkovite
- učinkovito
- omogočajo
- omogoča
- konec
- konec koncev
- prizadevanja
- konča
- zagotovitev
- Vnesite
- Celotna
- Vpis
- epoha
- epohe
- bistvena
- Evropa
- dogodki
- očitno
- Primer
- izvedba
- raziskuje
- ni uspelo
- družina
- Feature
- financiranje
- iskanje
- najdbe
- konča
- prva
- fit
- po
- sledi
- za
- Naprej
- Okvirni
- okviri
- brezplačno
- brezplačen preizkus
- iz
- polno
- funkcije
- splošno
- ustvarjajo
- ustvarila
- generativno
- Generativna AI
- Nemčija
- dobili
- Giving
- GPU
- Grafične kartice
- graf
- Grow
- imel
- strojna oprema
- Imajo
- he
- pomoč
- Pomaga
- jo
- njegov
- gostitelj
- Kako
- Kako
- HTML
- http
- HTTPS
- i
- ICON
- Mirovanje
- if
- slika
- izvajati
- uvoz
- izboljšanju
- in
- vključuje
- Vključno
- Povečajte
- india
- naveden
- individualna
- neučinkovit
- Podatki
- inovativne
- vhodi
- vpogledi
- Navdih
- primer
- Namesto
- Navodila
- zavarovanje
- vmesnik
- v
- Irska
- Vprašanja
- IT
- ponovitev
- ITS
- Job
- Delovna mesta
- jpg
- Ključne
- Oznake
- pristanek
- jezik
- velika
- kosilo
- izstrelki
- učenje
- manj
- Stopnja
- Knjižnica
- življenje
- Meje
- linije
- Povezave
- Seznam
- obremenitev
- nalaganje
- več
- off
- ljubi
- nizka
- stroj
- strojno učenje
- upravitelj
- ročno
- Spomin
- Metoda
- Metode
- meritev
- Meritve
- minimalna
- ML
- Model
- modeli
- spremenite
- Moduli
- več
- morajo
- Ime
- in sicer
- ostalo
- Nimate
- Novo
- št
- Vozel
- vozlišča
- predmet
- pridobi
- pridobljeni
- of
- Ponudbe
- Ohio
- on
- ONE
- samo
- odprite
- open source
- Odpre
- Delovanje
- operacije
- optimizacija
- optimizirana
- Možnost
- or
- Da
- Oregon
- Organizacija
- Organizirano
- več
- Splošni
- lastne
- Stran
- podokno
- parametri
- zlasti
- zlasti
- strastno
- za
- odstotek
- performance
- Obdobje
- Dovoljenja
- platon
- Platonova podatkovna inteligenca
- PlatoData
- zadovoljen
- Točka
- Prispevek
- Precision
- Pripravimo
- predpogoji
- predogled
- prejšnja
- prej
- Težave
- strokovni
- profil
- Profili
- profiliranje
- Napredek
- Projekt
- zagotavlja
- javnega
- Python
- pitorha
- Hitri
- hitro
- Oceniti
- Preberi
- zmanjša
- regije
- pomlajevanje
- Razmerje
- odstrani
- zahteva
- vir
- viri
- povzroči
- Trgovina na drobno
- Razkrito
- Rise
- vloga
- roy
- Run
- tek
- deluje
- sagemaker
- Shrani
- shranjevanje
- razširljive
- načrtovano
- Znanstvenik
- skripte
- SDK
- Iskalnik
- drugi
- Oddelek
- sektor
- zavarovanje
- glej
- Išče
- izbran
- izbiranje
- višji
- Storitve
- nastavite
- nastavitev
- je
- shouldnt
- pokazale
- Razstave
- sam
- Velikosti
- majhna
- manj
- rešitve
- vir
- napetost
- specialist
- specializacijo
- specifična
- preživeti
- porabljen
- Začetek
- začel
- Ustanavljanjem
- state-of-the-art
- Statistično
- Status
- Korak
- Koraki
- ustavil
- ustavljanje
- shranjevanje
- tok
- Struktura
- predložen
- taka
- POVZETEK
- Podprti
- Sinhronizacija
- miza
- prilagojene
- Bodite
- tensorflo
- kot
- da
- O
- njihove
- Njih
- Tukaj.
- s tem
- zato
- te
- ta
- skozi
- vsej
- živali
- čas
- časovnica
- časovnice
- krat
- do
- vrh
- sledenje
- Sledenje
- Vlak
- usposabljanje
- prenos
- potovanja
- Drevo
- sojenje
- trillions
- dva
- Vrste
- tipično
- ui
- Konec koncev
- razumevanje
- us
- uporaba
- Rabljeni
- uporabnik
- Uporabniški vmesnik
- Uporabniki
- uporabo
- različnih
- različica
- različice
- Poglej
- Virginia
- vs
- želeli
- je
- we
- web
- spletne storitve
- West
- kdaj
- ki
- medtem
- bo
- z
- brez
- deluje
- po vsem svetu
- bi
- zaviti
- Vi
- Vaša rutina za
- zefirnet
- zoom