Érjen el nagy méretarányú modellkiszolgálási teljesítményt az Amazon SageMaker többmodell végpontjaival GPU-val

Érjen el nagy méretarányú modellkiszolgálási teljesítményt az Amazon SageMaker többmodell végpontjaival GPU-val

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:

  1. Szerezzen le egy előre betanított modellt a modellközpontból.
  2. 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).
  3. Telepítsen egy SageMaker MME-t egy GPU-példányon.
  4. 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.
  5. 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.
  6. Gyűjtse össze az adatokat és elemezze az eredményeket.
  7. 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},
…
]

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.

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.

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.

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.

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.

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).

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.

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:

delete_endpoint(sm_client, sm_model_name, endpoint_config_name, endpoint_name) ! aws s3 rm --recursive {trt_mme_path}

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

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.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.

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.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.

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai.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.

Achieve high performance at scale for model serving using Amazon SageMaker multi-model endpoints with GPU PlatoBlockchain Data Intelligence. Vertical Search. Ai. 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.

Időbélyeg:

Még több AWS gépi tanulás