Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille

Amazonin elastinen laskentapilvi (Amazon EC2) G5-esiintymät ovat ensimmäiset ja ainoat pilven instanssit, joissa on NVIDIA A10G Tensor Core -grafiikkasuorittimet, joita voit käyttää monenlaisiin grafiikkaintensiivisiin ja koneoppimisen (ML) käyttötapauksiin. G5-instanssien avulla ML-asiakkaat saavat korkean suorituskyvyn ja kustannustehokkaan infrastruktuurin kouluttaakseen ja ottaakseen käyttöön suurempia ja kehittyneempiä malleja luonnollisen kielen käsittelyyn (NLP), tietokonenäköön (CV) ja suositusmoottorien käyttötapauksiin.

Tämän postauksen tarkoituksena on esitellä G5-instanssien suorituskykyetuja laajamittaisissa ML-johtopäätöstyökuormissa. Teemme tämän vertaamalla NLP- ja CV-mallien hinta-suorituskykyä (mitattu $ per miljoona päätelmiä) G4dn-esiintymiin. Aloitamme kuvaamalla benchmarking-lähestymistapaamme ja esitämme sitten suorituskyvyn vs. latenssikäyrät eräkokojen ja tietotyyppien tarkkuuden välillä. Verrattuna G4dn-esiintymiin, havaitsemme, että G5-esiintymät tarjoavat jatkuvasti pienemmät kustannukset miljoonaa kohden sekä täyden tarkkuuden että sekoitettujen tarkkuustilojen NLP- ja CV-malleille samalla, kun ne saavuttavat suuremman suorituskyvyn ja pienemmän latenssin.

Benchmarking lähestymistapa

Jotta voimme kehittää hinta-suorituskykytutkimuksen G5:n ja G4dn:n välillä, meidän on mitattava suorituskyky, latenssi ja miljoonan kustannukset erän koon funktiona. Tutkimme myös täyden tarkkuuden vaikutusta sekoitettuun tarkkuuteen. Sekä mallikaavio että syötteet ladataan CUDA:han ennen päättelyä.

Kuten seuraavassa arkkitehtuurikaaviossa näkyy, luomme ensin vastaavat perussäiliökuvat CUDA:lla taustalla olevalle EC2-instanssille (G4dn, G5). Perussäiliökuvien rakentaminen aloitetaan AWS Deep Learning Containers, jotka käyttävät valmiiksi pakattuja Docker-kuvia syvien oppimisympäristöjen käyttöönottoon muutamassa minuutissa. Kuvat sisältävät vaaditut syväoppivat PyTorch-kirjastot ja -työkalut. Voit lisätä omia kirjastojasi ja työkalujasi näiden kuvien päälle parantaaksesi valvontaa, vaatimustenmukaisuutta ja tietojenkäsittelyä.

Sitten rakennamme mallikohtaisen säilökuvan, joka kapseloi mallin kokoonpanon, mallin jäljityksen ja siihen liittyvän koodin eteenpäinkulkujen suorittamista varten. Kaikki säilön kuvat ladataan sisään Amazon ECR mahdollistaa näiden mallien vaakasuora skaalaus eri mallikokoonpanoille. Käytämme Amazonin yksinkertainen tallennuspalvelu (Amazon S3) yleisenä tietovarastona, josta voit ladata kokoonpanon ja lähettää vertailutuloksia yhteenvetoa varten. Voit käyttää tätä arkkitehtuuria vertailutulosten uudelleenluomiseen ja toistamiseen sekä eri mallityyppien (kuten Hugging Face -mallit, PyTorch-mallit ja muut mukautetut mallit) vertailuun EC2-instanssityypeissä (CPU, GPU, Inf1).

Tämän kokeen avulla tavoitteemme on tutkia latenssia suorituskyvyn funktiona. Tämä käyrä on tärkeä sovellussuunnittelun kannalta, jotta päästään kustannusoptimaaliseen infrastruktuuriin kohdesovellukselle. Tämän saavuttamiseksi simuloimme erilaisia ​​kuormia asettamalla kyselyt jonoon useista säikeistä ja mittaamalla sitten kunkin suoritetun pyynnön edestakaisen matka-ajan. Suorituskyky mitataan suoritettujen pyyntöjen lukumäärän perusteella kelloaikayksikköä kohti. Lisäksi voit vaihdella eräkokoja ja muita muuttujia, kuten sekvenssin pituutta ja täydellistä tarkkuutta vs. puoleen tarkkuuteen, jotta suunnittelutila saadaan kattavasti ohjeellisiin suorituskykymittareihin. Tutkimuksessamme määritetään erän koon parametrisen pyyhkäisyn ja monisäikeisten asiakkaiden kyselyjen avulla suoritusteho vs. latenssi -käyrä. Jokainen pyyntö voidaan ryhmitellä kiihdyttimen täyden hyödyntämisen varmistamiseksi, erityisesti pienille pyynnöille, jotka eivät ehkä hyödynnä laskentasolmua täysin. Voit myös käyttää tätä asetusta tunnistaaksesi asiakaspuolen eräkoon optimaalisen suorituskyvyn saavuttamiseksi.

Yhteenvetona voimme esittää tämän ongelman matemaattisesti seuraavasti: (Throughput, Latency) = funktio (erän koko, säikeiden lukumäärä, tarkkuus).

Tämä tarkoittaa, että kun otetaan huomioon tyhjentävä tila, kokeiden määrä voi olla suuri. Onneksi jokainen koe voidaan suorittaa itsenäisesti. Suosittelemme käyttöä AWS-erä suorittaa tämä horisontaalisesti skaalattu benchmarking tiivistetyssä ajassa ilman, että vertailukustannukset nousevat lineaariseen testaukseen verrattuna. Koodi tulosten kopioimiseksi on mukana GitHub-arkisto valmistettu AWS Re:Invent 2021:lle. Arkisto on kattava, jotta voidaan suorittaa eri kiihdyttimien benchmarking. Voit viitata koodin GPU-osaan säilön rakentamiseksi (Dockerfile-gpu) ja katso sitten sisällä olevaa koodia Container-Root erityisiä esimerkkejä varten BERT:lle ja ResNet50:lle.

Käytimme edellistä lähestymistapaa suorituskykytutkimuksien kehittämiseen kahdelle mallityypille: Bert-base-uncased (110 miljoonaa parametria, NLP) ja ResNet50 (25.6 miljoonaa parametria, CV). Seuraavassa taulukossa on yhteenveto mallin yksityiskohdista.

Mallityyppi Malli Lisätiedot
NLP twmkn9/bert-base-uncased-squad2 110 miljoonaa parametria Jakson pituus = 128
CV ResNet50 25.6 miljoonaa parametria

Lisäksi käytämme tietotyyppien (täysi, puolitarkkuus) vertailuun torch.cuda.amp, joka tarjoaa käteviä tapoja käsitellä sekatarkkuutta, kun jotkin toiminnot käyttävät torch.float32 (float) tietotyyppi ja muut toiminnot torch.float16 (puoli). Esimerkiksi operaattorit, kuten lineaariset kerrokset ja konvoluutio, ovat paljon nopeampia float16:lla, kun taas toiset, kuten pelkistykset, vaativat usein float32:n dynaamisen alueen. Automaattinen sekoitettu tarkkuus yrittää sovittaa jokaisen operaattorin sopivaan tietotyyppiin optimoidakseen verkon käyttöajan ja muistin jalanjäljen.

Benchmarking-tulokset

Reilun vertailun vuoksi valitsimme G4dn.4xlarge ja G5.4xlarge esiintymiä, joilla on samanlaiset attribuutit, kuten seuraavassa taulukossa on lueteltu.

Ilmentymä GPU GPU-muisti (GiB) vCPU: t Muisti (GiB) Instanssien tallennustila (GB) Verkon suorituskyky (Gbps) EBS:n kaistanleveys (Gbps) Linuxin on-demand -hinnoittelu (us-east-1)
G5.4xlarge 1 24 16 64 1x 600 NVMe SSD asti 25 8 $ 1.204 / tunti
G4dn.4xlarge 1 16 16 64 1x 225 NVMe SSD asti 25 4.75 $ 1.624 / tunti

Seuraavissa osissa verrataan BERT- ja RESNET50-mallien ML-päätelmien suorituskykyä ruudukkopyyhkäisymenetelmään tietyille eräkokoille (32, 16, 8, 4, 1) ja tietotyypin tarkkuudelle (täysi ja puolitarkkuus) suorituskyvyn saavuttamiseksi. vs. latenssikäyrä. Lisäksi tutkimme suorituskyvyn vaikutusta eräkokoon sekä täydellä että puolikkaalla tarkkuudella. Lopuksi mittaamme kustannukset miljoonaa päätelmää kohden erän koon funktiona. Näiden kokeiden konsolidoidut tulokset esitetään yhteenveto myöhemmin tässä viestissä.

Suorituskyky vs. latenssi

Seuraavissa kuvissa verrataan G4dn- ja G5-esiintymiä NLP- ja CV-työkuormille sekä täydellä että puolitarkkuudella. G4dn-esiintymiin verrattuna G5-instanssi tarjoaa noin viisi kertaa suuremman suorituskyvyn (täysi tarkkuus) ja noin 2.5 kertaa suuremman (puolitarkkuuden) BERT-perusmallissa ja noin 2–2.5 kertaa suuremman ResNet50-mallissa. Kaiken kaikkiaan G5 on suositeltava valinta, ja molempien mallien eräkoko kasvaa sekä täyden että sekatarkkuuden kannalta suorituskyvyn näkökulmasta.

Seuraavissa kaavioissa verrataan BERT:n suorituskykyä ja P95-latenssia täydellä ja puolella tarkkuudella.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Seuraavissa kaavioissa verrataan ResNet95:n suorituskykyä ja P50-latenssia täydellä ja puolella tarkkuudella.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Suorituskyky ja latenssi vs. eräkoko

Seuraavat kaaviot näyttävät suorituskyvyn eräkoon funktiona. Pienillä eräkooilla kiihdytin ei toimi täydellä tehollaan, ja kun eräkoko kasvaa, suorituskyky kasvaa latenssin kustannuksella. Suorituskykykäyrä asymptootti maksimiarvoon, joka on kiihdytin suorituskyvyn funktio. Käyrällä on kaksi erillistä ominaisuutta: nouseva osa ja tasainen asymptoottinen osa. Tietyssä mallissa suorituskykyinen kiihdytin (G5) pystyy venyttämään nousevan osan suurempiin eräkokoihin kuin G4dn ja asymptoottiin suuremmalla teholla. Myös latenssin ja eräkoon välillä on lineaarinen kompromissi. Siksi, jos sovellus on sidottu latenssiin, voimme määrittää optimaalisen eräkoon P95-viiveen vs. eräkokoa. Jos tavoitteena on kuitenkin maksimoida läpijuoksu pienimmällä viiveellä, on parempi valita eräkoko, joka vastaa nousevan ja asymptoottisen osion välistä "polvea", koska mikä tahansa eräkoon lisäys johtaisi samaan suoritustehoon huonompi latenssi. Saavuttaaksesi parhaan hinta-suorituskykysuhteen ja kohdistamalla suuremman suorituskyvyn pienimmällä viiveellä sinun on parempi skaalata tämä optimi vaakasuunnassa useiden päättelypalvelimien kautta sen sijaan, että lisäät eräkokoa.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Kustannukset vs. eräkoko

