NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.

NLP ja CV PyTorchi mudelite Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega

Amazon Elastic Compute Cloud (Amazon EC2) G5 eksemplarid on esimesed ja ainsad pilves olevad eksemplarid, millel on NVIDIA A10G Tensor Core GPU-d, mida saate kasutada paljude graafikamahukate ja masinõppe (ML) kasutusjuhtude jaoks. G5 eksemplaridega saavad ML-i kliendid suure jõudluse ja kulutõhusa infrastruktuuri, et koolitada ja juurutada suuremaid ja keerukamaid loomuliku keele töötlemise (NLP), arvutinägemise (CV) ja soovitava mootori kasutusjuhtude mudeleid.

Selle postituse eesmärk on tutvustada G5 eksemplaride jõudluse eeliseid suuremahuliste ML-i järelduste töökoormuste jaoks. Teeme seda NLP- ja CV-mudelite hinna-toimivuse (mõõdetuna järeldustena miljoni dollari kohta) võrdlemisega G4dn-juhtumitega. Alustuseks kirjeldame oma võrdlusuuringu lähenemisviisi ja seejärel esitame läbilaskevõime ja latentsusaja kõverad partiide suuruse ja andmetüübi täpsuse lõikes. Võrreldes G4dn-i eksemplaridega leiame, et G5 eksemplarid tagavad NLP- ja CV-mudelite täieliku täpsusega ja kombineeritud täpsusrežiimide jaoks pidevalt madalama kulu miljoni kohta, saavutades samal ajal suurema läbilaskevõime ja väiksema latentsusaega.

Võrdlusuuringu lähenemisviis

G5 ja G4dn vahelise hinna ja toimivuse uuringu väljatöötamiseks peame mõõtma läbilaskevõimet, latentsust ja miljonite järelduste maksumust partii suuruse funktsioonina. Samuti uurime täieliku täpsuse ja segatäpsuse mõju. Nii mudeli graafik kui ka sisendid laaditakse CUDA-sse enne järelduste tegemist.

Nagu on näidatud järgmises arhitektuuriskeemis, loome esmalt CUDA-ga vastavad põhikonteineri kujutised aluseks oleva EC2 eksemplari (G4dn, G5) jaoks. Aluskonteineri kujutiste loomiseks alustame AWS-i süvaõppekonteinerid, mis kasutavad eelpakendatud Dockeri pilte sügavate õpikeskkondade juurutamiseks minutitega. Pildid sisaldavad nõutavaid süvaõppe PyTorchi teeke ja tööriistu. Saate lisada nendele piltidele oma teeke ja tööriistu, et saaksite paremini kontrollida jälgimist, vastavust ja andmetöötlust.

Seejärel loome mudelispetsiifilise konteineri kujutise, mis kapseldab mudeli konfiguratsiooni, mudeli jälgimise ja sellega seotud koodi edasikäikude käivitamiseks. Kõik konteineri pildid laaditakse sisse Amazon ECR et võimaldada nende mudelite horisontaalset skaleerimist erinevate mudelikonfiguratsioonide jaoks. Me kasutame Amazoni lihtne salvestusteenus (Amazon S3) kui tavaline andmehoidla konfiguratsiooni allalaadimiseks ja võrdlusuuringute tulemuste üleslaadimiseks kokkuvõtte tegemiseks. Seda arhitektuuri saate kasutada võrdlusuuringu tulemuste taasloomiseks ja reprodutseerimiseks ning erinevate mudelitüüpide (nt Hugging Face mudelid, PyTorchi mudelid, muud kohandatud mudelid) võrdlemiseks EC2 eksemplaritüüpide (CPU, GPU, Inf1) vahel.

Selle katse seadistamisega on meie eesmärk uurida latentsust läbilaskevõime funktsioonina. See kõver on oluline rakenduse kavandamisel, et jõuda sihtrakenduse jaoks kulutõhusa infrastruktuurini. Selle saavutamiseks simuleerime erinevaid koormusi, asetades järjekorda päringud mitmest lõimest ja mõõtes seejärel iga täidetud päringu edasi-tagasi aega. Läbilaskevõimet mõõdetakse täidetud päringute arvu alusel kellaajaühiku kohta. Lisaks saate varieerida partiide suurusi ja muid muutujaid, nagu järjestuse pikkus ja täielik täpsus vs pooltäpsus, et kujundusruumi põhjalikult pühkida, et jõuda soovituslike toimivusmõõdikuteni. Meie uuringus määratakse partii suuruse parameetrilise pühkmise ja mitme lõimega klientide päringute abil läbilaskevõime vs. latentsus kõver. Kiirendi täieliku ärakasutamise tagamiseks saab iga päringu partiida, eriti väikeste päringute puhul, mis ei pruugi arvutussõlme täielikult ära kasutada. Saate selle seadistuse kasutusele võtta ka kliendipoolse partii suuruse tuvastamiseks optimaalse jõudluse tagamiseks.

