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.
Seuraavissa kaavioissa verrataan ResNet95:n suorituskykyä ja P50-latenssia täydellä ja puolella tarkkuudella.
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.
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).
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
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.
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.
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.
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.
- Lisäasetukset (300)
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon EC2
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet