Amazon SageMaker több modellből álló végpontok (MME) méretezhető és költséghatékony módot biztosítanak számos gépi tanulási (ML) modell üzembe helyezésére. Lehetővé teszi több ML-modell üzembe helyezését egyetlen kiszolgáló tárolóban, egyetlen végpont mögött. Innentől kezdve a SageMaker kezeli a modellek be- és kirakodását, valamint az erőforrások méretezését az Ön forgalmi mintái alapján. Előnyös lesz a tárhely-erőforrások megosztása és újrafelhasználása, valamint a nagy mennyiségű modell kezelésével járó csökkentett működési teher.
Novemberben 2022, Az MME-k támogatták a GPU-ts, amely lehetővé teszi több modell futtatását egyetlen GPU-eszközön, és a GPU-példányok méretezését egyetlen végpont mögé. Ez kielégíti a mély neurális hálózati (DNN) modellek iránti erős MME-igényt, amelyek profitálnak a GPU-kkal történő gyorsított számításból. Ide tartozik a számítógépes látás (CV), a természetes nyelvi feldolgozás (NLP) és a generatív AI modellek. A kereslet okai a következők:
- A DNN-modellek jellemzően nagy méretűek és összetettek, és továbbra is gyors ütemben növekednek. Az NLP-modellek példájaként sokuk meghaladja a több milliárd paramétert, ami megköveteli, hogy a GPU-k megfeleljenek az alacsony késleltetési és nagy áteresztőképességi követelményeknek.
- Megfigyeltük, hogy egyre nagyobb szükség van ezeknek a modelleknek a személyre szabására annak érdekében, hogy az egyéni felhasználók számára túlságosan személyre szabott élményt nyújtsanak. Amint ezeknek a modelleknek a száma növekszik, szükség van egy egyszerűbb megoldásra számos modell méretarányos üzembe helyezéséhez és üzembe helyezéséhez.
- A GPU-példányok drágák, és ezeket a példányokat a lehető legnagyobb mértékben újra szeretné használni a GPU-kihasználás maximalizálása és a működési költségek csökkentése érdekében.
Bár mindezek az okok arra utalnak, hogy a GPU-val rendelkező MME-k ideális megoldást jelentenek a DNN-modellek számára, ajánlatos terhelési tesztet végezni, hogy megtalálják a megfelelő végpont-konfigurációt, amely megfelel a használati eset követelményeinek. Számos tényező befolyásolhatja a terhelési tesztelés eredményeit, például a példány típusa, a példányok száma, a modell mérete és a modell architektúrája. Ezen túlmenően, a terhelési tesztelés segíthet az automatikus skálázási stratégiák útmutatásában a megfelelő mérőszámok használatával, nem pedig az iteratív próba- és hibamódszerekkel.
Ezen okok miatt állítottuk össze ezt a bejegyzést, hogy segítsünk a GPU-val rendelkező MME-k megfelelő terhelési tesztelésében, és megtalálni a legjobb konfigurációt az ML használati esetéhez. Megosztjuk terheléstesztelési eredményeinket néhány legnépszerűbb DNN-modellre vonatkozóan az NLP-ben és a CV-ben, amelyeket MME-k használatával tárolnak különböző példánytípusokon. Összefoglaljuk a teszteredményeinkből származó betekintéseket és következtetéseket, hogy segítsen megalapozott döntést hozni a saját telepítések konfigurálásával kapcsolatban. Útközben megosztjuk a GPU-n végzett MME-k terhelési tesztelésének javasolt megközelítését is. Az ajánlott eszközök és technikák meghatározzák a példánytípusonként betölthető modellek optimális számát, és segítenek a legjobb ár-teljesítmény elérésében.
Megoldás áttekintése
Az MME-k és a GPU-s MME-k bevezetéséhez lásd: Hozzon létre egy többmodell végpontot és a Futtasson több mély tanulási modellt GPU-n az Amazon SageMaker többmodell végpontjaival. Ebben a bejegyzésben a terhelési teszteléssel kapcsolatban letöltheti mintakódunkat a következő webhelyről: GitHub repo az eredmények reprodukálásához vagy sablonként való felhasználásához saját modelljei összehasonlításához. A repóban két notebook található: az egyik a CV-modellek terhelési teszteléséhez, a másik pedig az NLP-hez. Számos különböző méretű és architektúrájú modellt teszteltek különböző típusú GPU-példányokon: ml.g4dn.2xlarge, ml.g5.2xlarge és ml.p3.2xlarge. Ennek ésszerű keresztmetszetet kell biztosítania a teljesítményről a következő metrikákon minden példányra és modelltípusra vonatkozóan:
- A GPU memóriájába betölthető modellek maximális száma
- Az ügyféloldalon megfigyelt végpontok közötti válasz késés minden következtetési lekérdezésnél
- A lekérdezések maximális átviteli sebessége másodpercenként, amelyet a végpont hiba nélkül tud feldolgozni
- Maximális jelenlegi felhasználók száma példányonként, mielőtt a rendszer egy sikertelen kérést észlel
Az alábbi táblázat felsorolja a tesztelt modelleket.
Használja az ügyet | Modell neve | Méret a lemezen | Paraméterek száma |
CV | resnet50 |
100Mb | 25M |
CV | convnext_base |
352Mb | 88M |
CV | vit_large_patch16_224 |
1.2Gb | 304M |
NLP | bert-base-uncased |
436Mb | 109M |
NLP | roberta-large |
1.3Gb | 335M |
Az alábbi táblázat felsorolja a tesztelt GPU-példányokat.
Példány típusa | GPU típus | GPU-k száma | GPU memória (GiB) |
ml.g4dn.2xnagy | NVIDIA T4 GPU-k | 1 | 16 |
ml.g5.2xnagy | NVIDIA A10G Tensor Core GPU | 1 | 24 |
ml.p3.2xnagy | NVIDIA® V100 Tensor Core GPU | 1 | 16 |
Mint korábban említettük, a kód példa átvehető más modellekhez és példánytípusokhoz.
Vegye figyelembe, hogy az MME-k jelenleg csak egyetlen GPU-példányt támogatnak. A támogatott példánytípusok listáját lásd: Támogatott algoritmusok, keretrendszerek és példányok.
A benchmarking eljárás a következő lépésekből áll:
- Szerezzen le egy előre betanított modellt a modellközpontból.
- Készítse elő a modellműterméket a SageMaker MME-ken való kiszolgáláshoz (lásd Futtasson több mély tanulási modellt GPU-n az Amazon SageMaker többmodell végpontjaival további részletekért).
- Telepítsen egy SageMaker MME-t egy GPU-példányon.
- Határozza meg a GPU memóriájába betölthető modellek maximális számát egy megadott küszöbértéken belül.
- A Locust Load Testing Framework segítségével szimulálja a forgalmat, amely véletlenszerűen hívja meg a példányra betöltött modelleket.
- Gyűjtse össze az adatokat és elemezze az eredményeket.
- Opcionálisan ismételje meg a 2–6. lépéseket a modell TensorRT-be való fordítása után.
A 4. és 5. lépés mélyebb betekintést tesz szükségessé. A SageMaker GPU MME-n belüli modellek dinamikusan töltődnek be a memóriába. Ezért a 4. lépésben feltöltünk egy kezdeti modellműterméket ide Amazon egyszerű tárolási szolgáltatás (Amazon S3), és hívja meg a modellt, hogy betöltse a memóriába. A kezdeti hívás után megmérjük a felhasznált GPU-memória mennyiségét, másolatot készítünk a kezdeti modellről, meghívjuk a modell másolatát, hogy betöltsük a memóriába, és ismét megmérjük a teljes felhasznált GPU-memória mennyiségét. Ez a folyamat addig ismétlődik, amíg el nem éri a GPU-memória-kihasználtság meghatározott százalékos küszöbét. A viszonyítási alapként a küszöbértéket 90%-ra állítottuk, hogy megfelelő memóriapuffert biztosítsunk a nagyobb kötegekre vonatkozó következtetésekhez, vagy hagyjunk helyet más, kevésbé gyakran használt modellek betöltéséhez.
Szimulálja a felhasználói forgalmat
Miután meghatároztuk a modellek számát, lefuttathatunk egy terhelési tesztet a Locust Load Testing Framework. A terhelési teszt szimulálja a véletlenszerű modellekhez intézett felhasználói kéréseket, és automatikusan méri az olyan mutatókat, mint a válasz késleltetése és átviteli sebessége.
A Locust támogatja az egyéni terhelési teszt alakzatokat, amelyek lehetővé teszik egyéni forgalmi minták meghatározását. Az ebben a viszonyítási alapban használt alakzat a következő táblázatban látható. Az első 30 másodpercben a végpont 10 egyidejű felhasználóval melegszik fel. 30 másodperc elteltével másodpercenként kettő új felhasználók jelennek meg, 20 másodpercnél elérve a 40 egyidejű felhasználót. A végpontot ezután folyamatosan 20 egyidejű felhasználóval tesztelik a 60 másodpercig, ekkor a Locust ismét elkezdi a felhasználókat másodpercenként kettővel növelni 40 egyidejű felhasználóig. Ez a felfutási és folyamatos tesztelési minta addig ismétlődik, amíg a végpont 200 egyidejű felhasználóra nem emelkedik. A használati esettől függően érdemes lehet módosítani a terhelési teszt alakját a locust_benchmark_sm.py fájlban, hogy pontosabban tükrözze a várható forgalmi mintákat. Ha például nagyobb nyelvi modelleket kíván üzemeltetni, előfordulhat, hogy egy 200 egyidejű felhasználóval végzett terhelési teszt nem kivitelezhető egy egyetlen példányon tárolt modellnél, ezért érdemes csökkenteni a felhasználók számát vagy növelni a példányok számát. Érdemes meghosszabbítani a terhelési teszt időtartamát is, hogy pontosabban mérje fel a végpont stabilitását hosszabb időn keresztül.
stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]
Vegye figyelembe, hogy a végpontot csak homogén modellekkel végeztük, amelyek mindegyike konzisztens kiszolgálási alapokon fut PyTorch vagy TensorRT használatával. Ennek az az oka, hogy az MME-k a legalkalmasabbak sok hasonló jellemzőkkel, például memóriafogyasztással és válaszidővel rendelkező modell fogadására. A benchmarking sablonokat a GitHub repo továbbra is használható annak meghatározására, hogy a heterogén modellek MME-ken való kiszolgálása meghozza-e a kívánt teljesítményt és stabilitást.
Összehasonlítási eredmények az önéletrajz-modellek esetében
Használja a cv-benchmark.ipynb notebookot a számítógépes látásmodellek terhelési tesztelésének futtatásához. Az előre betanított modellnév és példánytípus paramétereit beállíthatja a különböző modell- és példánytípus-kombinációk teljesítményterhelési teszteléséhez. Szándékosan teszteltünk három CV-modellt különböző mérettartományokban a legkisebbtől a legnagyobbig: resnet50
(25 millió), convnext_base
(88M), és vit_large_patch16_224
(304M). Előfordulhat, hogy módosítania kell a kódot, ha a listán kívüli modellt választja. emellett a notebook a bemeneti kép alakját alapértelmezés szerint 224x224x3 képtenzorra állítja. Ne felejtse el ennek megfelelően módosítani a bemeneti alakot, ha olyan modelleket szeretne összehasonlítani, amelyek eltérő méretű képet készítenek.
Miután végigfutotta a teljes notebookot, számos teljesítményelemzési vizualizációt kap. Az első kettő a modell teljesítményét részletezi, tekintettel a növekvő egyidejű felhasználók számára. A következő ábrák a következőhöz generált példa-vizualizációkat mutatják be ResNet50
ml.g4dn.2xlarge-en futó modell, a PyTorch (bal oldali) és a TensorRT (jobb) összehasonlítása. A felső soros grafikonok a modell késleltetését és átviteli sebességét mutatják az y tengelyen, miközben az x tengelyen egyre több egyidejű ügyfélmunkás jelenik meg. Az alsó sávdiagramok a sikeres és sikertelen kérések számát mutatják.
Az összes általunk tesztelt számítógépes látási modellt áttekintve a következőket figyeltük meg:
- A késleltetés (ezredmásodpercben) magasabb, és az átviteli sebesség (másodpercenkénti kérések) alacsonyabb a nagyobb modelleknél (
resnet50 > convnext_base > vit_large_patch16_224
). - A várakozási idő növekedése arányos a felhasználók számával, mivel több kérés kerül sorba a következtetési kiszolgálón.
- A nagy modellek több számítási erőforrást fogyasztanak, és kevesebb felhasználóval érhetik el maximális átviteli korlátaikat, mint egy kisebb modell. Ez megfigyelhető a
vit_large_patch16_224
modell, amely 140 egyidejű felhasználónál rögzítette az első sikertelen kérést. Mivel lényegesen nagyobb, mint a másik két tesztelt modell, ennek volt a legtöbb sikertelen kérése magasabb egyidejűség esetén is. Ez egyértelmű jele annak, hogy a végpontnak egyetlen példányon túl kell lépnie, ha több mint 140 egyidejű felhasználót kíván támogatni.
A notebook futtatásának végén a PyTorch vs. TensorRT modellek összefoglaló összehasonlítását is kapja a négy kulcsfontosságú mérőszám mindegyikéhez. A benchmark tesztelésünk alapján a CV-modellek mindegyike megnövelte a modellek teljesítményét a TensorRT összeállítása után. Elvéve a miénket ResNet50
A példakénti modellnél a késleltetés 32%-kal csökkent, míg az áteresztőképesség 18%-kal nőtt. Bár az egyidejű felhasználók maximális száma változatlan maradt ResNet50
, a másik két modellnél egyaránt 14%-os javulást tapasztaltak a támogatható egyidejű felhasználók számában. A TensorRT teljesítményének javulása azonban a magasabb memóriakihasználás rovására ment, aminek következtében kevesebb modellt töltöttek be az MME-k. A hatás inkább a konvolúciós neurális hálózatot (CNN) használó modellekre vonatkozik. Valójában a ResNet50 modellünk körülbelül kétszer annyi GPU-memóriát fogyasztott, mint a PyTorch-ről a TensorRT-re, ami 50%-kal kevesebb modellt töltött be (46 a 23-mal szemben). Ezt a viselkedést részletesebben diagnosztizáljuk a következő részben.
Összehasonlítási eredmények az NLP modellekhez
Az NLP-modellek esetében használja az nlp-benchmark.ipynb notebookot a terhelési teszt futtatásához. A notebook beállításának nagyon hasonlónak kell lennie. Két NLP modellt teszteltünk: bert-base-uncased (109M) és roberta-large (335M). Az előre betanított modell és a tokenizátor egyaránt letöltődik a Hugging Face hubról, és a teszt hasznos terhelést a tokenizátorból állítják elő egy mintakarakterlánc segítségével. A sorozat maximális hossza alapértelmezés szerint 128. Ha hosszabb karakterláncokat kell tesztelnie, ne felejtse el módosítani ezt a paramétert. Az NLP-jegyzetfüzet átfutása ugyanazt a vizualizációt generálja: Pytorch (balra) vs TensorRT (jobbra).
Ezek alapján a TensorRT még nagyobb teljesítmény-előnyét tapasztaltuk az NLP-modellek esetében. Fogadva a roberta-large
Például egy ml.g4dn.2xlarge példányon a következtetési késleltetés drámaian csökkent 180 ezredmásodpercről 56 milliszekundumra (70%-os javulás), míg az átviteli sebesség 406%-kal javult, másodpercenkénti 33 kérésről 167-re. a felhasználók száma 50%-kal nőtt; A sikertelen kéréseket addig nem figyelték meg, amíg el nem értük a 180 egyidejű felhasználót, szemben az eredeti PyTorch modell 120-zal. Ami a memóriahasználatot illeti, eggyel kevesebb modellt láttunk betölteni a TensorRT-hez (kilenc modellről nyolcra). A negatív hatás azonban sokkal kisebb, mint amit a CNN-alapú modelleknél tapasztaltunk.
Memóriahasználat elemzése
A következő táblázat a memóriahasználati hatás teljes elemzését mutatja a PyTorch-től a TensorRT-ig. Korábban említettük, hogy a CNN-alapú modelleket negatívabban érintik. A ResNet50
modell több mint 50%-kal csökkent a betöltött modellek számában mindhárom GPU-példánytípusban. Convnext_base
még nagyobb, körülbelül 70%-os csökkenést mutatott. Másrészt a transzformátor modellekre gyakorolt hatás kicsi vagy vegyes. vit_large_patch16_224
és a roberta-large
átlagosan körülbelül 20%-kal, illetve 3%-kal csökkent, míg bert-base-uncased
körülbelül 40%-os javulást mutatott.
Az összes adatpont egészét tekintve a várakozási idő, az átviteli sebesség és a megbízhatóság kiváló teljesítménye, valamint a betöltött modellek maximális számára gyakorolt csekély hatás tekintetében, a TensorRT modellt ajánljuk transzformátor alapú modellarchitektúrákhoz. Úgy gondoljuk, hogy a CNN-ek esetében további költség-teljesítményelemzésre van szükség annak biztosítására, hogy a teljesítményből származó előny meghaladja a további tárhely-infrastruktúra költségeit.
ML használati eset | Építészet | Modell neve | Példány típusa | Keretrendszer | Max modellek betöltve | Különbség (%) | Átl. Különbség (%) |
CV | CNN | Resnet50 |
ml.g4dn.2xnagy | PyTorch | 46 | -50% | -50% |
TensorRT | 23 | ||||||
ml.g5.2xnagy | PyTorch | 70 | -51% | ||||
TensorRT | 34 | ||||||
ml.p3.2xnagy | PyTorch | 49 | -51% | ||||
TensorRT | 24 | ||||||
Convnext_base |
ml.g4dn.2xnagy | PyTorch | 33 | -50% | -70% | ||
TensorRT | 10 | ||||||
ml.g5.2xnagy | PyTorch | 50 | -70% | ||||
TensorRT | 16 | ||||||
ml.p3.2xnagy | PyTorch | 35 | -69% | ||||
TensorRT | 11 | ||||||
Transzformátor | vit_large_patch16_224 |
ml.g4dn.2xnagy | PyTorch | 10 | -30% | -20% | |
TensorRT | 7 | ||||||
ml.g5.2xnagy | PyTorch | 15 | -13% | ||||
TensorRT | 13 | ||||||
ml.p3.2xnagy | PyTorch | 11 | -18% | ||||
TensorRT | 9 | ||||||
NLP | Roberta-large |
ml.g4dn.2xnagy | PyTorch | 9 | -11% | -3% | |
TensorRT | 8 | ||||||
ml.g5.2xnagy | PyTorch | 13 | 0% | ||||
TensorRT | 13 | ||||||
ml.p3.2xnagy | PyTorch | 9 | 0% | ||||
TensorRT | 9 | ||||||
Bert-base-uncased |
ml.g4dn.2xnagy | PyTorch | 26 | 62% | 40% | ||
TensorRT | 42 | ||||||
ml.g5.2xnagy | PyTorch | 39 | 28% | ||||
TensorRT | 50 | ||||||
ml.p3.2xnagy | PyTorch | 28 | 29% | ||||
TensorRT | 36 |
A következő táblázatok a teljes benchmark eredményeinket sorolják fel mindhárom GPU-példánytípus összes mérőszámára vonatkozóan.
ml.g4dn.2xnagy |
||||||||||||
Használja az ügyet | Építészet | Modell neve | Paraméterek száma | Keretrendszer | Max modellek betöltve | Különbség (%) | Latencia (ms) | Különbség (%) | Átbocsátóképesség (qps) | Különbség (%) | Maximum egyidejű felhasználók | Különbség (%) |
CV | CNN | resnet50 |
25M | PyTorch | 46 | -50% | 164 | -32% | 120 | 18% | 180 | NA |
TensorRT | 23 | . | 111 | . | 142 | . | 180 | . | ||||
convnext_base |
88M | PyTorch | 33 | -70% | 154 | -22% | 64 | 102% | 140 | 14% | ||
TensorRT | 10 | . | 120 | . | 129 | . | 160 | . | ||||
Transzformátor | vit_large_patch16_224 |
304M | PyTorch | 10 | -30% | 425 | -69% | 26 | 304% | 140 | 14% | |
TensorRT | 7 | . | 131 | . | 105 | . | 160 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 26 | 62% | 70 | -39% | 105 | 142% | 140 | 29% | |
TensorRT | 42 | . | 43 | . | 254 | . | 180 | . | ||||
roberta-large |
335M | PyTorch | 9 | -11% | 187 | -70% | 33 | 406% | 120 | 50% | ||
TensorRT | 8 | . | 56 | . | 167 | . | 180 | . |
ml.g5.2xnagy |
||||||||||||
Használja az ügyet | Építészet | Modell neve | Paraméterek száma | Keretrendszer | Max modellek betöltve | Különbség (%) | Latencia (ms) | Különbség (%) | Átbocsátóképesség (qps) | Különbség (%) | Maximum egyidejű felhasználók | Különbség (%) |
CV | CNN | resnet50 |
25M | PyTorch | 70 | -51% | 159 | -31% | 146 | 14% | 180 | 11% |
TensorRT | 34 | . | 110 | . | 166 | . | 200 | . | ||||
convnext_base |
88M | PyTorch | 50 | -68% | 149 | -23% | 134 | 13% | 180 | 0% | ||
TensorRT | 16 | . | 115 | . | 152 | . | 180 | . | ||||
Transzformátor | vit_large_patch16_224 |
304M | PyTorch | 15 | -13% | 149 | -22% | 105 | 35% | 160 | 25% | |
TensorRT | 13 | . | 116 | . | 142 | . | 200 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 39 | 28% | 65 | -29% | 183 | 38% | 180 | 11% | |
TensorRT | 50 | . | 46 | . | 253 | . | 200 | . | ||||
roberta-large |
335M | PyTorch | 13 | 0% | 97 | -38% | 121 | 46% | 140 | 14% | ||
TensorRT | 13 | . | 60 | . | 177 | . | 160 | . |
ml.p3.2xnagy |
||||||||||||
Használja az ügyet | Építészet | Modell neve | Paraméterek száma | Keretrendszer | Max modellek betöltve | Különbség (%) | Latencia (ms) | Különbség (%) | Átbocsátóképesség (qps) | Különbség (%) | Maximum egyidejű felhasználók | Különbség (%) |
CV | CNN | resnet50 |
25M | PyTorch | 49 | -51% | 197 | -41% | 94 | 18% | 160 | -12% |
TensorRT | 24 | . | 117 | . | 111 | . | 140 | . | ||||
convnext_base |
88M | PyTorch | 35 | -69% | 178 | -23% | 89 | 11% | 140 | 14% | ||
TensorRT | 11 | . 137 | 137 | . | 99 | . | 160 | . | ||||
Transzformátor | vit_large_patch16_224 |
304M | PyTorch | 11 | -18% | 186 | -28% | 83 | 23% | 140 | 29% | |
TensorRT | 9 | . | 134 | . | 102 | . | 180 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 28 | 29% | 77 | -40% | 133 | 59% | 140 | 43% | |
TensorRT | 36 | . | 46 | . | 212 | . | 200 | . | ||||
roberta-large |
335M | PyTorch | 9 | 0% | 108 | -44% | 88 | 60% | 160 | 0% | ||
TensorRT | 9 | . | 61 | . | 141 | . | 160 | . |
Az alábbi táblázat összefoglalja az összes példánytípus eredményeit. Az ml.g5.2xlarge példány biztosítja a legjobb teljesítményt, míg az ml.p3.2xlarge példány általában gyengébb, annak ellenére, hogy a három közül a legdrágább. A g5 és g4dn példányok mutatják a legjobb értéket a következtetési munkaterhelések tekintetében.
Használja az ügyet | Építészet | Modell neve | Paraméterek száma | Keretrendszer | Példány típusa | Max modellek betöltve | Különbség (%) | Latencia (ms) | Különbség (%) | Átbocsátóképesség (qps) | Különbség (%) | Maximum egyidejű felhasználók |
CV | CNN | resnet50 |
25M | PyTorch | ml.g5.2xnagy | 70 | . | 159 | . | 146 | . | 180 |
. | . | . | . | . | ml.p3.2xnagy | 49 | . | 197 | . | 94 | . | 160 |
. | . | . | . | . | ml.g4dn.2xnagy | 46 | . | 164 | . | 120 | . | 180 |
CV | CN | resnet50 |
25M | TensorRT | ml.g5.2xnagy | 34 | -51% | 110 | -31% | 166 | 14% | 200 |
. | . | . | . | . | ml.p3.2xnagy | 24 | -51% | 117 | -41% | 111 | 18% | 200 |
. | . | . | . | . | ml.g4dn.2xnagy | 23 | -50% | 111 | -32% | 142 | 18% | 180 |
NLP | Transzformátor | bert-base-uncased |
109M | pytorch | ml.g5.2xnagy | 39 | . | 65 | . | 183 | . | 180 |
. | . | . | . | . | ml.p3.2xnagy | 28 | . | 77 | . | 133 | . | 140 |
. | . | . | . | . | ml.g4dn.2xnagy | 26 | . | 70 | . | 105 | . | 140 |
NLP | Transzformátor | bert-base-uncased |
109M | TensorRT | ml.g5.2xnagy | 50 | 28% | 46 | -29% | 253 | 38% | 200 |
. | . | . | . | . | ml.p3.2xnagy | 36 | 29% | 46 | -40% | 212 | 59% | 200 |
. | . | . | . | . | ml.g4dn.2xnagy | 42 | 62% | 43 | -39% | 254 | 142% | 180 |
Tisztítsuk meg
A terhelési teszt befejezése után tisztítsa meg a generált erőforrásokat, hogy elkerülje a további költségeket. A fő erőforrások a SageMaker végpontok és az Amazon S3 modelltermékfájlok. Az egyszerűbb dolguk érdekében a jegyzetfüzet-fájlok a következő tisztítókóddal rendelkeznek, amely segít a törlésben:
Következtetés
Ebben a bejegyzésben megosztottuk teszteredményeinket és elemzéseinket különböző mély neurális hálózati modellekhez, amelyek SageMaker többmodelles végpontjain futnak GPU-val. Az általunk megosztott eredményeknek és betekintéseknek ésszerű keresztmetszetet kell nyújtaniuk a különböző metrikák és példánytípusok teljesítményéről. A folyamat során bevezettük az általunk javasolt megközelítést a GPU-s SageMaker MME-k benchmark tesztelésének futtatására. Az általunk biztosított eszközök és mintakód segítségével gyorsan elindíthatja a benchmark tesztelést, és megalapozottabb döntést hozhat arról, hogyan lehet költséghatékonyan tárolni több száz DNN-modellt gyorsított számítási hardveren. A GPU MME-támogatásával rendelkező saját modellek összehasonlító elemzésének megkezdéséhez tekintse meg a következőt: Támogatott algoritmusok, keretrendszerek és példányok és a GitHub repo további példákért és dokumentációért.
A szerzőkről
James Wu az AWS vezető AI/ML specialista megoldástervezője. segít az ügyfeleknek AI/ML megoldások tervezésében és kivitelezésében. James munkája az ML felhasználási esetek széles skáláját fedi le, elsősorban a számítógépes látás, a mély tanulás és az ML méretezése a vállalaton belül. Mielőtt csatlakozott az AWS-hez, James több mint 10 évig építész, fejlesztő és technológiai vezető volt, ebből 6 évig mérnöki és 4 évig marketing és reklámiparban dolgozott.
Vikram Elango AI/ML Specialist Solutions Architect az Amazon Web Servicesnél, Virginia államban, USA-ban. A Vikram a pénzügyi és biztosítási ágazat ügyfeleit tervezéssel, vezető szereppel segíti a gépi tanulási alkalmazások nagyszabású létrehozásában és üzembe helyezésében. Jelenleg a természetes nyelvi feldolgozásra, a felelős AI-re, a következtetések optimalizálására és az ML méretezésére összpontosít a vállalaton belül. Szabadidejében szeret utazni, kirándulni, főzni és kempingezni családjával.
Simon Zamarin egy AI/ML Solutions Architect, akinek fő célja az, hogy segítse az ügyfeleket abban, hogy értéket vonjanak ki adatvagyonukból. Szabadidejében Simon szívesen tölt időt a családjával, sci-fit olvas, és különféle barkácsházi projekteken dolgozik.
Saurabh Trikande az Amazon SageMaker Inference vezető termékmenedzsere. Szenvedélyesen dolgozik az ügyfelekkel, és a gépi tanulás demokratizálásának célja motiválja. A komplex ML-alkalmazások telepítésével, a több bérlős ML-modellekkel, a költségoptimalizálással és a mély tanulási modellek bevezetésének elérhetőbbé tételével kapcsolatos alapvető kihívásokra összpontosít. Szabadidejében Saurabh szeret túrázni, innovatív technológiákat tanulni, követi a TechCrunch-ot é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.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/achieve-high-performance-at-scale-for-model-serving-using-amazon-sagemaker-multi-model-endpoints-with-gpu/
- 10
- 100
- 11
- 2022
- 7
- a
- képesség
- Rólunk
- felgyorsult
- hozzáférhető
- Eszerint
- pontosan
- Elérése
- át
- hozzáadott
- mellett
- További
- Ezen kívül
- fogadott
- Hirdetés
- Után
- AI
- AI / ML
- algoritmusok
- Minden termék
- lehetővé teszi, hogy
- Bár
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- összeg
- elemzés
- elemez
- és a
- Másik
- alkalmazások
- megközelítés
- körülbelül
- építészet
- Eszközök
- auto
- automatikusan
- átlagos
- AWS
- bár
- alapján
- mert
- előtt
- mögött
- hogy
- Hisz
- benchmark
- összehasonlított
- benchmarking
- haszon
- BEST
- Túl
- nagyobb
- milliárd
- bizottság
- fellendítésére
- Alsó
- ütköző
- épít
- teher
- eset
- esetek
- kihívások
- jellemzők
- díjak
- Táblázatos
- táblázatok
- világos
- vásárló
- CNN
- kód
- kombinációk
- képest
- összehasonlítva
- összehasonlítás
- teljes
- bonyolult
- bonyolultság
- Tartalmaz
- Kiszámít
- számítógép
- Számítógépes látás
- következtetés
- egyidejű
- Configuration
- következetes
- fogyaszt
- fogyasztott
- fogyasztás
- Konténer
- kontextus
- folytatódik
- Mag
- Költség
- költséghatékony
- Covers
- Kereszt
- Jelenlegi
- Jelenleg
- szokás
- Ügyfelek
- dátum
- adat pontok
- döntés
- mély
- mély tanulás
- mélyebb
- alapértelmezett
- szállít
- Kereslet
- demokratizálásának
- bizonyítani
- attól
- telepíteni
- bevezetéséhez
- bevetés
- bevetések
- Design
- kívánatos
- Ellenére
- részlet
- részletek
- Határozzuk meg
- eltökélt
- Fejlesztő
- eszköz
- különböző
- diy
- dokumentáció
- letöltés
- drámaian
- dinamikus
- minden
- Korábban
- könnyebb
- bármelyik
- Endpoint
- Mérnöki
- Vállalkozás
- Egész
- hiba
- Még
- példa
- példák
- haladja meg
- várható
- drága
- Tapasztalatok
- terjed
- kivonat
- Arc
- tényezők
- Sikertelen
- család
- Divat
- megvalósítható
- ábrák
- Fájlok
- pénzügyi
- Találjon
- vezetéknév
- Összpontosít
- összpontosított
- koncentrál
- következő
- Keretrendszer
- keretek
- ból ből
- Tele
- további
- általában
- generált
- generál
- nemző
- Generatív AI
- kap
- ad
- cél
- megy
- GPU
- GPU
- grafikonok
- Növekvő
- útmutató
- kéz
- hardver
- segít
- segít
- segít
- Magas
- <p></p>
- vendéglátó
- házigazdája
- tárhely
- Ház
- Hogyan
- How To
- azonban
- HTML
- HTTPS
- Kerékagy
- Több száz
- ideális
- kép
- Hatás
- befolyásolta
- javított
- javulás
- in
- tartalmaz
- Beleértve
- Növelje
- <p></p>
- Növeli
- növekvő
- egyéni
- iparágak
- ipar
- befolyás
- tájékoztatták
- Infrastruktúra
- kezdetben
- újító
- innovatív technológiák
- bemenet
- meglátások
- példa
- biztosítás
- A szándék
- kamat
- Bevezetett
- Bevezetés
- behívja
- IT
- csatlakozott
- Kulcs
- nyelv
- nagy
- nagyobb
- legnagyobb
- Késleltetés
- vezető
- Vezetés
- tanulás
- kilépő
- Hossz
- határértékek
- vonal
- Lista
- listák
- kiszámításának
- betöltés
- hosszabb
- néz
- Elő/Utó
- gép
- gépi tanulás
- Fő
- csinál
- Gyártás
- menedzser
- kezeli
- kezelése
- sok
- jel
- Marketing
- Marketing és reklám
- max
- Maximize
- maximális
- intézkedés
- intézkedések
- Memory design
- említett
- mód
- Metrics
- kisebb
- vegyes
- ML
- modell
- modellek
- több
- a legtöbb
- Legnepszerubb
- motivált
- MS
- többszörös
- név
- Természetes
- Természetes nyelvi feldolgozás
- Szükség
- negatív
- negatívan
- hálózat
- neurális hálózat
- Új
- NLP
- jegyzetfüzet
- november
- szám
- számok
- ONE
- üzemeltetési
- operatív
- optimalizálás
- optimális
- opció
- eredeti
- Más
- kívül
- átfogó
- saját
- Béke
- paraméter
- paraméterek
- szenvedélyes
- Mintás
- minták
- százalék
- Teljesít
- teljesítmény
- előadó
- időszak
- vedd
- Plató
- Platón adatintelligencia
- PlatoData
- pont
- pont
- Népszerű
- lehetséges
- állás
- korábban
- elsődleges
- Előzetes
- folyamat
- feldolgozás
- Termékek
- termék menedzser
- projektek
- megfelelő
- ad
- feltéve,
- biztosít
- tesz
- pytorch
- mennyiség
- Rámpa
- rámpa
- véletlen
- hatótávolság
- gyors
- Arány
- el
- elérte
- elérése
- Olvasás
- ésszerű
- miatt
- ajánl
- ajánlott
- feljegyzett
- csökkenteni
- Csökkent
- tükröznie
- tükrözi
- tekintetében
- összefüggő
- megbízhatóság
- eszébe jut
- ismétlés
- megismételt
- kérni
- kéri
- követelmények
- megköveteli,
- Tudástár
- válasz
- felelős
- kapott
- Eredmények
- futás
- futás
- sagemaker
- SageMaker következtetés
- azonos
- skálázható
- Skála
- skálázás
- sci-fi
- Második
- másodperc
- Rész
- idősebb
- Sorozat
- Szolgáltatások
- szolgáló
- készlet
- felépítés
- számos
- Alak
- formák
- Megosztás
- megosztott
- megosztás
- kellene
- előadás
- mutatott
- Műsorok
- oldal
- Jel
- jelentősen
- hasonló
- Simon
- Egyszerű
- egyetlen
- Méret
- méretek
- kicsi
- kisebb
- megoldások
- Megoldások
- néhány
- Hely
- szakember
- meghatározott
- Költési
- Stabilitás
- kezdődött
- tartózkodott
- állandó
- Lépés
- Lépései
- Még mindig
- tárolás
- stratégiák
- erős
- sikeres
- ilyen
- összegez
- ÖSSZEFOGLALÓ
- felettes
- támogatás
- Támogatott
- Támogatja
- táblázat
- Vesz
- bevétel
- TechCrunch
- Technologies
- Technológia
- sablon
- sablonok
- feltételek
- teszt
- Tesztelés
- A
- azok
- ebből adódóan
- gondoltam
- gondolkodás vezetés
- három
- küszöb
- Keresztül
- áteresztőképesség
- idő
- nak nek
- együtt
- szerszámok
- felső
- Végösszeg
- forgalom
- Utazó
- próba
- Kétszer
- típusok
- jellemzően
- USA
- használ
- használati eset
- használó
- Felhasználók
- érték
- különféle
- Virginia
- látomás
- parancs
- háló
- webes szolgáltatások
- Mit
- vajon
- ami
- míg
- egész
- széles
- Széleskörű
- lesz
- belül
- nélkül
- Munka
- dolgozók
- dolgozó
- lenne
- év
- Hozam
- te
- A te
- zephyrnet