Saavuta korkea suorituskyky suuressa mittakaavassa mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä GPU:lla

Saavuta korkea suorituskyky suuressa mittakaavassa mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä GPU:lla

Amazon Sage Maker usean mallin päätepisteet (MME) tarjoavat skaalautuvan ja kustannustehokkaan tavan ottaa käyttöön suuri määrä koneoppimismalleja (ML). Se antaa sinulle mahdollisuuden ottaa käyttöön useita ML-malleja yhdessä käyttösäiliössä yhden päätepisteen takana. Sieltä SageMaker hallinnoi mallien lataamista ja purkamista sekä skaalausresursseja puolestasi liikennemalliesi perusteella. Hyödyt isännöintiresurssien jakamisesta ja uudelleenkäytöstä sekä suuren mallimäärän hallinnan pienentyneestä käyttötaakasta.

Marraskuussa 2022, MME:t lisäsivät tukea GPU:lles, jonka avulla voit ajaa useita malleja yhdessä GPU-laitteessa ja skaalata GPU-esiintymiä yhden päätepisteen taakse. Tämä tyydyttää MME:n voimakkaan kysynnän syvähermoverkkomalleille (DNN), jotka hyötyvät kiihdytetystä laskennasta GPU:illa. Näitä ovat tietokonenäkö (CV), luonnollisen kielen käsittely (NLP) ja generatiiviset tekoälymallit. Syitä vaatimukseen ovat mm.

  • DNN-mallit ovat tyypillisesti suuria ja monimutkaisia ​​ja kasvavat edelleen nopeasti. Esimerkkinä NLP-malleista monet niistä ylittävät miljardeja parametreja, mikä edellyttää, että GPU:t täyttävät alhaisen latenssin ja korkean suorituskyvyn vaatimukset.
  • Olemme havainneet lisääntyneen tarpeen mukauttaa näitä malleja tarjoamaan yksittäisille käyttäjille hyperpersonoituja kokemuksia. Kun näiden mallien määrä kasvaa, tarvitaan helpompaa ratkaisua useiden mallien käyttöönottamiseksi ja käyttöönottamiseksi mittakaavassa.
  • GPU-esiintymät ovat kalliita, ja haluat käyttää näitä ilmentymiä mahdollisimman paljon uudelleen GPU-käytön maksimoimiseksi ja käyttökustannusten vähentämiseksi.

Vaikka kaikki nämä syyt viittaavat siihen, että GPU:lla varustetut MME:t ovat ihanteellinen vaihtoehto DNN-malleille, on suositeltavaa suorittaa kuormitustestaus oikean päätepistekokoonpanon löytämiseksi, joka täyttää käyttötapausvaatimukset. Monet tekijät voivat vaikuttaa kuormitustestauksen tuloksiin, kuten ilmentymän tyyppi, esiintymien lukumäärä, mallin koko ja mallin arkkitehtuuri. Lisäksi kuormitustestaus voi auttaa ohjaamaan automaattisia skaalausstrategioita käyttämällä oikeita mittareita iteratiivisten yritys- ja virhemenetelmien sijaan.

Näistä syistä kokosimme tämän postauksen auttaaksemme sinua suorittamaan kunnollisen kuormitustestauksen GPU:lla varustetuissa MME:issä ja löytämään parhaan kokoonpanon ML-käyttötapaukseesi. Jaamme kuormitustestaustulokset joistakin suosituimmista DNN-malleista NLP:ssä ja CV:ssä, joita isännöidään MME:illä eri ilmentymätyypeissä. Teemme yhteenvedon testituloksistamme saaduista näkemyksistä ja johtopäätöksistä, jotta voit tehdä tietoisen päätöksen omien käyttöönottojesi määrittämisestä. Matkan varrella jaamme myös suosittelemamme lähestymistapamme MME:iden kuormitustestaukseen GPU:lla. Suositellut työkalut ja tekniikka määrittävät ladattavien mallien optimaalisen määrän esiintymätyyppiä kohden ja auttavat sinua saavuttamaan parhaan hinta-suorituskyvyn.

Ratkaisun yleiskatsaus

Johdatus MME:ihin ja GPU:lla varustettuihin MME:ihin on kohdassa Luo monimallipäätepiste ja Suorita useita syväoppimismalleja GPU:ssa Amazon SageMaker -monimallipäätepisteiden avulla. Tämän viestin kuormitustestausta varten voit ladata esimerkkikoodimme osoitteesta GitHub repo toistaaksesi tulokset tai käyttääksesi sitä mallina omien malliesi vertailuun. Repossa on kaksi muistikirjaa: yksi CV-mallien kuormitustestaukseen ja toinen NLP-malliin. Useita erikokoisia ja -arkkitehtuurisia malleja vertailtiin erityyppisille GPU-esiintymille: ml.g4dn.2xlarge, ml.g5.2xlarge ja ml.p3.2xlarge. Tämän pitäisi tarjota kohtuullinen poikkileikkaus kunkin esiintymän ja mallityypin suorituskyvystä seuraavien mittareiden perusteella:

  • GPU-muistiin ladattavissa olevien mallien enimmäismäärä
  • Päästä päähän -vastauksen latenssi havaittiin asiakaspuolella jokaisessa päättelykyselyssä
  • Kyselyjen suurin suoritusnopeus sekunnissa, jonka päätepiste voi käsitellä ilman virhettä
  • Nykyisten käyttäjien enimmäismäärä esiintymää kohden ennen epäonnistuneen pyynnön havaitsemista

Seuraavassa taulukossa on lueteltu testatut mallit.

Käytä asiaa Mallin nimi Koko levyllä Parametrien määrä
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

Seuraavassa taulukossa luetellaan testatut GPU-esiintymät.

Esimerkkilaji GPU-tyyppi GPU:iden määrä GPU-muisti (GiB)
ml.g4dn.2xlarge NVIDIA T4 -näytönohjaimet 1 16
ml.g5.2xsuuri NVIDIA A10G Tensor Core GPU 1 24
ml .p3.2xlarge NVIDIA® V100 Tensor Core GPU 1 16

Kuten aiemmin mainittiin, koodiesimerkki voidaan ottaa käyttöön muihin malleihin ja ilmentymätyyppeihin.

Huomaa, että MME:t tukevat tällä hetkellä vain yksittäisiä GPU-esiintymiä. Katso luettelo tuetuista ilmentymätyypeistä kohdasta Tuetut algoritmit, puitteet ja ilmentymät.

Vertailumenettely koostuu seuraavista vaiheista:

  1. Hae esikoulutettu malli mallikeskuksesta.
  2. Valmistele malliartefaktti näytettäväksi SageMaker MME:issä (katso Suorita useita syväoppimismalleja GPU:ssa Amazon SageMaker -monimallipäätepisteiden avulla Lisätietoja).
  3. Ota SageMaker MME käyttöön GPU-esiintymässä.
  4. Määritä mallien enimmäismäärä, jotka voidaan ladata GPU-muistiin tietyn kynnyksen sisällä.
  5. Käytä Locust Load Testing Frameworkia simuloidaksesi liikennettä, joka käynnistää satunnaisesti ilmentymään ladattuja malleja.
  6. Kerää tietoa ja analysoi tulokset.
  7. Vaihtoehtoisesti toista vaiheet 2–6 sen jälkeen, kun olet kääntänyt mallin TensorRT:hen.

Vaiheet 4 ja 5 antavat syvemmän tarkastelun. SageMaker GPU MME:n mallit ladataan muistiin dynaamisesti. Siksi vaiheessa 4 lataamme alkuperäisen malliartefaktin kohteeseen Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja käynnistä malli ladataksesi sen muistiin. Ensimmäisen kutsun jälkeen mittaamme kulutetun GPU-muistin määrän, teemme kopion alkuperäisestä mallista, kutsumme mallin kopion ladataksesi sen muistiin ja mittaamme uudelleen kulutetun GPU-muistin kokonaismäärän. Tätä prosessia toistetaan, kunnes GPU-muistin käyttöaste on saavutettu. Vertailuarvoa varten asetimme kynnysarvoksi 90 % tarjotaksemme kohtuullisen muistipuskurin suurempien erien päättelemiseen tai jättää tilaa muiden harvemmin käytettyjen mallien lataamiseen.

Simuloi käyttäjäliikennettä

Kun olemme määrittäneet mallien lukumäärän, voimme suorittaa kuormitustestin käyttämällä Locust Load Testing Framework. Kuormitustesti simuloi käyttäjien pyyntöjä satunnaisiin malleihin ja mittaa automaattisesti mittareita, kuten vastausviiveen ja suorituskyvyn.