Tässä osiossa esittelemme päättelykustannusten ($ miljoonaa päätelmää kohti) vertailutulokset erän koon mukaan. Seuraavasta kuvasta voimme selvästi havaita, että kustannukset (mitattu dollareina miljoonaa päätelmää kohti) ovat jatkuvasti alhaisemmat G5:llä vs. G4dn:llä molemmilla (täys- ja puolitarkkuus).

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Seuraavassa taulukossa on yhteenveto BERT- ja RESNET50-mallien suorituskyvyn, viiveen ja kustannusten ($ miljoonaa johtopäätöstä) vertailusta molemmissa tarkkuustiloissa tietyille eräkokoille. Huolimatta korkeammista instanssikohtaisista kustannuksista, G5 ylittää jatkuvasti G4dn:n kaikissa päättelyviiveen, suorituskyvyn ja kustannusten ($ miljoonan päättelyn) suhteen kaikissa eräkokoissa. Yhdistämällä eri mittarit kustannuksiksi ($/miljoona päätelmä), BERT-malli (32 eräkoko, täysi tarkkuus) G5:llä on 3.7 kertaa edullisempi kuin G4dn ja ResNet50-mallilla (32 eräkoko, täysi tarkkuus) 1.6 kertaa edullisempi kuin G4dn.

Malli Erän koko Tarkkuus

suoritusteho

(Erän koko X pyyntöä/s)

Latenssi (ms)

$/miljoona

Päätelmät (on-demand)

Kustannusetu

(G5 yli G4dn)

. . . G5 G4dn G5 G4dn G5 G4dn
Bert-base-koteloton 32 Koko 723 154 44 208 $0.6 $2.2 3.7X
Sekoitettu 870 410 37 79 $0.5 $0.8 1.6X
16 Koko 651 158 25 102 $0.7 $2.1 3.0X
Sekoitettu 762 376 21 43 $0.6 $0.9 1.5X
8 Koko 642 142 13 57 $0.7 $2.3 3.3X
Sekoitettu 681 350 12 23 $0.7 $1.0 1.4X
. 1 Koko 160 116 6 9 $2.8 $2.9 1.0X
Sekoitettu 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 Koko 941 397 34 82 $0.5 $0.8 1.6X
Sekoitettu 1533 851 21 38 $0.3 $0.4 1.3X
16 Koko 888 384 18 42 $0.5 $0.9 1.8X
Sekoitettu 1474 819 11 20 $0.3 $0.4 1.3X
8 Koko 805 340 10 24 $0.6 $1.0 1.7X
Sekoitettu 1419 772 6 10 $0.3 $0.4 1.3X
. 1 Koko 202 164 5 6 $2.2 $2 0.9X
Sekoitettu 196 180 5 6 $2.3 $1.9 0.8X

Muita johtopäätösten vertailuarvoja

Aiempien osioiden BERT-pohja- ja ResNet50-tulosten lisäksi esittelemme muita PyTorchissa yleisesti käytettyjä suuria NLP- ja CV-malleja koskevia vertailutuloksia. G5:n suorituskykyetu G4dn:ään verrattuna on esitetty BERT Large -malleille eri tarkkuudella ja Yolo-v5-malleille eri kokoisille malleille. Katso vertailuarvon replikointikoodi kohdasta NVIDIA Deep Learning -esimerkkejä tensoriytimille. Nämä tulokset osoittavat hyödyn G5:n käytöstä G4dn:n sijaan monenlaisiin päättelytehtäviin, jotka kattavat eri mallityyppejä.

Malli Tarkkuus Erän koko Jakson pituus Suorituskyky (lähetetty/sek) Suorituskyky: G4dn Speedup Over G4dn
BERT-suuri FP16 1 128 93.5 40.31 2.3
BERT-suuri FP16 4 128 264.2 87.4 3.0
BERT-suuri FP16 8 128 392.1 107.5 3.6
BERT-suuri FP32 1 128 68.4 22.67 3.0
BERT-suuri 4 128 118.5 32.21 3.7
BERT-suuri 8 128 132.4 34.67 3.8
Malli GFLOPS Parametrien määrä Esikäsittely (ms) Päätelmä (ms) Päätelmä (ei maksimivaimennus) (NMS/kuva)
YOLOV5s 16.5 7.2M 0.2 3.6 4.5
YOLOv5m 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

Yhteenveto

Tässä viestissä osoitimme, että suurista NLP- ja CV PyTorch -malleista pääteltäessä EC2 G5 -esiintymät ovat parempi valinta verrattuna G4dn-esiintymiin. Vaikka G5-esiintymien on-demand-tuntikustannukset ovat korkeammat kuin G4dn-esiintymien, sen korkeampi suorituskyky voi saavuttaa 2–5-kertaisen suorituskyvyn millä tahansa tarkkuudella NLP- ja CV-malleissa, mikä tekee miljoonan päätelmien hinnasta 1.5–3.5 kertaa edullisemman kuin G4dn-esiintymiä. Jopa latenssiin sidottuissa sovelluksissa G5 on 2.5–5 kertaa parempi kuin G4dn NLP- ja CV-malleissa.

Yhteenvetona voidaan todeta, että AWS G5 -esiintymät ovat erinomainen valinta päättelytarpeisiisi sekä suorituskyvyn että päättelykohtaisen hinnan näkökulmasta. CUDA-kehyksen universaalisuus ja AWS:n G5-ilmentymien joukon laajuus ja syvyys tarjoavat sinulle ainutlaatuisen mahdollisuuden tehdä johtopäätöksiä mittakaavassa.


Tietoja kirjoittajista

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Ankur Srivastava on vanhempi ratkaisuarkkitehti ML Frameworks -tiimissä. Hän keskittyy auttamaan asiakkaita itseohjatulla hajautetulla koulutuksella ja laajamittaisten päätelmien tekemisessä AWS:stä. Hänen kokemuksensa sisältää teollisen ennakoivan ylläpidon, digitaaliset kaksoset, todennäköisyyspohjaisen suunnittelun optimoinnin ja hän on suorittanut tohtorintutkinnon Rice Universityn konetekniikasta ja tohtorintutkinnon Massachusetts Institute of Technologysta.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Sundar Ranganathan on liiketoiminnan kehitysjohtaja, ML Frameworks Amazon EC2 -tiimissä. Hän keskittyy suuriin ML-työkuormiin AWS-palveluissa, kuten Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch ja Amazon SageMaker. Hänen kokemuksensa sisältää johtotehtäviä tuotehallinnassa ja tuotekehityksessä NetAppilla, Micron Technologylla, Qualcommilla ja Mentor Graphicsilla.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Mahadevan Balasubramaniam on autonomisen laskennan pääratkaisuarkkitehti, jolla on lähes 20 vuoden kokemus fysiikkapohjaisesta syväoppimisesta, digitaalisten kaksosten rakentamisesta ja käyttöönotosta laajamittaisissa teollisissa järjestelmissä. Mahadevan suoritti tohtorin tutkinnon konetekniikassa Massachusetts Institute of Technologysta, ja hänellä on yli 25 patenttia ja julkaisua.

Saavuta neljä kertaa suurempi ML-päätelmien suoritusteho kolme kertaa pienemmällä päättelyhinnalla Amazon EC2 G5 -esiintymillä NLP- ja CV PyTorch -malleille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Amr Ragab on AWS:n EC2 Accelerated Platforms -ratkaisujen pääasiallinen ratkaisuarkkitehti, joka on omistautunut auttamaan asiakkaita suorittamaan laskennallisia työkuormia mittakaavassa. Vapaa-ajallaan hän tykkää matkustaa ja löytää uusia tapoja integroida teknologiaa jokapäiväiseen elämään.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen