Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Négyszer nagyobb ML következtetési átviteli sebességet érhet el háromszor alacsonyabb következtetésenkénti költséggel az Amazon EC2 G5 példányaival NLP és CV PyTorch modellekhez

Amazon rugalmas számítási felhő (Amazon EC2) G5 példányok ezek az első és egyetlen példányok a felhőben, amelyek NVIDIA A10G Tensor Core GPU-kat tartalmaznak, amelyeket számos grafikaigényes és gépi tanulási (ML) felhasználási esethez használhat. A G5-példányokkal az ML-ügyfelek nagy teljesítményt és költséghatékony infrastruktúrát kapnak nagyobb és kifinomultabb modellek betanításához és üzembe helyezéséhez a természetes nyelvi feldolgozáshoz (NLP), a számítógépes látásmódhoz (CV) és az ajánlómotor-használati esetekhez.

Ennek a bejegyzésnek az a célja, hogy bemutassa a G5-példányok teljesítménybeli előnyeit nagyszabású ML következtetési munkaterhelésekhez. Ezt úgy tesszük, hogy összehasonlítjuk az NLP és CV modellek ár-teljesítményét (a millió dollárra vetítve) a G4dn példányokkal. Kezdjük azzal, hogy leírjuk a benchmarking megközelítésünket, majd bemutatjuk az átviteli sebesség és a késleltetés közötti görbéket a kötegméretekre és az adattípusok pontosságára vonatkozóan. A G4dn-példányokkal összehasonlítva azt találtuk, hogy a G5-példányok következetesen alacsonyabb milliónkénti költséget eredményeznek mind a teljes pontosságú, mind a vegyes precíziós módok esetében az NLP és CV modelleknél, miközben nagyobb átviteli sebességet és alacsonyabb késleltetést érnek el.

Benchmarking megközelítés

A G5 és a G4dn közötti ár-teljesítmény tanulmány kidolgozásához meg kell mérnünk az áteresztőképességet, a késleltetést és a milliónkénti költséget a köteg méretének függvényében. Tanulmányozzuk a teljes pontosság és a vegyes pontosság hatását is. A modell gráfja és a bemenetek is betöltődnek a CUDA-ba a következtetés levonása előtt.

Amint az a következő architektúra diagramon látható, először létrehozzuk a megfelelő alaptároló-képeket a CUDA-val az alapul szolgáló EC2-példányhoz (G4dn, G5). Az alapkonténerképek elkészítéséhez kezdjük a következővel AWS Deep Learning Containers, amelyek előre csomagolt Docker-képeket használnak a mély tanulási környezetek percek alatti telepítéséhez. A képek tartalmazzák a szükséges mélytanulási PyTorch könyvtárakat és eszközöket. Felveheti saját könyvtárait és eszközeit ezekre a képekre, hogy nagyobb fokú ellenőrzést biztosítson a felügyelet, a megfelelőség és az adatfeldolgozás felett.

Ezután létrehozunk egy modellspecifikus tárolóképet, amely magában foglalja a modell konfigurációját, a modellkövetést és a kapcsolódó kódot az előrehaladási lépések futtatásához. Az összes tárolókép betöltődik ide Amazon ECR lehetővé teszi ezeknek a modelleknek a vízszintes skálázását a különböző modellkonfigurációkhoz. Mi használjuk Amazon egyszerű tárolási szolgáltatás (Amazon S3) általános adattárként a konfiguráció letöltéséhez és a benchmark eredmények feltöltéséhez az összegzés céljából. Ezzel az architektúrával újra létrehozhatja és reprodukálhatja a benchmark eredményeket, és újra felhasználhatja a különböző modelltípusok (például Hugging Face modellek, PyTorch modellek, egyéb egyéni modellek) összehasonlítását az EC2 példánytípusok (CPU, GPU, Inf1) között.

