Amazon SageMaker mitme mudeli lõpp-punktid (MME) pakuvad skaleeritavat ja kulutõhusat viisi suure hulga masinõppe (ML) mudelite juurutamiseks. See annab teile võimaluse juurutada mitu ML-mudelit ühes esituskonteineris ühe lõpp-punkti taga. Sealt edasi haldab SageMaker mudelite laadimist ja mahalaadimist ning ressursside skaleerimist teie nimel teie liiklusmustrite alusel. Saate kasu hostimisressursside jagamisest ja taaskasutamisest ning suure hulga mudelite haldamise väiksemast töökoormusest.
Novembris 2022 MME-d lisasid GPU toes, mis võimaldab ühes GPU-seadmes käitada mitut mudelit ja skaleerida GPU eksemplare ühe lõpp-punkti taha. See rahuldab MME tugevat nõudlust sügava närvivõrgu (DNN) mudelite järele, mis saavad kasu GPU-dega kiirendatud arvutusest. Nende hulka kuuluvad arvutinägemine (CV), loomuliku keele töötlemine (NLP) ja generatiivsed AI mudelid. Nõudmise põhjused on järgmised:
- DNN-i mudelid on tavaliselt suurte mõõtmete ja keerukusega ning kasvavad kiiresti. Võttes näiteks NLP-mudelid, ületavad paljud neist miljardeid parameetreid, mis nõuab, et GPU-d vastaksid madala latentsusaja ja suure läbilaskevõime nõuetele.
- Oleme täheldanud suurenenud vajadust nende mudelite kohandamise järele, et pakkuda üksikutele kasutajatele ülipersonaliseeritud kogemusi. Kuna nende mudelite hulk suureneb, on vaja lihtsamat lahendust paljude mudelite ulatuslikuks juurutamiseks ja kasutuselevõtuks.
- GPU eksemplarid on kallid ja soovite neid eksemplare võimalikult palju uuesti kasutada, et maksimeerida GPU kasutust ja vähendada tegevuskulusid.
Kuigi kõik need põhjused viitavad GPU-ga MME-dele kui ideaalsele võimalusele DNN-mudelite jaoks, on soovitatav läbi viia koormustest, et leida õige lõpp-punkti konfiguratsioon, mis vastab teie kasutusjuhtumi nõuetele. Koormustesti tulemusi võivad mõjutada paljud tegurid, näiteks eksemplari tüüp, eksemplaride arv, mudeli suurus ja mudeli arhitektuur. Lisaks võib koormustestimine aidata suunata automaatse skaleerimise strateegiaid, kasutades õigeid mõõdikuid, mitte korduvaid katse- ja veameetodeid.
Nendel põhjustel koostasime selle postituse, et aidata teil GPU-ga MME-sid korralikult testida ja leida oma ML-i kasutusjuhtumi jaoks parim konfiguratsioon. Jagame oma koormustestimise tulemusi mõne populaarseima DNN-mudeli kohta NLP-s ja CV-s, mida hostitakse erinevate eksemplaritüüpide MME-de abil. Teeme kokkuvõtte oma testitulemustest ja järeldustest, et aidata teil teha teadlikke otsuseid oma juurutuste konfigureerimise kohta. Samal ajal jagame ka meie soovitatud lähenemisviisi MME-de koormustesti läbiviimiseks GPU-s. Soovitatavad tööriistad ja tehnika määravad iga eksemplari tüübi kohta laaditavate mudelite optimaalse arvu ning aitavad teil saavutada parima hinna ja kvaliteedi suhte.
Lahenduse ülevaade
MME-de ja GPU-ga MME-de sissejuhatuse saamiseks vaadake Looge mitme mudeli lõpp-punkt ja Käitage GPU-s mitut süvaõppe mudelit Amazon SageMakeri mitme mudeli lõpp-punktiga. Selle postituse koormustestimise kontekstis saate meie näidiskoodi alla laadida saidilt GitHub repo tulemuste reprodutseerimiseks või mallina oma mudelite võrdlemiseks. Repos on kaks sülearvutit: üks CV mudelite koormustestimiseks ja teine NLP jaoks. Erinevat tüüpi GPU eksemplaridel tehti võrdlusuuringuid mitu erineva suuruse ja arhitektuuriga mudelit: ml.g4dn.2xlarge, ml.g5.2xlarge ja ml.p3.2xlarge. See peaks andma mõistliku ristlõike toimivusest iga eksemplari ja mudelitüübi kohta järgmiste mõõdikute kaudu:
- Maksimaalne mudelite arv, mida saab GPU mällu laadida
- End-to-end vastuse latentsusaeg, mida täheldatakse kliendi poolel iga järelduspäringu puhul
- Päringute maksimaalne läbilaskevõime sekundis, mida lõpp-punkt saab vigadeta töödelda
- Maksimaalne praeguste kasutajate arv eksemplari kohta enne ebaõnnestunud päringu jälgimist
Järgmises tabelis on loetletud testitud mudelid.
Kasuta Case'it | Mudeli nimi | Suurus kettal | Parameetrite arv |
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 |
Järgmises tabelis on loetletud testitud GPU eksemplarid.
Juhtumi tüüp | GPU tüüp | GPU-de arv | GPU mälu (GiB) |
ml.g4dn.2xsuur | NVIDIA T4 GPU-d | 1 | 16 |
ml.g5.2xsuur | NVIDIA A10G Tensor Core GPU | 1 | 24 |
ml.p3.2xsuur | NVIDIA® V100 Tensor Core GPU | 1 | 16 |
Nagu eelnevalt mainitud, koodi näide saab kasutada teiste mudelite ja eksemplaritüüpidega.
Pange tähele, et MME-d toetavad praegu ainult üksikuid GPU eksemplare. Toetatud eksemplaritüüpide loendi leiate jaotisest Toetatud algoritmid, raamistikud ja eksemplarid.
Võrdlusuuringu protseduur koosneb järgmistest etappidest:
- Tooge mudelikeskusest välja eelkoolitatud mudel.
- Valmistage mudelartefakt ette SageMakeri MME-des esitamiseks (vt Käitage GPU-s mitut süvaõppe mudelit Amazon SageMakeri mitme mudeli lõpp-punktiga üksikasjad).
- Juurutage SageMaker MME GPU eksemplarile.
- Määrake maksimaalne mudelite arv, mida saab GPU mällu laadida määratud läve piires.
- Kasutage Locust Load Testing Frameworki, et simuleerida liiklust, mis kutsub juhuslikult eksemplari laaditud mudeleid.
- Koguge andmeid ja analüüsige tulemusi.
- Soovi korral korrake samme 2–6 pärast mudeli koostamist TensorRT-sse.
Sammud 4 ja 5 tagavad sügavama ülevaate. SageMaker GPU MME mudelid laaditakse mällu dünaamiliselt. Seetõttu laadime 4. sammus üles esialgse mudeliartefakti asukohta Amazoni lihtne salvestusteenus (Amazon S3) ja käivitage mudel, et see mällu laadida. Pärast esialgset kutsumist mõõdame tarbitud GPU-mälu, teeme esialgsest mudelist koopia, kutsume mudeli koopia selle mällu laadimiseks ja mõõdame uuesti tarbitud GPU-mälu kogumahtu. Seda protsessi korratakse, kuni saavutatakse GPU-mälu kasutamise määratud protsentuaalne künnis. Võrdlusaluseks seadsime läveks 90%, et pakkuda mõistlikku mälupuhvrit suuremate partiide kohta järelduste tegemiseks või ruumi jätmiseks muude harvemini kasutatavate mudelite laadimiseks.
Simuleerida kasutajaliiklust
Pärast mudelite arvu kindlaksmääramist saame käivitada koormustesti, kasutades Jaanileivapuu koormuse testimise raamistik. Koormustest simuleerib kasutajate taotlusi juhuslikele mudelitele ja mõõdab automaatselt selliseid mõõdikuid nagu vastuse latentsus ja läbilaskevõime.
Locust toetab kohandatud koormustesti kujundeid, mis võimaldavad teil määratleda kohandatud liiklusmustreid. Selles võrdlusaluses kasutatud kuju on näidatud järgmises tabelis. Esimese 30 sekundi jooksul soojendatakse lõpp-punkti 10 samaaegse kasutajaga. 30 sekundi pärast luuakse uusi kasutajaid kiirusega kaks sekundis, jõudes 20 samaaegse kasutajani 40 sekundi pärast. Seejärel võrreldakse lõpp-punkti pidevalt 20 samaaegse kasutajaga kuni 60-sekundilise märgini, misjärel hakkab Locust taas suurendama kasutajaid kiirusega kaks sekundis kuni 40 samaaegse kasutajani. Seda suurendamise ja pideva testimise mustrit korratakse, kuni lõpp-punkti suurendatakse kuni 200 samaaegse kasutajani. Sõltuvalt teie kasutusjuhtumist võite soovida kohandada failis locust_benchmark_sm.py koormustesti kuju, et kajastada teie eeldatavaid liiklusmustreid täpsemalt. Näiteks kui kavatsete majutada suuremaid keelemudeleid, ei pruugi 200 samaaegse kasutajaga koormustest olla ühel eksemplaril hostitud mudeli puhul teostatav ja seetõttu võib tekkida soov vähendada kasutajate arvu või suurendada eksemplaride arvu. Samuti võite soovida pikendada koormustesti kestust, et mõõta täpsemalt lõpp-punkti stabiilsust pikema aja jooksul.
stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]
Pange tähele, et oleme võrdlenud lõpp-punkti ainult homogeensete mudelitega, mis kõik töötavad ühtsetel teenindamisalustel, kasutades kas PyTorchi või TensorRT-d. Seda seetõttu, et MME-d sobivad kõige paremini paljude sarnaste omadustega mudelite (nt mälukulu ja reageerimisaeg) majutamiseks. Võrdlusuuringu mallid, mis on esitatud dokumendis GitHub repo saab siiski kasutada selleks, et teha kindlaks, kas heterogeensete mudelite teenindamine MME-des annaks soovitud jõudluse ja stabiilsuse.
CV mudelite võrdlusuuringu tulemused
Kasutage arvuti nägemismudelite koormustestimiseks sülearvutit cv-benchmark.ipynb. Saate kohandada eelkoolitatud mudeli nime ja eksemplari tüübi parameetreid jõudluse koormustestimiseks erinevate mudelite ja eksemplaritüüpide kombinatsioonides. Testisime sihilikult kolme CV-mudelit erinevas suuruses väikseimast suurimani: resnet50
(25 miljonit), convnext_base
(88M) ja vit_large_patch16_224
(304 miljonit). Kui valite mudeli väljaspool seda loendit, peate võib-olla koodiga kohanema. Lisaks määrab sülearvuti sisendpildi kuju vaikimisi 224x224x3 pilditensorile. Ärge unustage sisendi kuju vastavalt kohandada, kui teil on vaja võrrelda mudeleid, mis teevad erineva suurusega pilti.
Pärast kogu märkmiku läbi jooksmist saate mitu jõudlusanalüüsi visualiseerimist. Kaks esimest kirjeldavad mudeli jõudlust samaaegsete kasutajate arvu suurenemise osas. Järgmised joonised on jaoks loodud visualiseeringute näidised ResNet50
mudel, mis töötab saidil ml.g4dn.2xlarge, võrreldes PyTorchi (vasakul) ja TensorRT-ga (paremal). Ülemise rea graafikud näitavad mudeli latentsust ja läbilaskevõimet y-teljel, kusjuures x-teljel peegeldub üha rohkem samaaegseid klienttöötajaid. Alumised ribadiagrammid näitavad edukate ja ebaõnnestunud taotluste arvu.
Vaadates kõiki meie testitud arvutinägemismudeleid, täheldasime järgmist.
- Latentsus (millisekundites) on suurem ja läbilaskevõime (taotlusi sekundis) väiksem suuremate mudelite puhul (
resnet50 > convnext_base > vit_large_patch16_224
). - Latentsuse suurenemine on võrdeline kasutajate arvuga, kuna järeldusserveris on järjest rohkem päringuid.
- Suured mudelid tarbivad rohkem arvutusressursse ja võivad saavutada maksimaalse läbilaskevõime vähema kasutajatega kui väiksema mudeli puhul. Seda täheldatakse koos
vit_large_patch16_224
mudel, mis registreeris esimese nurjunud päringu 140 samaaegsel kasutajal. Olles märkimisväärselt suurem kui kaks ülejäänud testitud mudelit, oli sellel ka suurema samaaegsuse korral kõige rohkem ebaõnnestunud taotlusi. See on selge signaal, et kui eesmärk on toetada rohkem kui 140 samaaegset kasutajat, peaks lõpp-punkt ulatuma kaugemale ühest eksemplarist.
Märkmiku töötamise lõpus saate ka PyTorchi ja TensorRT mudelite kokkuvõtliku võrdluse kõigi nelja põhimõõdiku kohta. Meie võrdlustestide põhjal nägid kõik CV-mudelid mudeli jõudlust pärast TensorRT koostamist. Võttes meie ResNet50
Näidismudeli puhul vähenes latentsusaeg 32%, samas kui läbilaskevõime suurenes 18%. Kuigi samaaegsete kasutajate maksimaalne arv jäi samaks ResNet50
, kahe ülejäänud mudeli puhul suurenes toetatavate samaaegsete kasutajate arv 14%. TensorRT jõudluse paranemine tuli aga suurema mälukasutuse arvelt, mille tulemuseks oli vähem MME-de laaditud mudeleid. Mõju on rohkem mudelitele, mis kasutavad konvolutsioonilist närvivõrku (CNN). Tegelikult tarbis meie ResNet50 mudel PyTorchilt TensorRT-le üleminekul ligikaudu kaks korda rohkem GPU-mälu, mistõttu laaditi mudeleid 50% vähem (46 vs. 23). Diagnoosime seda käitumist üksikasjalikumalt järgmises jaotises.
NLP-mudelite võrdlusuuringu tulemused
NLP-mudelite puhul kasutage koormustesti käivitamiseks sülearvutit nlp-benchmark.ipynb. Sülearvuti seadistus peaks välja nägema väga sarnane. Testisime kahte NLP mudelit: bert-base-uncased (109M) ja roberta-large (335M). Eelkoolitatud mudel ja tokeniseerija laaditakse mõlemad alla Hugging Face jaoturist ning testi kasulik koormus genereeritakse tokenisaatorist näidisstringi abil. Jada maksimaalne pikkus on vaikimisi 128. Kui teil on vaja testida pikemaid stringe, ärge unustage seda parameetrit kohandada. NLP-märkmikus jooksmine genereerib sama visualiseeringute komplekti: Pytorch (vasakul) vs TensorRT (paremal).
Nende põhjal täheldasime NLP mudelite jaoks TensorRT veelgi suuremat jõudlust. Võttes roberta-large
Näiteks ml.g4dn.2xsuure eksemplari mudeli puhul vähenes järelduste latentsus järsult 180 millisekundilt 56 millisekundile (täiustus 70%), samas kui läbilaskevõime paranes 406% 33 päringult sekundis 167-le. kasutajad kasvasid 50%; ebaõnnestunud taotlusi ei täheldatud enne, kui jõudsime 180 samaaegse kasutajani, võrreldes 120-ga algse PyTorchi mudeli puhul. Mälu kasutamise osas nägime, et TensorRT jaoks laaditi üks mudel vähem (üheksast mudelist kaheksani). Negatiivne mõju on aga palju väiksem kui CNN-põhiste mudelite puhul.
Mälu kasutamise analüüs
Järgmine tabel näitab täielikku mälukasutuse mõju analüüsi PyTorchilt TensorRT-le. Mainisime varem, et CNN-põhised mudelid on negatiivsemalt mõjutatud. The ResNet50
mudelil oli kõigis kolmes GPU eksemplari tüübis laaditud mudelite arv üle 50% vähenenud. Convnext_base
oli veelgi suurem, umbes 70% üldiselt. Teisest küljest on mõju trafo mudelitele väike või segane. vit_large_patch16_224
ja roberta-large
vähenes keskmiselt vastavalt ligikaudu 20% ja 3%, samal ajal kui bert-base-uncased
paranes ligikaudu 40%.
Vaadates kõiki andmepunkte tervikuna seoses latentsusaja, läbilaskevõime ja töökindluse suurepärase jõudlusega ning väikese mõjuga laaditud mudelite maksimaalsele arvule, soovitame TensorRT mudelit trafopõhiste mudeliarhitektuuride jaoks. Usume, et CNN-ide puhul on vaja täiendavat kulutulemuste analüüsi, et veenduda, et jõudlusest saadav kasu kaalub üles täiendava hostimise infrastruktuuri kulud.
ML kasutusjuhtum | Arhitektuur | Mudeli nimi | Juhtumi tüüp | Raamistik | Max mudelid laetud | Erinevus (%) | Keskm. Erinevus (%) |
CV | CNN | Resnet50 |
ml.g4dn.2xsuur | PyTorch | 46 | -50% | -50% |
TensorRT | 23 | ||||||
ml.g5.2xsuur | PyTorch | 70 | -51% | ||||
TensorRT | 34 | ||||||
ml.p3.2xsuur | PyTorch | 49 | -51% | ||||
TensorRT | 24 | ||||||
Convnext_base |
ml.g4dn.2xsuur | PyTorch | 33 | -50% | -70% | ||
TensorRT | 10 | ||||||
ml.g5.2xsuur | PyTorch | 50 | -70% | ||||
TensorRT | 16 | ||||||
ml.p3.2xsuur | PyTorch | 35 | -69% | ||||
TensorRT | 11 | ||||||
Transformer | vit_large_patch16_224 |
ml.g4dn.2xsuur | PyTorch | 10 | -30% | -20% | |
TensorRT | 7 | ||||||
ml.g5.2xsuur | PyTorch | 15 | -13% | ||||
TensorRT | 13 | ||||||
ml.p3.2xsuur | PyTorch | 11 | -18% | ||||
TensorRT | 9 | ||||||
NLP | Roberta-large |
ml.g4dn.2xsuur | PyTorch | 9 | -11% | -3% | |
TensorRT | 8 | ||||||
ml.g5.2xsuur | PyTorch | 13 | 0% | ||||
TensorRT | 13 | ||||||
ml.p3.2xsuur | PyTorch | 9 | 0% | ||||
TensorRT | 9 | ||||||
Bert-base-uncased |
ml.g4dn.2xsuur | PyTorch | 26 | 62% | 40% | ||
TensorRT | 42 | ||||||
ml.g5.2xsuur | PyTorch | 39 | 28% | ||||
TensorRT | 50 | ||||||
ml.p3.2xsuur | PyTorch | 28 | 29% | ||||
TensorRT | 36 |
Järgmistes tabelites on loetletud meie täielikud võrdlusuuringu tulemused kõigi kolme GPU eksemplari tüübi kõigi mõõdikute kohta.
ml.g4dn.2xsuur |
||||||||||||
Kasuta Case'it | Arhitektuur | Mudeli nimi | Parameetrite arv | Raamistik | Max mudelid laetud | Erinevus (%) | Hilinemine (ms) | Erinevus (%) | Läbilaskevõime (qps) | Erinevus (%) | Max samaaegsed kasutajad | Erinevus (%) |
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 | . | ||||
Transformer | 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.2xsuur |
||||||||||||
Kasuta Case'it | Arhitektuur | Mudeli nimi | Parameetrite arv | Raamistik | Max mudelid laetud | Erinevus (%) | Hilinemine (ms) | Erinevus (%) | Läbilaskevõime (qps) | Erinevus (%) | Max samaaegsed kasutajad | Erinevus (%) |
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 | . | ||||
Transformer | 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.2xsuur |
||||||||||||
Kasuta Case'it | Arhitektuur | Mudeli nimi | Parameetrite arv | Raamistik | Max mudelid laetud | Erinevus (%) | Hilinemine (ms) | Erinevus (%) | Läbilaskevõime (qps) | Erinevus (%) | Max samaaegsed kasutajad | Erinevus (%) |
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 | . | ||||
Transformer | 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 | . |
Järgmine tabel võtab kokku kõigi eksemplaritüüpide tulemused. Eksemplar ml.g5.2xlarge tagab parima jõudluse, samas kui eksemplar ml.p3.2xlarge toimib üldiselt kehvemini, hoolimata sellest, et see on neist kolmest kõige kallim. Eksemplarid g5 ja g4dn näitavad järelduste töökoormuse jaoks parimat väärtust.
Kasuta Case'it | Arhitektuur | Mudeli nimi | Parameetrite arv | Raamistik | Juhtumi tüüp | Max mudelid laetud | Erinevus (%) | Hilinemine (ms) | Erinevus (%) | Läbilaskevõime (qps) | Erinevus (%) | Max samaaegsed kasutajad |
CV | CNN | resnet50 |
25M | PyTorch | ml.g5.2xsuur | 70 | . | 159 | . | 146 | . | 180 |
. | . | . | . | . | ml.p3.2xsuur | 49 | . | 197 | . | 94 | . | 160 |
. | . | . | . | . | ml.g4dn.2xsuur | 46 | . | 164 | . | 120 | . | 180 |
CV | CN | resnet50 |
25M | TensorRT | ml.g5.2xsuur | 34 | -51% | 110 | -31% | 166 | 14% | 200 |
. | . | . | . | . | ml.p3.2xsuur | 24 | -51% | 117 | -41% | 111 | 18% | 200 |
. | . | . | . | . | ml.g4dn.2xsuur | 23 | -50% | 111 | -32% | 142 | 18% | 180 |
NLP | Transformer | bert-base-uncased |
109M | pütorch | ml.g5.2xsuur | 39 | . | 65 | . | 183 | . | 180 |
. | . | . | . | . | ml.p3.2xsuur | 28 | . | 77 | . | 133 | . | 140 |
. | . | . | . | . | ml.g4dn.2xsuur | 26 | . | 70 | . | 105 | . | 140 |
NLP | Transformer | bert-base-uncased |
109M | TensorRT | ml.g5.2xsuur | 50 | 28% | 46 | -29% | 253 | 38% | 200 |
. | . | . | . | . | ml.p3.2xsuur | 36 | 29% | 46 | -40% | 212 | 59% | 200 |
. | . | . | . | . | ml.g4dn.2xsuur | 42 | 62% | 43 | -39% | 254 | 142% | 180 |
Koristage
Pärast koormustesti lõpetamist puhastage loodud ressursid, et vältida lisatasusid. Peamised ressursid on Amazon S3 SageMakeri lõpp-punktid ja mudeli artefaktifailid. Teie jaoks lihtsamaks muutmiseks on märkmikufailidel järgmine puhastuskood, mis aitab neid kustutada.
Järeldus
Selles postituses jagasime oma testitulemusi ja analüüsi erinevate sügavate närvivõrgu mudelite kohta, mis töötavad SageMakeri mitme mudeli lõpp-punktides koos GPU-ga. Jagatud tulemused ja arusaamad peaksid andma mõistliku ristlõike erinevate mõõdikute ja eksemplaritüüpide toimivusest. Selle käigus tutvustasime ka meie soovitatud lähenemisviisi GPU-ga SageMaker MME-de võrdlustestide käitamiseks. Meie pakutavad tööriistad ja näidiskood aitavad teil kiiresti alustada võrdlustestimist ja teha teadlikumat otsust selle kohta, kuidas sadu DNN-mudeleid kulutõhusalt hostida kiirendatud arvutusriistvaras. Oma GPU-toega MME-mudelite võrdlusuuringu alustamiseks vaadake jaotist Toetatud algoritmid, raamistikud ja eksemplarid ja GitHub repo lisanäidete ja dokumentatsiooni jaoks.
Autoritest
James Wu on AWS-i vanem AI/ML-lahenduste spetsialist. aidata klientidel AI/ML lahendusi kavandada ja luua. Jamesi töö hõlmab laia valikut ML kasutusjuhtumeid, mille peamine huvi on arvutinägemine, sügav õppimine ja ML-i skaleerimine kogu ettevõttes. Enne AWS-iga liitumist oli James arhitekt, arendaja ja tehnoloogiajuht üle 10 aasta, sealhulgas 6 aastat inseneritöös ning 4 aastat turundus- ja reklaamitööstuses.
Vikram Elango on AI/ML spetsialistilahenduste arhitekt ettevõttes Amazon Web Services, mis asub USA Virginias. Vikram aitab finants- ja kindlustussektori klientidel projekteerimisel ja läbimõeldud juhtimisel luua ja juurutada laiaulatuslikult masinõpperakendusi. Praegu on ta keskendunud loomuliku keele töötlemisele, vastutustundlikule tehisintellektile, järelduste optimeerimisele ja ML-i skaleerimisele kogu ettevõttes. Vabal ajal meeldib talle perega reisida, matkata, süüa teha ja telkida.
Simon Zamarin on AI/ML-lahenduste arhitekt, kelle põhirõhk on aidata klientidel oma andmevaradest väärtust ammutada. Vabal ajal veedab Simon meelsasti perega aega, loeb ulmet ja töötab erinevate isetegemismajade projektidega.
Saurabh Trikande on Amazon SageMaker Inference'i vanemtootejuht. Ta on kirglik töö klientidega ja teda motiveerib eesmärk demokratiseerida masinõpe. Ta keskendub põhiprobleemidele, mis on seotud keeruliste ML-rakenduste, mitme rentniku ML-mudelite, kulude optimeerimise ja süvaõppemudelite juurutamise kättesaadavamaks muutmisega. Vabal ajal naudib Saurabh matkamist, uuenduslike tehnoloogiate õppimist, TechCrunchi jälgimist ja perega aega veetmist.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: 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
- võime
- MEIST
- kiirendatud
- juurdepääsetav
- vastavalt
- täpselt
- Saavutada
- üle
- lisatud
- lisamine
- Täiendavad lisad
- Lisaks
- vastu
- reklaam
- pärast
- AI
- AI / ML
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- Kuigi
- Amazon
- Amazon SageMaker
- Amazon Web Services
- summa
- analüüs
- analüüsima
- ja
- Teine
- rakendused
- lähenemine
- umbes
- arhitektuur
- vara
- auto
- automaatselt
- keskmine
- AWS
- baar
- põhineb
- sest
- enne
- taga
- on
- Uskuma
- võrrelda
- võrdlusuuring
- võrdlusuuringud
- kasu
- BEST
- Peale
- suurem
- miljardeid
- juhatus
- suurendada
- põhi
- puhver
- ehitama
- koormus
- juhul
- juhtudel
- väljakutseid
- omadused
- koormuste
- Joonis
- Äritegevus
- selge
- klient
- CNN
- kood
- kombinatsioonid
- võrreldes
- võrrelda
- võrdlus
- täitma
- keeruline
- keerukus
- Koosneb
- Arvutama
- arvuti
- Arvuti visioon
- järeldus
- konkurent
- konfiguratsioon
- järjepidev
- tarbima
- tarbitud
- tarbimine
- Konteiner
- kontekst
- jätkama
- tuum
- Maksma
- kuluefektiivne
- KATTED
- Rist
- Praegune
- Praegu
- tava
- Kliendid
- andmed
- andmepunktid
- otsus
- sügav
- sügav õpe
- sügavam
- vaikimisi
- tarnima
- Nõudlus
- Demokraatlik
- näitama
- Olenevalt
- juurutada
- juurutamine
- kasutuselevõtu
- kasutuselevõtt
- Disain
- soovitud
- Vaatamata
- detail
- detailid
- Määrama
- kindlaksmääratud
- arendaja
- seade
- erinev
- DIY
- dokumentatsioon
- lae alla
- dramaatiliselt
- dünaamiline
- iga
- Ajalugu
- lihtsam
- kumbki
- Lõpp-punkt
- Inseneriteadus
- ettevõte
- Kogu
- viga
- Isegi
- näide
- näited
- ületama
- oodatav
- kallis
- Kogemused
- laiendama
- väljavõte
- nägu
- tegurid
- Ebaõnnestunud
- pere
- mood
- teostatav
- arvandmed
- Faile
- finants-
- leidma
- esimene
- Keskenduma
- keskendunud
- keskendub
- Järel
- Raamistik
- raamistikud
- Alates
- täis
- edasi
- üldiselt
- loodud
- genereerib
- generatiivne
- Generatiivne AI
- saama
- annab
- eesmärk
- läheb
- GPU
- GPU
- graafikud
- Kasvavad
- suunata
- käsi
- riistvara
- aitama
- aidates
- aitab
- Suur
- rohkem
- võõrustaja
- võõrustas
- Hosting
- maja
- Kuidas
- Kuidas
- aga
- HTML
- HTTPS
- Keskus
- sajad
- ideaalne
- pilt
- mõju
- mõjutatud
- paranenud
- paranemine
- in
- sisaldama
- Kaasa arvatud
- Suurendama
- kasvanud
- Tõstab
- kasvav
- eraldi
- tööstusharudes
- tööstus
- mõju
- teavitatakse
- Infrastruktuur
- esialgne
- uuenduslik
- uuenduslikke tehnoloogiaid
- sisend
- teadmisi
- Näiteks
- kindlustus
- tahtlus
- huvi
- sisse
- Sissejuhatus
- kutsub
- IT
- liitumine
- Võti
- keel
- suur
- suurem
- suurim
- Hilinemine
- juht
- Juhtimine
- õppimine
- jätmine
- Pikkus
- piirid
- joon
- nimekiri
- Nimekirjad
- koormus
- laadimine
- enam
- Vaata
- Madal
- masin
- masinõpe
- põhiline
- tegema
- Tegemine
- juht
- haldab
- juhtiv
- palju
- märk
- Turundus
- Turundus ja reklaam
- max
- Maksimeerima
- maksimaalne
- mõõtma
- meetmed
- Mälu
- mainitud
- meetodid
- Meetrika
- alaealine
- segatud
- ML
- mudel
- mudelid
- rohkem
- kõige
- Populaarseim
- motiveeritud
- MS
- mitmekordne
- nimi
- Natural
- Natural Language Processing
- Vajadus
- negatiivne
- negatiivselt
- võrk
- Närvivõrgus
- Uus
- nlp
- märkmik
- November
- number
- numbrid
- ONE
- tegutsevad
- töökorras
- optimeerimine
- optimaalne
- valik
- originaal
- Muu
- väljaspool
- üldine
- enda
- tempo
- parameeter
- parameetrid
- kirglik
- Muster
- mustrid
- protsent
- täitma
- jõudlus
- esitades
- periood
- valima
- Platon
- Platoni andmete intelligentsus
- PlatoData
- Punkt
- võrra
- populaarne
- võimalik
- post
- varem
- esmane
- Eelnev
- protsess
- töötlemine
- Toode
- tootejuht
- projektid
- korralik
- anda
- tingimusel
- annab
- panema
- pütorch
- kogus
- Ramp
- kaldtee
- juhuslik
- valik
- kiire
- määr
- jõudma
- jõudis
- jõuda
- Lugemine
- mõistlik
- põhjustel
- soovitama
- soovitatav
- dokumenteeritud
- vähendama
- Lühendatud
- kajastama
- kajastatud
- osas
- seotud
- usaldusväärsus
- meeles pidama
- kordama
- korduv
- taotleda
- Taotlusi
- Nõuded
- Vajab
- Vahendid
- vastus
- vastutav
- tulemuseks
- Tulemused
- jooks
- jooksmine
- salveitegija
- SageMakeri järeldus
- sama
- skaalautuvia
- Skaala
- ketendamine
- ulmefilm
- Teine
- sekundit
- Osa
- vanem
- Jada
- Teenused
- teenindavad
- komplekt
- seade
- mitu
- kuju
- kuju
- Jaga
- jagatud
- jagamine
- peaks
- näitama
- näidatud
- Näitused
- külg
- Signaali
- märgatavalt
- sarnane
- Simon
- lihtne
- ühekordne
- SUURUS
- suurused
- väike
- väiksem
- lahendus
- Lahendused
- mõned
- Ruum
- spetsialist
- määratletud
- Kulutused
- Stabiilsus
- alustatud
- peatus
- stabiilne
- Samm
- Sammud
- Veel
- ladustamine
- strateegiad
- tugev
- edukas
- selline
- Kokku võtta
- KOKKUVÕTE
- parem
- toetama
- Toetatud
- Toetab
- tabel
- Võtma
- võtmine
- TechCrunch
- Tehnoloogiad
- Tehnoloogia
- šabloon
- malle
- tingimused
- test
- Testimine
- .
- oma
- seetõttu
- arvasin
- mõttejuhtimine
- kolm
- künnis
- Läbi
- läbilaskevõime
- aeg
- et
- kokku
- töövahendid
- ülemine
- Summa
- liiklus
- Reisimine
- kohtuprotsess
- Kaks korda
- liigid
- tüüpiliselt
- USA
- kasutama
- kasutage juhtumit
- Kasutaja
- Kasutajad
- väärtus
- eri
- virginia
- nägemus
- Käsk
- web
- veebiteenused
- M
- kas
- mis
- kuigi
- kogu
- lai
- Lai valik
- will
- jooksul
- ilma
- Töö
- töötajate
- töö
- oleks
- aastat
- saak
- sa
- Sinu
- sephyrnet