Locust tukee mukautettuja kuormitustestimuotoja, joiden avulla voit määrittää mukautettuja liikennemalleja. Tässä vertailussa käytetty muoto on esitetty seuraavassa kaaviossa. Ensimmäisen 30 sekunnin aikana päätepiste lämmitetään 10 samanaikaisen käyttäjän kanssa. 30 sekunnin kuluttua uusia käyttäjiä syntyy kaksi sekunnissa ja saavuttaa 20 samanaikaista käyttäjää 40 sekunnin kohdalla. Päätepistettä verrataan sitten tasaisesti 20 samanaikaisen käyttäjän kanssa 60 sekunnin merkkiin asti, jolloin Locust alkaa jälleen lisätä käyttäjiä kahdella sekunnissa 40 samanaikaisen käyttäjän kanssa. Tätä nousevan ja jatkuvan testauksen mallia toistetaan, kunnes päätepiste nostetaan 200 samanaikaiseen käyttäjään. Käyttötapauksestasi riippuen saatat haluta säätää kuormitustestimuotoa tiedostossa locust_benchmark_sm.py, jotta se kuvastaisi tarkemmin odotettuja liikennemalleja. Jos esimerkiksi aiot isännöidä suurempia kielimalleja, kuormitustesti 200 samanaikaisen käyttäjän kanssa ei ehkä ole mahdollista mallille, jota isännöidään yhdessä ilmentymässä, ja siksi saatat haluta vähentää käyttäjien määrää tai lisätä esiintymien määrää. Voit myös haluta pidentää kuormitustestin kestoa, jotta voit mitata tarkemmin päätepisteen vakauden pidemmällä aikavälillä.

stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.

Huomaa, että olemme tehneet päätepisteen vertailuarvoja vain homogeenisilla malleilla, jotka kaikki toimivat johdonmukaisella palvelupohjalla joko PyTorchin tai TensorRT:n avulla. Tämä johtuu siitä, että MME:t soveltuvat parhaiten isännöimään monia malleja, joilla on samanlaiset ominaisuudet, kuten muistin kulutus ja vasteaika. benchmarking-mallit GitHub repo voidaan silti käyttää määrittämään, tuottaisiko heterogeenisten mallien palveleminen MME:issä halutun suorituskyvyn ja vakauden.

CV-mallien vertailutulokset

Käytä cv-benchmark.ipynb-muistikirjaa suorittaaksesi kuormitustestauksen tietokonenäkömalleille. Voit säätää valmiiksi koulutetun mallin nimen ja ilmentymän tyypin parametreja suorituskyvyn kuormitustestaukseen eri malli- ja ilmentymätyyppiyhdistelmillä. Testasimme tarkoituksella kolmea CV-mallia eri kokoluokissa pienimmästä suurimpaan: resnet50 (25 milj.), convnext_base (88M) ja vit_large_patch16_224 (304 milj.). Sinun on ehkä mukauduttava koodiin, jos valitset mallin tämän luettelon ulkopuolelta. Lisäksi muistikirja asettaa syötetyn kuvan muodon oletuksena 224x224x3-kuvatensoriksi. Muista säätää syötteen muotoa vastaavasti, jos haluat vertailla malleja, jotka ottavat erikokoisen kuvan.

Kun olet käynyt läpi koko muistikirjan, saat useita suorituskykyanalyysin visualisointeja. Kaksi ensimmäistä kuvaa mallin suorituskykyä samanaikaisten käyttäjien lisääntymisen suhteen. Seuraavat kuvat ovat mallille luotuja esimerkkivisualisointeja ResNet50 malli, joka toimii palvelimella ml.g4dn.2xlarge, vertaamalla PyTorchia (vasemmalla) ja TensorRT:tä (oikealla). Yläviivakaaviot näyttävät mallin latenssin ja suorituskyvyn y-akselilla, kun samaan aikaan työskentelevien asiakastyöntekijöiden määrä kasvaa x-akselilla. Alapalkkikaaviot näyttävät onnistuneiden ja epäonnistuneiden pyyntöjen määrän.

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.

Tarkastelemalla kaikkia testaamiamme tietokonenäkömalleja havaitsimme seuraavan:

  • Latenssi (millisekunteina) on suurempi ja suorituskyky (pyyntöjä sekunnissa) pienempi isommissa malleissa (resnet50 > convnext_base > vit_large_patch16_224).
  • Latenssin kasvu on verrannollinen käyttäjien määrään, kun enemmän pyyntöjä on jonossa päättelypalvelimelle.
  • Suuret mallit kuluttavat enemmän laskentaresursseja ja voivat saavuttaa suurimman suorituskyvyn vähemmällä käyttäjämäärällä kuin pienemmät mallit. Tämä havaitaan kanssa vit_large_patch16_224 malli, joka tallensi ensimmäisen epäonnistuneen pyynnön 140 samanaikaiselle käyttäjälle. Koska se on huomattavasti suurempi kuin kaksi muuta testattua mallia, sillä oli myös eniten epäonnistuneita pyyntöjä korkeammalla samanaikaisuudella. Tämä on selvä signaali siitä, että päätepisteen on skaalattava yhden esiintymän pidemmälle, jos tarkoituksena on tukea yli 140:tä samanaikaista käyttäjää.

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.

