Ma örömmel jelentjük be az előzetest Amazon SageMaker Profiler, képessége Amazon SageMaker amely részletes áttekintést nyújt az AWS számítási erőforrásokról, amelyeket a SageMaker mélytanulási modelljei betanítása során biztosítottak. A SageMaker Profiler segítségével nyomon követheti a CPU-kon és GPU-kon végzett összes tevékenységet, például a CPU és GPU kihasználtságát, a kernel futását GPU-kon, a kernel elindítását CPU-kon, a szinkronizálási műveleteket, a GPU-k közötti memóriaműveleteket, a kernelindítások és a megfelelő futtatások közötti késéseket, valamint az adatátvitelt. CPU-k és GPU-k között. Ebben a bejegyzésben végigvezetjük a SageMaker Profiler képességein.
A SageMaker Profiler Python modulokat biztosít a PyTorch vagy TensorFlow képzési szkriptek annotálásához és a SageMaker Profiler aktiválásához. Ezenkívül egy felhasználói felületet (UI) is kínál, amely megjeleníti a profilok, a profilozott események statisztikai összefoglalása, valamint egy betanítási feladat idővonala a GPU-k és a CPU-k közötti események időbeli kapcsolatának nyomon követésére és megértésére.
A képzési munkák profilalkotásának szükségessége
A mély tanulás (DL) térnyerésével a gépi tanulás (ML) számítás- és adatigényessé vált, amely jellemzően több csomópontból, több GPU-ból álló fürtöket igényel. Ahogy a legmodernebb modellek mérete ezermilliárdnyi paraméterrel nő, számítási bonyolultságuk és költségük is gyorsan nő. Az ML szakembereknek meg kell küzdeniük a hatékony erőforrás-felhasználás közös kihívásaival, amikor ilyen nagy modelleket tanítanak. Ez különösen nyilvánvaló a nagy nyelvi modelleknél (LLM), amelyek jellemzően több milliárd paraméterrel rendelkeznek, és ezért nagy, több csomópontból álló GPU-fürtöket igényelnek a hatékony betanításukhoz.
Amikor ezeket a modelleket nagy számítási klasztereken tanítjuk, számítási erőforrás-optimalizálási kihívásokkal találkozhatunk, mint például I/O szűk keresztmetszetek, kernelindítási késések, memóriakorlátok és alacsony erőforrás-kihasználás. Ha a betanítási feladat konfigurációja nincs optimalizálva, ezek a kihívások a hardver nem hatékony kihasználásához és hosszabb betanítási időhöz vagy hiányos oktatási futáshoz vezethetnek, ami növeli a projekt általános költségeit és ütemtervét.
Előfeltételek
A SageMaker Profiler használatának megkezdéséhez a következők az előfeltételek:
- SageMaker domain az AWS-fiókjában – A domain beállításával kapcsolatos utasításokat lásd Gyors beállítással az Amazon SageMaker Domainhez való csatlakozás. Domain felhasználói profilokat is hozzá kell adnia az egyes felhasználók számára a SageMaker Profiler UI alkalmazás eléréséhez. További információkért lásd SageMaker Domain felhasználói profilok hozzáadása és eltávolítása.
- Engedélyek – A következő lista az engedélyek minimális készletét tartalmazza, amelyeket a SageMaker Profiler UI alkalmazás használatához hozzá kell rendelni a végrehajtási szerepkörhöz:
sagemaker:CreateApp
sagemaker:DeleteApp
sagemaker:DescribeTrainingJob
sagemaker:SearchTrainingJobs
s3:GetObject
s3:ListBucket
Készítsen és futtasson egy képzési feladatot a SageMaker Profilerrel
A GPU-kon futó kernel rögzítésének megkezdéséhez, miközben a betanítási feladat fut, módosítsa a betanító szkriptet a SageMaker Profiler Python moduljaival. Importálja a könyvtárat, és adja hozzá a start_profiling()
és a stop_profiling()
módszerek a profilalkotás kezdetének és végének meghatározásához. Opcionális egyéni megjegyzésekkel is hozzáadhat jelölőket a betanítási szkripthez, hogy megjelenítse a hardvertevékenységeket az egyes lépésekben végrehajtott bizonyos műveletek során.
A SageMaker Profiler segítségével kétféle megközelítést alkalmazhat a képzési szkriptek profilálására. Az első megközelítés a teljes funkciók profilozásán alapul; a második megközelítés a függvényekben meghatározott kódsorok profilozásán alapul.
A függvények szerinti profilozáshoz használja a környezetkezelőt smppy.annotate
a teljes függvények megjegyzéséhez. A következő példaszkript bemutatja, hogyan kell megvalósítani a környezetkezelőt a betanítási ciklus és a teljes függvények körbevonására minden iterációban:
Ön is használja smppy.annotation_begin()
és a smppy.annotation_end()
adott kódsorok megjegyzésére a függvényekben. További információkért lásd: dokumentáció.
Konfigurálja a SageMaker képzési feladatindítót
Miután végzett a profilkészítő inicializálási moduljainak megjegyzéseivel és beállításával, mentse el a betanító szkriptet, és készítse elő a SageMaker keretrendszer-becslőt a SageMaker Python SDK használatával történő betanításra.
- Állítsa be a
profiler_config
objektum segítségévelProfilerConfig
és aProfiler
modulok az alábbiak szerint: - Hozzon létre egy SageMaker becslőt a
profiler_config
az előző lépésben létrehozott objektum. A következő kód példát mutat a PyTorch becslő létrehozására:
Ha TensorFlow becslőt szeretne létrehozni, importálja sagemaker.tensorflow.TensorFlow
ehelyett, és adja meg a SageMaker Profiler által támogatott TensorFlow verziók egyikét. A támogatott keretrendszerekkel és példánytípusokkal kapcsolatos további információkért lásd: Támogatott keretrendszerek.
- Indítsa el a képzési munkát az illeszkedési módszer futtatásával:
Indítsa el a SageMaker Profiler UI-t
Amikor a képzési feladat befejeződött, elindíthatja a SageMaker Profiler UI-t a képzési feladat profiljának megjelenítéséhez és felfedezéséhez. A SageMaker Profiler UI alkalmazást a SageMaker Profiler nyitóoldalán vagy a SageMaker tartományon keresztül érheti el.
A SageMaker Profiler UI alkalmazás elindításához a SageMaker konzolon hajtsa végre a következő lépéseket:
- A SageMaker konzolon válassza a lehetőséget Profiler a navigációs ablaktáblában.
- Alatt Első lépések, válassza ki azt a tartományt, amelyben el kívánja indítani a SageMaker Profiler UI alkalmazást.
Ha felhasználói profilja csak egy domainhez tartozik, akkor nem jelenik meg a domain kiválasztásának lehetősége.
- Válassza ki azt a felhasználói profilt, amelyhez el kívánja indítani a SageMaker Profiler UI alkalmazást.
Ha nincs felhasználói profil a tartományban, válassza a lehetőséget Felhasználói profil létrehozása. Az új felhasználói profil létrehozásával kapcsolatos további információkért lásd: Felhasználói profilok hozzáadása és eltávolítása.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Nyissa meg a Profilert.
Ön is indítsa el a SageMaker Profiler UI-t a tartomány részleteit tartalmazó oldalról.
Szerezzen betekintést a SageMaker Profilerből
Amikor megnyitja a SageMaker Profiler UI-t, a Válasszon ki és töltsön be egy profilt oldal nyílik meg, amint az a következő képernyőképen látható.
Megtekintheti a SageMaker Profilerbe beküldött összes képzési feladat listáját, és rákereshet egy adott képzési feladatra a neve, a létrehozási idő és a futási állapot (Folyamatban, Befejezett, Sikertelen, Leállítva vagy Leállítás) alapján. Profil betöltéséhez válassza ki a megtekinteni kívánt képzési munkát, és válassza ki Terhelés. A munka nevének meg kell jelennie a Betöltött profil szakasz tetején.
Válassza ki a munka nevét az irányítópult és az idővonal létrehozásához. Vegye figyelembe, hogy amikor kiválasztja a munkát, a felhasználói felület automatikusan megnyitja az irányítópultot. Egyszerre egy profilt tölthet be és jeleníthet meg. Egy másik profil betöltéséhez először ki kell töltenie a korábban betöltött profilt. Profil eltávolításához válassza ki a kuka ikont a Betöltött profil szakasz.
Ehhez a bejegyzéshez egy profilját tekintjük meg ALBEF képzési munka két ml.p4d.24xnagy példányon.
Miután befejezte a betöltést és a képzési feladat kiválasztását, a felhasználói felület megnyitja a Műszerfal oldalon, ahogy az a következő képernyőképen is látható.
Megtekintheti a kulcsfontosságú mutatók diagramjait, nevezetesen a GPU aktív idejét, a GPU kihasználtságát az idő függvényében, a CPU aktív idejét és a CPU kihasználtságát az idő függvényében. A GPU aktív idejének kördiagramja a GPU aktív idejének százalékos arányát mutatja a GPU tétlenségi idejéhez viszonyítva, ami lehetővé teszi számunkra annak ellenőrzését, hogy a GPU-k aktívabbak-e az üresjáratnál a teljes képzési munka során. A GPU időbeli kihasználtságának grafikonja az átlagos GPU kihasználtságot mutatja az idő függvényében csomópontonként, egyetlen diagramon összesítve az összes csomópontot. Ellenőrizheti, hogy a GPU-k munkaterhelése kiegyensúlyozatlan, nem kihasználtsági problémák, szűk keresztmetszetek vagy üresjárati problémák vannak-e bizonyos időközönként. A mérőszámok értelmezésével kapcsolatos további részletekért lásd: dokumentáció.
Az irányítópult további diagramokat biztosít, beleértve az összes GPU-kernel által eltöltött időt, a legjobb 15 GPU-kernel által eltöltött időt, az összes GPU-kernel indítási számát és a legjobb 15 GPU-kernel indítási számát, amint az a következő képernyőképen látható.
Végül az irányítópult további mérőszámok megjelenítését teszi lehetővé, például a lépésidő-eloszlást, amely egy hisztogram, amely a lépések időtartamának eloszlását mutatja a GPU-kon, és a kernel pontos eloszlási kördiagramját, amely a kernelek futtatására fordított idő százalékos arányát mutatja. különböző adattípusokban, például FP32, FP16, INT32 és INT8.
Ezenkívül beszerezhet egy kördiagramot a GPU-tevékenység-eloszlásról, amely megmutatja a GPU-tevékenységekre fordított idő százalékos arányát, mint például a kernelek futtatása, a memória (memcpy
és a memset
), és a szinkronizálás (sync
). A GPU-memóriaműveletekkel töltött idő százalékos arányát a GPU-memóriaműveletek eloszlási kördiagramjából láthatja.
Saját hisztogramokat is létrehozhat egy egyéni metrika alapján, amelyet manuálisan jegyzett fel a bejegyzés korábbi leírása szerint. Amikor egyéni megjegyzést ad hozzá egy új hisztogramhoz, válassza ki vagy írja be annak a megjegyzésnek a nevét, amelyet hozzáadott a képzési szkripthez.
Idővonal felület
A SageMaker Profiler UI egy idővonali felületet is tartalmaz, amely részletes áttekintést nyújt a számítási erőforrásokról a CPU-kon ütemezett és a GPU-kon futó műveletek és kernelek szintjén. Az idővonal egy fastruktúrába van rendezve, amely információkat ad a gazdagép szintjétől az eszköz szintjéig, amint az a következő képernyőképen látható.
Minden CPU-nál nyomon követheti a CPU teljesítményszámlálóit, mint pl clk_unhalted_ref.tsc
és a itlb_misses.miss_causes_a_walk
. A 2x p4d.24xlarge példányon minden GPU-hoz láthat egy gazdagép idővonalat és egy eszköz idővonalat. A kernelindítások a gazdagép idővonalán, a kernelfuttatások pedig az eszköz idővonalán történnek.
Az egyes lépésekre is nagyíthat. A következő képernyőképen a_41 lépésre nagyítottunk. A következő képernyőképen kiválasztott idővonalsáv a AllReduce
művelet, az elosztott képzés elengedhetetlen kommunikációs és szinkronizálási lépése, GPU-0-n fut. A képernyőképen vegye figyelembe, hogy a kernel elindítása a GPU-0 gazdagépen csatlakozik a GPU-0 eszköz 1. adatfolyamában futó kernelhez, amelyet cián színű nyíl jelzi.
Elérhetőség és szempontok
A SageMaker Profiler a PyTorch (2.0.0 és 1.13.1 verzió) és a TensorFlow (2.12.0 és 2.11.1 verzió) alatt érhető el. Az alábbi táblázat a támogatott hivatkozásokat tartalmazza AWS Deep Learning Containers for SageMaker.
Keretrendszer | Változat | AWS DLC kép URI |
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 |
A SageMaker Profiler jelenleg a következő régiókban érhető el: US East (Ohio, N. Virginia), US West (Oregon) és Európa (Frankfurt, Írország).
A SageMaker Profiler az ml.p4d.24xlarge, ml.p3dn.24xlarge és ml.g4dn.12xlarge képzési példányban érhető el.
A támogatott keretrendszerek és verziók teljes listáját lásd: dokumentáció.
A SageMaker Profiler díjai a SageMaker Free Tier vagy a szolgáltatás ingyenes próbaidőszakának lejárta után merülnek fel. További információkért lásd Amazon SageMaker árképzés.
A SageMaker Profiler teljesítménye
Összehasonlítottuk a SageMaker Profiler többletköltségét különböző nyílt forráskódú profilkészítőkkel. Az összehasonlításhoz használt alapvonalat a képzési feladat profilkészítő nélküli futtatásából kaptuk.
Legfontosabb megállapításunk felfedte, hogy a SageMaker Profiler általában rövidebb számlázható edzési időt eredményezett, mivel kevesebb volt az edzési idő a végpontokig. Ezenkívül kevesebb profilalkotási adatot generált (akár 10-szer kevesebbet) a nyílt forráskódú alternatívákkal összehasonlítva. A SageMaker Profiler által generált kisebb profilalkotási műtermékek kevesebb tárhelyet igényelnek, ezáltal költségeket is megtakarítanak.
Következtetés
A SageMaker Profiler lehetővé teszi, hogy részletes betekintést nyerjen a számítási erőforrások felhasználásába a mély tanulási modellek betanítása során. Ez lehetővé teszi a teljesítmény hotspotjainak és szűk keresztmetszetek megoldását a hatékony erőforrás-felhasználás érdekében, ami végső soron csökkenti a képzési költségeket és csökkenti a teljes képzési időtartamot.
A SageMaker Profiler használatának megkezdéséhez lásd: dokumentáció.
A szerzőkről
Roy Allela az AWS vezető AI/ML specialista megoldások építésze Münchenben, Németországban. Roy segít az AWS-ügyfeleknek – a kis kezdő vállalkozásoktól a nagyvállalatokig – a nagy nyelvi modellek hatékony képzésében és bevezetésében az AWS-en. Roy szenvedélyesen foglalkozik a számítási optimalizálási problémákkal és az AI-terhelések teljesítményének javításával.
Sushant Moon adatkutató az AWS-nél, Indiában, és arra specializálódott, hogy az ügyfeleket AI/ML-törekvéseik során irányítsa. A lakossági, pénzügyi és biztosítási területeket átfogó háttérrel innovatív és személyre szabott megoldásokat kínál. Professzionális életén túl Sushant az úszásban talál felfrissülést, és inspirációt keres a különböző helyekre tett utazásaiból.
Diksha Sharma az AI/ML Specialist Solutions Architect a Worldwide Specialist Organizationnél. Közszférabeli ügyfelekkel dolgozik, hogy segítsen nekik hatékony, biztonságos és méretezhető gépi tanulási alkalmazások kialakításában, beleértve a generatív AI-megoldásokat az AWS-en. Szabadidejében Diksha szeret olvasni, festeni, és a családjával tölt időt.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Autóipar / elektromos járművek, Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- ChartPrime. Emelje fel kereskedési játékát a ChartPrime segítségével. Hozzáférés itt.
- BlockOffsets. A környezetvédelmi ellentételezési tulajdon korszerűsítése. Hozzáférés itt.
- Forrás: 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/
- :van
- :is
- :nem
- $ UP
- 1
- 10
- 100
- 11
- 12
- 125
- 13
- 15%
- 17
- 20
- 7
- 9
- a
- Rólunk
- hozzáférés
- át
- aktiváló
- aktív
- tevékenységek
- tevékenység
- hozzá
- hozzáadott
- hozzáadásával
- További
- Után
- ellen
- összesítés
- AI
- AI / ML
- Minden termék
- Is
- alternatívák
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- és a
- bejelent
- Bemutatjuk
- Másik
- bármilyen
- megjelenik
- Alkalmazás
- alkalmazások
- megközelítés
- megközelít
- VANNAK
- AS
- kijelölt
- At
- automatikusan
- elérhető
- átlagos
- AWS
- háttér
- alapján
- kiindulási
- BE
- mert
- válik
- óta
- Kezdet
- tartozik
- között
- Túl
- milliárd
- BIN
- by
- TUD
- képességek
- képesség
- Rögzítése
- bizonyos
- kihívások
- díjak
- Táblázatos
- ellenőrizze
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- kód
- Közös
- közlés
- képest
- összehasonlítás
- teljes
- Befejezett
- bonyolultság
- Kiszámít
- Configuration
- összeköt
- Konzol
- Konténerek
- kontextus
- Megfelelő
- Költség
- kiadások
- számlálók
- teremt
- készítette
- létrehozása
- teremtés
- Jelenleg
- szokás
- Ügyfelek
- cián
- műszerfal
- dátum
- adattudós
- mély
- mély tanulás
- meghatározott
- szállít
- telepíteni
- leírt
- részletes
- részletek
- eszköz
- különböző
- megosztott
- elosztott képzés
- terjesztés
- számos
- domain
- domainek
- csinált
- le-
- hajtás
- időtartama
- alatt
- minden
- Korábban
- Keleti
- hatékony
- eredményesen
- lehetővé
- lehetővé teszi
- végén
- végtől végig
- törekvéseket
- vége
- biztosítására
- belép
- Egész
- belépés
- korszak
- korszakok
- alapvető
- Európa
- események
- nyilvánvaló
- példa
- végrehajtás
- feltárása
- Sikertelen
- család
- Funkció
- finanszíroz
- megtalálása
- leletek
- befejezni
- vezetéknév
- megfelelő
- következő
- következik
- A
- Előre
- Keretrendszer
- keretek
- Ingyenes
- ingyenes próbaverzió
- ból ből
- Tele
- funkciók
- általában
- generál
- generált
- nemző
- Generatív AI
- Németország
- kap
- Giving
- GPU
- GPU
- grafikon
- Nő
- kellett
- hardver
- Legyen
- he
- segít
- segít
- neki
- övé
- vendéglátó
- Hogyan
- How To
- HTML
- http
- HTTPS
- i
- ICON
- Idle
- if
- kép
- végre
- importál
- javuló
- in
- magában foglalja a
- Beleértve
- Növelje
- India
- jelzett
- egyéni
- nem hatékony
- információ
- újító
- bemenet
- meglátások
- Ihlet
- példa
- helyette
- utasítás
- biztosítás
- Felület
- bele
- Írország
- kérdések
- IT
- ismétlés
- ITS
- Munka
- Állások
- jpg
- Kulcs
- Címkék
- leszállási
- nyelv
- nagy
- indít
- elindítja
- tanulás
- kevesebb
- szint
- könyvtár
- élet
- határértékek
- vonalak
- linkek
- Lista
- kiszámításának
- betöltés
- hosszabb
- le
- szeret
- Elő/Utó
- gép
- gépi tanulás
- menedzser
- kézzel
- Memory design
- módszer
- mód
- metrikus
- Metrics
- minimum
- ML
- modell
- modellek
- módosítása
- Modulok
- több
- kell
- név
- ugyanis
- Navigáció
- Szükség
- Új
- nem
- csomópont
- csomópontok
- tárgy
- szerez
- kapott
- of
- Ajánlatok
- Ohio
- on
- ONE
- csak
- nyitva
- nyílt forráskódú
- nyit
- működés
- Művelet
- optimalizálás
- optimalizált
- opció
- or
- érdekében
- Oregon
- szervezet
- Szervezett
- felett
- átfogó
- saját
- oldal
- üvegtábla
- paraméterek
- különös
- különösen
- szenvedélyes
- mert
- százalék
- teljesítmény
- időszak
- engedélyek
- Plató
- Platón adatintelligencia
- PlatoData
- elégedett
- pont
- állás
- Pontosság
- Készít
- előfeltételek
- Preview
- előző
- korábban
- problémák
- szakmai
- profil
- Profilok
- profilalkotás
- Haladás
- program
- biztosít
- nyilvános
- Piton
- pytorch
- Quick
- gyorsan
- Arány
- Olvass
- csökkenteni
- régiók
- megfiatalodás
- kapcsolat
- eltávolítása
- szükség
- forrás
- Tudástár
- eredményez
- kiskereskedelem
- Revealed
- Emelkedik
- Szerep
- roy
- futás
- futás
- fut
- sagemaker
- Megtakarítás
- megtakarítás
- skálázható
- tervezett
- Tudós
- szkriptek
- sdk
- Keresés
- Második
- Rész
- szektor
- biztonság
- lát
- Keresi
- kiválasztott
- kiválasztása
- idősebb
- Szolgáltatások
- készlet
- beállítás
- ő
- kellene
- mutatott
- Műsorok
- egyetlen
- Méret
- kicsi
- kisebb
- Megoldások
- forrás
- feszültség
- szakember
- szakosodott
- különleges
- költ
- költött
- kezdet
- kezdődött
- Startups
- csúcs-
- statisztikai
- Állapot
- Lépés
- Lépései
- megállt
- megállítás
- tárolás
- folyam
- struktúra
- benyújtott
- ilyen
- ÖSSZEFOGLALÓ
- Támogatott
- összehangolás
- táblázat
- szabott
- Vesz
- tensorflow
- mint
- hogy
- A
- azok
- Őket
- Ott.
- ezáltal
- ebből adódóan
- Ezek
- ezt
- Keresztül
- egész
- tier
- idő
- időrendben
- idővonalak
- alkalommal
- nak nek
- felső
- vágány
- Csomagkövetés
- Vonat
- Képzések
- átruházás
- utazik
- fa
- próba
- billió
- kettő
- típusok
- jellemzően
- ui
- Végül
- megértés
- us
- használ
- használt
- használó
- felhasználói felület
- Felhasználók
- segítségével
- különféle
- változat
- verzió
- Megnézem
- Virginia
- vs
- akar
- volt
- we
- háló
- webes szolgáltatások
- Nyugati
- amikor
- ami
- míg
- lesz
- val vel
- nélkül
- művek
- világszerte
- lenne
- betakar
- te
- A te
- zephyrnet
- gyertya