Ezzel a kísérlettel az a célunk, hogy tanulmányozzuk a késleltetést az átviteli sebesség függvényében. Ez a görbe fontos az alkalmazástervezés szempontjából, hogy a célalkalmazás költségoptimális infrastruktúráját érje el. Ennek elérése érdekében különböző terheléseket szimulálunk úgy, hogy több szálból származó lekérdezéseket sorba állítunk, majd minden teljesített kérésnél mérjük az oda-vissza út idejét. Az áteresztőképesség mérése az egységnyi idő alatt teljesített kérések száma alapján történik. Ezenkívül változtathatja a kötegméreteket és más változókat, például a sorozathosszt és a teljes pontosságot, illetve a fél pontosságot, hogy átfogóan átjárja a tervezési teret az indikatív teljesítménymutatók eléréséhez. Tanulmányunkban a kötegméret és a többszálú kliensek lekérdezései paraméteres söpörésével határozzuk meg az átviteli sebesség és a késleltetés közötti görbét. Minden kérés kötegelhető a gyorsító teljes kihasználásának biztosítása érdekében, különösen az olyan kis kérések esetében, amelyek esetleg nem használják ki teljesen a számítási csomópontot. Ezt a beállítást az optimális teljesítmény érdekében az ügyféloldali kötegméret meghatározásához is alkalmazhatja.

Összefoglalva, ezt a problémát matematikailag a következőképpen ábrázolhatjuk: (áteresztőképesség, késleltetés) = (kötegméret, szálak száma, pontosság) függvénye.

Ez azt jelenti, hogy a kimerítő tér ismeretében a kísérletek száma nagy lehet. Szerencsére minden kísérlet önállóan is futtatható. Javasoljuk a használatát AWS köteg hogy ezt a horizontálisan skálázott benchmarkingot tömörített idő alatt végezze el anélkül, hogy a benchmarking költsége növekedne a tesztelés lineáris megközelítéséhez képest. Az eredmények replikálására szolgáló kód megtalálható a GitHub tárház Az AWS Re:Invent 2021-hez készült. Az adattár átfogóan alkalmas a különböző gyorsítók teljesítményértékelésére. A tároló felépítéséhez hivatkozhat a kód GPU-aspektusára (Dockerfile-gpu), majd tekintse meg a benne lévő kódot Container-Root konkrét példákért a BERT és a ResNet50 esetében.

Az előző megközelítést alkalmaztuk teljesítményvizsgálatok kidolgozásához két modelltípuson: Bert-base-uncased (110 millió paraméter, NLP) és ResNet50 (25.6 millió paraméter, CV). Az alábbi táblázat összefoglalja a modell részleteit.

Modelltípus Modell Részletek
NLP twmkn9/bert-base-uncased-squad2 110 millió paraméter Sorozat hossza = 128
CV ResNet50 25.6 millió paraméter

Ezenkívül az adattípusok (teljes, fél pontosságú) összehasonlításához használjuk torch.cuda.amp, amely kényelmes módszereket biztosít a vegyes pontosság kezelésére, ahol egyes műveletek a torch.float32 (lebegő) adattípus és egyéb műveletek használata torch.float16 (fél). Például az olyan operátorok, mint a lineáris rétegek és a konvolúciók, sokkal gyorsabbak a float16-tal, míg mások, mint a redukciók, gyakran a float32 dinamikus tartományát igénylik. Az automatikus vegyes precizitás megpróbálja az egyes operátorokat a megfelelő adattípushoz illeszteni, hogy optimalizálja a hálózat futási idejét és memóriahasználatát.

Benchmarking eredmények

A korrekt összehasonlítás érdekében kiválasztottuk G4dn.4xlarge és a G5.4xlarge hasonló attribútumokkal rendelkező példányok, a következő táblázatban felsoroltak szerint.

Példa GPU GPU memória (GiB) vCPU-k Memória (GiB) Példánytárhely (GB) Hálózati teljesítmény (Gbps) EBS sávszélesség (Gbps) Linux on-Demand árképzés (us-east-1)
G5.4xlarge 1 24 16 64 1x 600 NVMe SSD akár 25 8 $ 1.204 / óra
G4dn.4xlarge 1 16 16 64 1x 225 NVMe SSD akár 25 4.75 $ 1.624 / óra

A következő szakaszokban összehasonlítjuk a BERT és RESNET50 modellek ML következtetési teljesítményét a rácssöprés-megközelítéssel meghatározott kötegméretekre (32, 16, 8, 4, 1) és az adattípus pontosságára (teljes és fél pontosság), hogy elérjük az átviteli sebességet. vs. késleltetési görbe. Ezenkívül megvizsgáljuk az áteresztőképesség és a sarzsméret közötti hatást teljes és fél pontosság esetén is. Végül mérjük a millió következtetésre jutó költséget a köteg méretének függvényében. A kísérletek összesített eredményeit a bejegyzés későbbi részében foglaljuk össze.

Átbocsátóképesség vs. késleltetés

A következő ábrák összehasonlítják a G4dn és G5 példányokat az NLP és CV munkaterhelésekhez teljes és fél pontossággal. A G4dn-példányokhoz képest a G5-példány körülbelül ötször nagyobb (teljes pontosságú) és körülbelül 2.5-szer nagyobb (félpontosságú) átviteli sebességet biztosít egy BERT alapmodell esetében, és körülbelül 2–2.5-szer nagyobb a ResNet50 modell esetében. Összességében a G5 az előnyben részesített választás, mindkét modellnél növekvő tételmérettel, mind a teljes, mind a vegyes pontosság érdekében teljesítmény szempontjából.

A következő grafikonok összehasonlítják az átviteli sebességet és a P95 késleltetést teljes és fél pontossággal a BERT esetében.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai. Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.

A következő grafikonok összehasonlítják az átviteli sebességet és a P95 késleltetést teljes és fél pontossággal a ResNet50 esetében.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai. Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Átbocsátóképesség és késleltetés a kötegmérethez képest

A következő grafikonok az áteresztőképességet mutatják a kötegméret függvényében. Alacsony kötegméreteknél a gyorsító nem működik maximálisan, és a köteg méretének növekedésével az átviteli sebesség a késleltetés árán nő. Az átviteli görbe aszimptota egy maximális értékre, amely a gyorsító teljesítményének függvénye. A görbének két különböző jellemzője van: egy emelkedő szakasz és egy lapos aszimptotikus szakasz. Egy adott modell esetében a teljesítménygyorsító (G5) képes a felfutó szakaszt nagyobb tételméretekre nyújtani, mint a G4dn, és nagyobb átviteli teljesítménnyel aszimptotálni. Ezenkívül lineáris kompromisszum van a várakozási idő és a köteg mérete között. Ezért, ha az alkalmazás késleltetéshez kötött, használhatjuk a P95 várakozási időt a kötegmérethez képest az optimális kötegméret meghatározásához. Ha azonban a cél az átviteli sebesség maximalizálása a legalacsonyabb késleltetés mellett, akkor jobb, ha az emelkedő és az aszimptotikus szakaszok közötti „térdnek” megfelelő kötegméretet választjuk, mivel a köteg méretének további növelése ugyanazt az átviteli sebességet eredményezi rosszabb késleltetés. A legjobb ár-teljesítmény arány elérése érdekében, nagyobb átviteli sebességet célozva meg a legalacsonyabb késleltetés mellett, jobban jár, ha ezt az optimumot vízszintesen skálázza több következtetési szerveren keresztül, ahelyett, hogy csak a kötegméretet növelné.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Költség vs. tételnagyság

Ebben a részben a következtetési költségek ($ per millió következtetés) összehasonlító eredményeit mutatjuk be a kötegméret függvényében. A következő ábrán jól látható, hogy a költség ($ millió következtetésenként mérve) következetesen alacsonyabb G5 és G4dn esetén (teljes és fél pontosság).

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai. Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Az alábbi táblázat összefoglalja a BERT és a RESNET50 modellek átviteli sebességét, késleltetését és költségét ($ per millió következtetés) mindkét precíziós módban meghatározott kötegméretek esetén. A magasabb példányonkénti költség ellenére a G5 következetesen felülmúlja a G4dn-t a következtetési késleltetés, átviteli sebesség és költség (millió dolláronkénti következtetés) tekintetében minden kötegméret esetén. A különböző mutatókat költségbe ($ per millió következtetés) kombinálva a BERT modell (32 kötegméret, teljes pontosság) G5-tel 3.7-szer kedvezőbb, mint a G4dn, a ResNet50 modellel (32 kötegméret, teljes pontosság) pedig 1.6 alkalommal kedvezőbb, mint a G4dn.

Modell Csomó méret Pontosság

áteresztőképesség

(Kötegméret X kérés/mp)

Latencia (ms)

$/millió

Következtetések (igény szerint)

Költség-haszon

(G5 G4dn felett)

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

További következtetési referenciaértékek

Az előző részekben a BERT alap és a ResNet50 eredményein kívül további benchmarking eredményeket mutatunk be a PyTorchban általánosan használt nagy NLP és CV modellekhez. A G5 teljesítményelőnyét a G4dn-nel szemben bemutatták a különböző pontosságú BERT Large modelleknél és a különböző méretű Yolo-v5 modelleknél. A benchmark replikálásához szükséges kódot lásd: NVIDIA Deep Learning példák Tensor magokhoz. Ezek az eredmények azt mutatják, hogy milyen előnyökkel jár a G5 használata a G4dn-nel szemben a különböző modelltípusokat átfogó következtetési feladatok széles körében.

Modell Pontosság Csomó méret Sorozat hossza Átviteli sebesség (elküldve/mp) Átmenőképesség: G4dn Speedup Over G4dn
BERT-nagy FP16 1 128 93.5 40.31 2.3
BERT-nagy FP16 4 128 264.2 87.4 3.0
BERT-nagy FP16 8 128 392.1 107.5 3.6
BERT-nagy FP32 1 128 68.4 22.67 3.0
BERT-nagy 4 128 118.5 32.21 3.7
BERT-nagy 8 128 132.4 34.67 3.8
Modell GFLOPS Paraméterek száma Előfeldolgozás (ms) Következtetés (ms) Következtetés (nem maximális elnyomás) (NMS/kép)
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

Következtetés

Ebben a bejegyzésben megmutattuk, hogy a nagy NLP és CV PyTorch modellekre való következtetéshez az EC2 G5 példányok jobb választás a G4dn példányokhoz képest. Bár a G5-példányok igény szerinti óraköltsége magasabb, mint a G4dn-példányoké, nagyobb teljesítménye bármilyen pontossággal 2–5-szörös áteresztőképességet érhet el az NLP- és CV-modellek esetében, ami a millió következtetésenkénti költséget 1.5–3.5-szer kedvezőbbé teszi, mint a G4dn példányok. Még késleltetéshez kötött alkalmazások esetén is a G5 2.5–5-ször jobb, mint a G4dn az NLP és CV modelleknél.

Összefoglalva, az AWS G5 példányok kiváló választást jelentenek a következtetési igények kielégítésére mind a teljesítmény, mind a következtetésenkénti költség szempontjából. A CUDA-keretrendszer univerzalitása, valamint a G5-példánykészlet mérete és mélysége az AWS-en egyedülálló képességet biztosít a nagyarányú következtetések végrehajtására.


A szerzőkről

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.Ankur Srivastava Sr. Solutions Architect az ML Frameworks csapatában. Arra összpontosít, hogy segítse az ügyfeleket a saját maga által irányított, elosztott képzéssel és az AWS-re vonatkozó széles körű következtetésekkel. Tapasztalatai közé tartozik az ipari prediktív karbantartás, a digitális ikrek, a valószínűségi tervezés optimalizálása, doktori tanulmányait a Rice Egyetem gépészmérnöki szakán, valamint a Massachusetts Institute of Technology posztdoktori kutatását végezte.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.Sundar Ranganathan az Amazon EC2 csapatának üzletfejlesztési vezetője, ML Frameworks. Az AWS-szolgáltatások, például az Amazon EKS, az Amazon ECS, az Elastic Fabric Adapter, az AWS Batch és az Amazon SageMaker közötti nagyszabású ML-munkaterhelésekre összpontosít. Tapasztalatai közé tartozik a termékmenedzsment és termékfejlesztés vezetői szerepe a NetApp-nál, a Micron Technology-nál, a Qualcommnál és a Mentor Graphicsnál.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mahadevan Balasubramaniam az autonóm számítástechnikai megoldások fő építésze, aki közel 20 éves tapasztalattal rendelkezik a fizika által átitatott mély tanulás, a digitális ikerpárok felépítése és telepítése terén nagyszabású ipari rendszerekben. Mahadevan a Massachusetts Institute of Technology-n szerzett gépészmérnöki doktorátust, és több mint 25 szabadalommal és publikációval rendelkezik.

Achieve four times higher ML inference throughput at three times lower cost per inference with Amazon EC2 G5 instances for NLP and CV PyTorch models PlatoBlockchain Data Intelligence. Vertical Search. Ai. Amr Ragab az AWS-hez készült EC2 Accelerated Platforms fő megoldástervezője, aki arra törekszik, hogy segítse az ügyfeleket a számítási feladatok nagyarányú futtatásában. Szabadidejében szeret utazni, és új módszereket keres a technológia mindennapi életbe való integrálására.

Időbélyeg:

Még több AWS gépi tanulás