Muistikirjan ajon lopussa saat myös yhteenvedon PyTorch vs. TensorRT -malleista kullekin neljälle keskeiselle mittarille. Vertailutesteissämme kaikki CV-mallit paransivat mallien suorituskykyä TensorRT-kokoelman jälkeen. Ottamalla meidän ResNet50 mallia jälleen esimerkkinä, latenssi väheni 32 %, kun taas suorituskyky kasvoi 18 %. Vaikka samanaikaisten käyttäjien enimmäismäärä pysyi samana ResNet50, molemmissa kahdessa mallissa tuettujen samanaikaisten käyttäjien määrä kasvoi 14 %. TensorRT-suorituskyvyn parannus tuli kuitenkin suuremman muistin käytön kustannuksella, mikä johti vähemmän MME:iden lataamiin malleihin. Vaikutus koskee enemmän malleja, jotka käyttävät konvoluutiohermoverkkoa (CNN). Itse asiassa ResNet50-mallimme kulutti noin kaksi kertaa enemmän GPU-muistia PyTorchista TensorRT:hen, mikä johti 50 % vähemmän ladattuja malleja (46 vs. 23). Diagnosoimme tämän käyttäytymisen tarkemmin seuraavassa osiossa.

NLP-mallien vertailutulokset

Suorita NLP-mallien kuormitustesti muistikirjalla nlp-benchmark.ipynb. Muistikirjan asennuksen pitäisi näyttää hyvin samanlaiselta. Testasimme kahta NLP-mallia: bert-base-uncased (109M) ja roberta-large (335M). Valmiiksi koulutettu malli ja tokenisaattori ladataan molemmat Hugging Face -keskittimestä, ja testihyötykuorma luodaan tokenisaattorista näytemerkkijonon avulla. Sekvenssin enimmäispituus on oletusarvoisesti 128. Jos haluat testata pidempiä merkkijonoja, muista säätää tämä parametri. NLP-muistikirjan läpi ajaminen luo samat visualisoinnit: Pytorch (vasemmalla) vs TensorRT (oikealla).

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.
Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.

Näistä havaitsimme vielä enemmän TensorRT:n suorituskykyetuja NLP-malleille. Ottamalla roberta-large mallissa esim. ml.g4dn.2xlarge tapauksessa päättelyviive pieneni dramaattisesti 180 millisekunnista 56 millisekuntiin (70 % parannus), kun taas suorituskyky parani 406 % 33 pyynnöstä 167:ään. käyttäjät kasvoivat 50 %; epäonnistuneita pyyntöjä havaittiin vasta, kun saavutimme 180 samanaikaista käyttäjää, kun alkuperäisen PyTorch-mallin vastaava luku oli 120. Muistin käytön suhteen näimme TensorRT:lle ladatun yhden mallin vähemmän (yhdeksästä mallista kahdeksaan). Negatiivinen vaikutus on kuitenkin paljon pienempi verrattuna siihen, mitä havaitsimme CNN-pohjaisilla malleilla.

Analyysi muistin käytöstä

Seuraava taulukko näyttää täydellisen analyysin muistin käytön vaikutuksista PyTorchista TensorRT:hen. Mainitsimme aiemmin, että CNN-pohjaiset mallit vaikuttavat negatiivisemmin. The ResNet50 mallilla oli yli 50 % vähemmän ladattujen mallien määrä kaikissa kolmessa GPU-instanssityypissä. Convnext_base oli vieläkin suurempi, noin 70 %. Toisaalta vaikutus muuntajamalleihin on pieni tai sekalainen. vit_large_patch16_224 ja roberta-large keskimäärin noin 20 % ja 3 % bert-base-uncased parannus oli noin 40 %.

Tarkasteltaessa kaikkia datapisteitä kokonaisuutena ylivertaisen suorituskyvyn latenssin, suorituskyvyn ja luotettavuuden suhteen sekä vähäisen vaikutuksen osalta ladattujen mallien enimmäismäärään, suosittelemme TensorRT-mallia muuntajapohjaisiin malliarkkitehtuureihin. Uskomme, että CNN-verkkojen kustannustehokkuusanalyysiä tarvitaan lisää sen varmistamiseksi, että suorituskyvyn hyöty on suurempi kuin lisäisännöintiinfrastruktuurin kustannukset.

ML-käyttötapaus arkkitehtuuri Mallin nimi Esimerkkilaji Puitteet Max mallit ladattu ero (%) Keskim. ero (%)
CV CNN Resnet50 ml.g4dn.2xlarge PyTorch 46 -50% -50%
TensorRT 23
ml.g5.2xsuuri PyTorch 70 -51%
TensorRT 34
ml .p3.2xlarge PyTorch 49 -51%
TensorRT 24
Convnext_base ml.g4dn.2xlarge PyTorch 33 -50% -70%
TensorRT 10
ml.g5.2xsuuri PyTorch 50 -70%
TensorRT 16
ml .p3.2xlarge PyTorch 35 -69%
TensorRT 11
Muuntaja vit_large_patch16_224 ml.g4dn.2xlarge PyTorch 10 -30% -20%
TensorRT 7
ml.g5.2xsuuri PyTorch 15 -13%
TensorRT 13
ml .p3.2xlarge PyTorch 11 -18%
TensorRT 9
NLP Roberta-large ml.g4dn.2xlarge PyTorch 9 -11% -3%
TensorRT 8
ml.g5.2xsuuri PyTorch 13 0%
TensorRT 13
ml .p3.2xlarge PyTorch 9 0%
TensorRT 9
Bert-base-uncased ml.g4dn.2xlarge PyTorch 26 62% 40%
TensorRT 42
ml.g5.2xsuuri PyTorch 39 28%
TensorRT 50
ml .p3.2xlarge PyTorch 28 29%
TensorRT 36

Seuraavissa taulukoissa luetellaan täydelliset vertailutuloksemme kaikille mittareille kaikissa kolmessa GPU-instanssityypissä.

ml.g4dn.2xlarge

Käytä asiaa arkkitehtuuri Mallin nimi Parametrien määrä Puitteet Max mallit ladattu ero (%) Latenssi (ms) ero (%) Suorituskyky (qps) ero (%) Max samanaikaisia ​​käyttäjiä ero (%)
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 .
Muuntaja 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.2xsuuri

Käytä asiaa arkkitehtuuri Mallin nimi Parametrien määrä Puitteet Max mallit ladattu ero (%) Latenssi (ms) ero (%) Suorituskyky (qps) ero (%) Max samanaikaisia ​​käyttäjiä ero (%)
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 .
Muuntaja 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.2xlarge

Käytä asiaa arkkitehtuuri Mallin nimi Parametrien määrä Puitteet Max mallit ladattu ero (%) Latenssi (ms) ero (%) Suorituskyky (qps) ero (%) Max samanaikaisia ​​käyttäjiä ero (%)
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 .
Muuntaja 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 .

Seuraavassa taulukossa on yhteenveto kaikkien esiintymätyyppien tuloksista. Instanssi ml.g5.2xlarge tarjoaa parhaan suorituskyvyn, kun taas ml.p3.2xlarge ilmentymä on yleensä huonompi, vaikka se on kallein näistä kolmesta. G5- ja g4dn-esiintymät osoittavat parhaan arvon päättelytyökuormitukselle.

Käytä asiaa arkkitehtuuri Mallin nimi Parametrien määrä Puitteet Esimerkkilaji Max mallit ladattu ero (%) Latenssi (ms) ero (%) Suorituskyky (qps) ero (%) Max samanaikaisia ​​käyttäjiä
CV CNN resnet50 25M PyTorch ml.g5.2xsuuri 70 . 159 . 146 . 180
. . . . . ml .p3.2xlarge 49 . 197 . 94 . 160
. . . . . ml.g4dn.2xlarge 46 . 164 . 120 . 180
CV CN resnet50 25M TensorRT ml.g5.2xsuuri 34 -51% 110 -31% 166 14% 200
. . . . . ml .p3.2xlarge 24 -51% 117 -41% 111 18% 200
. . . . . ml.g4dn.2xlarge 23 -50% 111 -32% 142 18% 180
NLP Muuntaja bert-base-uncased 109M pytorch ml.g5.2xsuuri 39 . 65 . 183 . 180
. . . . . ml .p3.2xlarge 28 . 77 . 133 . 140
. . . . . ml.g4dn.2xlarge 26 . 70 . 105 . 140
NLP Muuntaja bert-base-uncased 109M TensorRT ml.g5.2xsuuri 50 28% 46 -29% 253 38% 200
. . . . . ml .p3.2xlarge 36 29% 46 -40% 212 59% 200
. . . . . ml.g4dn.2xlarge 42 62% 43 -39% 254 142% 180