Kokkuvõttes võime seda probleemi matemaatiliselt esitada järgmiselt: (läbilaskvus, latentsusaeg) = funktsioon (partii suurus, lõimede arv, täpsus).

See tähendab, et ammendavat ruumi arvestades võib katsete arv olla suur. Õnneks saab iga katset iseseisvalt käivitada. Soovitame kasutada AWS partii teha seda horisontaalselt skaleeritud võrdlusuuringut kokkusurutud aja jooksul, ilma et see suurendaks võrdlusuuringu kulusid võrreldes lineaarse lähenemisviisiga testimisele. Kood tulemuste kopeerimiseks on olemas GitHubi hoidla AWS Re:Invent 2021 jaoks ette valmistatud. Hoidla on kõikehõlmav, et teha erinevate kiirendite võrdlusuuringuid. Konteineri koostamiseks võite viidata koodi GPU aspektile (Dockerfile-gpu) ja seejärel vaadake sees olevat koodi Container-Root konkreetsete näidete jaoks BERTi ja ResNet50 jaoks.

Kasutasime eelmist lähenemisviisi kahe mudelitüübi jõudlusuuringute väljatöötamiseks: Bert-base-uncased (110 miljonit parameetrit, NLP) ja ResNet50 (25.6 miljonit parameetrit, CV). Järgmises tabelis on mudeli üksikasjad kokku võetud.

Mudelitüüp MUDEL Detailid
NLP twmkn9/bert-base-uncased-squad2 110 miljonit parameetrit Jada pikkus = 128
CV ResNet50 25.6 miljonit parameetrit

Lisaks kasutame andmetüüpide (täielik, poole täpsusega) võrdlemiseks torch.cuda.amp, mis pakub mugavaid meetodeid segase täpsusega käsitlemiseks, kui mõned toimingud kasutavad torch.float32 (ujuv) andmetüüp ja muud operatsioonid torch.float16 (pool). Näiteks operaatorid, nagu lineaarsed kihid ja konvolutsioonid, on float16-ga palju kiiremad, samas kui teised nagu vähendamised nõuavad sageli float32 dünaamilist ulatust. Automaatne segatäpsus püüab iga operaatori sobitada sobiva andmetüübiga, et optimeerida võrgu käitusaega ja mälumahtu.

Võrdlusuuringu tulemused

Ausa võrdluse huvides valisime G4dn.4xlarge ja G5.4xlarge sarnaste atribuutidega eksemplare, nagu on loetletud järgmises tabelis.

Juhtum GPU GPU mälu (GiB) vCPU-d Mälu (GiB) Eksemplari salvestusruum (GB) Võrgu jõudlus (Gbps) EBS ribalaius (Gbps) Linuxi tellitav hinnakujundus (us-east-1)
G5.4xlarge 1 24 16 64 1x 600 NVMe SSD kuni 25 8 $ 1.204 / tunnis
G4dn.4xlarge 1 16 16 64 1x 225 NVMe SSD kuni 25 4.75 $ 1.624 / tunnis

Järgmistes jaotistes võrdleme BERT ja RESNET50 mudelite ML järelduste toimivust ruudustiku pühkimismeetodiga konkreetsete partii suuruste (32, 16, 8, 4, 1) ja andmetüübi täpsusega (täis- ja pooltäpsus), et jõuda läbilaskevõimeni. vs latentsuskõver. Lisaks uurime läbilaskevõime ja partii suuruse mõju nii täieliku kui ka poole täpsusega. Lõpuks mõõdame ühe miljoni järelduse maksumust partii suuruse funktsioonina. Nende katsete konsolideeritud tulemused on kokku võetud hiljem selles postituses.

Läbilaskevõime vs latentsusaeg

Järgmistel joonistel võrreldakse G4dn ja G5 eksemplare NLP ja CV töökoormuse jaoks nii täis- kui poole täpsusega. Võrreldes G4dn-i eksemplaridega, tagab G5 eksemplar BERT-i baasmudeli puhul umbes viis korda suurema läbilaskevõime (täielik täpsus) ja umbes 2.5 korda suurem (poole täpsus) ning ResNet2 mudeli puhul umbes 2.5–50 korda suurem. Üldiselt on G5 eelistatud valik, kusjuures mõlema mudeli partiide suurus suureneb nii täieliku kui ka segase täpsusega jõudluse seisukohast.

Järgmised graafikud võrdlevad BERTi läbilaskevõimet ja P95 latentsust täis- ja poole täpsusega.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai. NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.

Järgmised graafikud võrdlevad ResNet95 läbilaskevõimet ja P50 latentsust täis- ja poole täpsusega.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai. NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.

Läbilaskevõime ja latentsus vs partii suurus

Järgmised graafikud näitavad läbilaskevõimet partii suuruse funktsioonina. Väikeste partiisuuruste korral ei tööta kiirendi täiel määral ja kui partii suurus suureneb, suureneb läbilaskevõime latentsuse arvelt. Läbilaskevõime kõver asümptoteerub maksimaalse väärtuseni, mis on kiirendi jõudluse funktsioon. Kõveral on kaks erinevat tunnust: tõusev osa ja tasane asümptootiline lõik. Antud mudeli puhul on jõudluskiirendi (G5) võimeline venitama tõusva osa suuremaks partiideks kui G4dn ja asümptoodiks suurema läbilaskevõimega. Samuti on latentsusaja ja partii suuruse vahel lineaarne kompromiss. Seega, kui rakendus on latentsusajaga seotud, saame optimaalse partii suuruse määramiseks kasutada P95 latentsust vs partii suurust. Kui aga eesmärk on maksimeerida läbilaskevõimet madalaima latentsusajaga, on parem valida partii suurus, mis vastab tõusva ja asümptootilise sektsiooni vahelisele „põlvele“, kuna partii suuruse edasine suurendamine tooks kaasa sama läbilaskevõime hullem latentsusaeg. Parima hinna ja toimivuse suhte saavutamiseks, sihites suuremat läbilaskevõimet madalaima latentsusajaga, on parem seda optimaalset horisontaalselt skaleerida mitme järeldusserveri kaudu, selle asemel, et lihtsalt partii suurust suurendada.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.

Maksumus vs partii suurus

Selles jaotises esitame järelduste kulude ($ miljoni järelduse kohta) võrdlustulemused partii suuruse kohta. Järgmisel joonisel on selgelt näha, et kulu (mõõdetuna $ miljoni järelduste kohta) on G5 ja G4dn mõlema (täieliku ja poole täpsusega) järjekindlalt madalam.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai. NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.

Järgmises tabelis on kokkuvõte BERT-i ja RESNET50 mudelite läbilaskevõime, latentsusaja ja kulude (miljoni dollari kohta järelduste kohta) võrdlused mõlema täppisrežiimi puhul kindlate partiisuuruste puhul. Vaatamata kõrgemale kulule eksemplari kohta, ületab G5 järjekindlalt G4dn-i kõigis järelduste latentsuse, läbilaskevõime ja maksumuse aspektides (järeldus miljoni dollari kohta) kõigi partiide suuruste puhul. Kombineerides erinevad mõõdikud kuluks (umbes miljoni dollari kohta järeldusi), on BERT-i mudel (32 partii suurus, täielik täpsus) koos G5-ga 3.7 korda soodsam kui G4dn ja ResNet50 mudeliga (partii suurus 32, täielik täpsus) on see 1.6 korda soodsam kui G4dn.

MUDEL Partii suurus Täpsus

Läbilaskevõime

(Partii suurus X taotlust sekundis)

Hilinemine (ms)

$/miljon

Järeldused (nõudmisel)

Kulutulu

(G5 üle G4dn)

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

Täiendavad järelduste võrdlusalused

Lisaks BERT-i baas- ja ResNet50 tulemustele eelmistes jaotistes esitame täiendavaid võrdlusuuringu tulemusi PyTorchis teiste sageli kasutatavate suurte NLP- ja CV-mudelite jaoks. G5 jõudluse eelised võrreldes G4dn-iga on esitatud erineva täpsusega BERT Large mudelite ja erineva suurusega mudelite Yolo-v5 jaoks. Võrdlusaluse paljundamise koodi leiate aadressilt NVIDIA süvaõppe näited tensori tuumade jaoks. Need tulemused näitavad G5 kasutamise eeliseid G4dn-i ees paljude erinevate mudelitüüpide jaoks.

MUDEL Täpsus Partii suurus Jada pikkus Läbilaskevõime (saadetud/s) Läbilaskevõime: G4dn Kiirendus üle G4dn
BERT-suur FP16 1 128 93.5 40.31 2.3
BERT-suur FP16 4 128 264.2 87.4 3.0
BERT-suur FP16 8 128 392.1 107.5 3.6
BERT-suur FP32 1 128 68.4 22.67 3.0
BERT-suur 4 128 118.5 32.21 3.7
BERT-suur 8 128 132.4 34.67 3.8
MUDEL GFLOPS Parameetrite arv Eeltöötlus (ms) Järeldus (ms) Järeldus (mittemaksimaalne summutus) (NMS/pilt)
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

Järeldus

Selles postituses näitasime, et suurte NLP ja CV PyTorchi mudelite puhul on EC2 G5 eksemplarid parem valik võrreldes G4dn eksemplaridega. Kuigi G5 eksemplaride tellitav tunnikulu on kõrgem kui G4dn eksemplaridel, võib selle suurem jõudlus saavutada 2–5 korda suurema läbilaskevõime mis tahes täpsusega NLP- ja CV-mudelite puhul, mis muudab miljoni järelduse maksumuse 1.5–3.5 korda soodsamaks kui G4dn eksemplarid. Isegi latentsusega seotud rakenduste puhul on G5 NLP- ja CV-mudelite puhul 2.5–5 korda parem kui G4dn.

Kokkuvõtteks võib öelda, et AWS G5 eksemplarid on suurepärane valik teie järelduste tegemiseks nii jõudluse kui ka järelduste maksumuse vaatenurgast. CUDA raamistiku universaalsus ning G5 eksemplaride kogumi ulatus ja sügavus AWS-is annavad teile ainulaadse võimaluse teha mastaabis järeldusi.


Autoritest

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.Ankur Srivastava on ML Frameworksi meeskonna vanem lahenduste arhitekt. Ta keskendub klientide abistamisele isehallatava hajutatud koolituse ja AWS-i ulatuslike järelduste tegemisel. Tema kogemused hõlmavad tööstuslikku ennustavat hooldust, digitaalseid kaksikuid, tõenäosuslikku disaini optimeerimist ning on lõpetanud Rice'i ülikooli masinaehituse doktorantuuri ja Massachusettsi tehnoloogiainstituudi järeldoktorantuuri.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.Sundar Ranganathan on Amazon EC2 meeskonna ML Frameworksi äriarenduse juht. Ta keskendub suuremahulistele ML-i töökoormustele AWS-i teenustes, nagu Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch ja Amazon SageMaker. Tema kogemused hõlmavad juhtrolli tootehalduses ja tootearenduses NetAppis, Micron Technology's, Qualcommis ja Mentor Graphicsis.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai.Mahadevan Balasubramaniam on autonoomse andmetöötluse peamine lahenduste arhitekt, kellel on peaaegu 20-aastane kogemus füüsikaga seotud sügava õppimise, digitaalsete kaksikute loomise ja juurutamise valdkonnas tööstussüsteemides. Mahadevan omandas doktorikraadi masinaehituse alal Massachusettsi Tehnoloogiainstituudis ning tal on üle 25 patendi ja publikatsiooni.

NLP ja CV PyTorchi mudelite PlatoBlockchain Data Intelligence Amazon EC2 G5 eksemplaride abil saavutage neli korda suurem ML-i järelduste läbilaskevõime kolm korda väiksema järelduse maksumusega. Vertikaalne otsing. Ai. Amr Ragab on AWS-i EC2 kiirendatud platvormide peamine lahenduste arhitekt, mis on pühendunud klientide abistamisele arvutusliku töökoormuse mastaabis. Vabal ajal meeldib talle reisida ja leida uusi viise, kuidas tehnoloogiat igapäevaellu integreerida.

Ajatempel:

Veel alates AWS-i masinõpe