Puhdistaa

Kun olet suorittanut lataustestin, puhdista luodut resurssit välttääksesi lisäkuluja. Tärkeimmät resurssit ovat Amazon S3:n SageMaker-päätepisteet ja malliartefaktitiedostot. Muistikirjan tiedostoissa on seuraava puhdistuskoodi, joka auttaa sinua poistamaan ne:

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

Yhteenveto

Tässä viestissä jaoimme testitulokset ja analyysimme erilaisille syville hermoverkkomalleille, jotka toimivat SageMaker-monimallipäätepisteissä GPU:n kanssa. Jakamiemme tulosten ja oivallusten pitäisi tarjota kohtuullinen poikkileikkaus eri mittareiden ja esiintymätyyppien suorituskyvystä. Prosessin aikana esittelimme myös suosittelemamme lähestymistapamme vertailutestauksen suorittamiseen SageMaker MME:ille, joissa on GPU. Tarjoamamme työkalut ja esimerkkikoodi voivat auttaa sinua käynnistämään vertailutestauksen nopeasti ja tekemään tietoisempia päätöksiä siitä, kuinka kustannustehokkaasti isännöidä satoja DNN-malleja kiihdytetyssä laskentalaitteistossa. Aloita omien malliesi vertailuanalyysi GPU:n MME-tuella katsomalla Tuetut algoritmit, puitteet ja ilmentymät ja GitHub repo lisäesimerkkejä ja asiakirjoja.


Tietoja kirjoittajista

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.James Wu on AWS:n vanhempi AI/ML-asiantuntijaratkaisuarkkitehti. auttaa asiakkaita suunnittelemaan ja rakentamaan AI/ML-ratkaisuja. Jamesin työ kattaa laajan valikoiman ML-käyttötapauksia, ja hänen ensisijaisena kiinnostuksena ovat tietokonenäkö, syväoppiminen ja ML:n skaalaaminen koko yrityksessä. Ennen AWS:ään liittymistään James oli arkkitehti, kehittäjä ja teknologiajohtaja yli 10 vuoden ajan, joista 6 vuotta suunnittelussa ja 4 vuotta markkinointi- ja mainontateollisuudessa.

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.Vikram Elango on AI/ML Specialist Solutions -arkkitehti Amazon Web Servicesissä, jonka kotipaikka on Virginia USA. Vikram auttaa rahoitus- ja vakuutusalan asiakkaita suunnittelulla, ajattelujohtajuudella rakentamaan ja ottamaan käyttöön koneoppimissovelluksia mittakaavassa. Hän keskittyy tällä hetkellä luonnollisen kielen käsittelyyn, vastuulliseen tekoälyyn, päätelmien optimointiin ja ML:n skaalaukseen koko yrityksessä. Vapaa-ajallaan hän nauttii matkustamisesta, vaeltamisesta, ruoanlaitosta ja telttailusta perheensä kanssa.

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai.Simon Zamarin on tekoäly / ML-ratkaisuarkkitehti, jonka pääpaino on asiakkaiden auttamisessa hyödyntämään arvoa tietovaroistaan. Vapaa-ajallaan Simon nauttii viettää aikaa perheen kanssa, lukea sci-fiä ja työskennellä erilaisissa DIY-taloprojekteissa.

Saavuta suurta suorituskykyä mallinkäytössä käyttämällä Amazon SageMaker -monimallipäätepisteitä ja GPU PlatoBlockchain Data Intelligencea. Pystysuuntainen haku. Ai. Saurabh Trikande on Amazon SageMaker Inferencen -tuotepäällikkö. Hän on intohimoinen asiakkaiden kanssa työskentelyyn, ja häntä motivoi tavoite demokratisoida koneoppimista. Hän keskittyy ydinhaasteisiin, jotka liittyvät monimutkaisten ML-sovellusten käyttöönottoon, usean vuokralaisen ML-malleihin, kustannusten optimointiin ja syvän oppimismallien käyttöönoton helpottamiseen. Vapaa-ajallaan Saurabh nauttii vaeltamisesta, innovatiivisten teknologioiden oppimisesta, TechCrunchien seuraamisesta ja perheensä kanssa viettämisestä.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen