Versnel grootschalige neurale netwerktraining op CPU's met ThirdAI en AWS Graviton | Amazon-webservices

Versnel grootschalige neurale netwerktraining op CPU's met ThirdAI en AWS Graviton | Amazon-webservices

Deze gastpost is geschreven door Vihan Lakshman, Tharun Medini en Anshumali Shrivastava van ThirdAI.

Grootschalig deep learning heeft recentelijk revolutionaire vooruitgang opgeleverd op een groot aantal terreinen. Hoewel deze verbluffende vooruitgang op het gebied van kunstmatige intelligentie opmerkelijk blijft, zijn de financiรซle kosten en het energieverbruik die nodig zijn om deze modellen te trainen een kritisch knelpunt gebleken vanwege de behoefte aan gespecialiseerde hardware zoals GPU's. Traditioneel hebben zelfs neurale modellen van bescheiden omvang dure hardwareversnellers nodig voor training, waardoor het aantal organisaties met de financiรซle middelen om volledig van deze technologie te profiteren beperkt is.

ThirdAI Corp., opgericht in 2021, is een startup die zich toelegt op de missie van het democratiseren van kunstmatige-intelligentietechnologieรซn door middel van algoritmische en software-innovaties die de economie van deep learning fundamenteel veranderen. We hebben een spaarzame deep learning-engine ontwikkeld, bekend als BOLT, dat specifiek is ontworpen voor het trainen en implementeren van modellen op standaard CPU-hardware, in tegenstelling tot dure en energie-intensieve versnellers zoals GPU's. Veel van onze klanten hebben dat meldde een grote tevredenheid met het vermogen van ThirdAI om deep learning-modellen te trainen en in te zetten voor kritieke bedrijfsproblemen op een kosteneffectieve CPU-infrastructuur.

In dit bericht onderzoeken we de mogelijkheden van de AWS Graviton3-processor om neurale netwerktraining voor ThirdAI's unieke CPU-gebaseerde deep learning-engine te versnellen.

De voordelen van krachtige CPU's

Bij ThirdAI bereiken we deze doorbraken in efficiรซnte neurale netwerktraining op CPU's door middel van gepatenteerde dynamische sparse-algoritmen die slechts een subset van neuronen activeren voor een bepaalde input (zie de volgende afbeelding), waardoor de behoefte aan volledige compacte berekeningen wordt omzeild. In tegenstelling tot andere benaderingen van schaarse neurale netwerktraining, gebruikt ThirdAI plaatsgevoelige hashing om neuronen dynamisch te selecteren voor een bepaalde invoer, zoals weergegeven in de vetgedrukte regels hieronder. In bepaalde gevallen hebben we zelfs geconstateerd dat onze schaarse CPU-gebaseerde modellen train sneller dan de vergelijkbare dichte architectuur op GPU's.

Dichte neurale architectuur met dikke lijnen die laten zien welke neuronen zijn geselecteerd

Gezien het feit dat veel van onze doelgroepen in de cloud opereren (en daarvan gebruikt de meerderheid AWS) waren we enthousiast om de AWS Graviton3-processor uit te proberen om te zien of de indrukwekkende prijs-prestatieverbeteringen van de siliciuminnovatie van Amazon zich zouden vertalen in onze unieke werklast. van spaarzame neurale netwerktraining en daardoor verdere besparingen voor klanten opleveren. Hoewel zowel de onderzoeksgemeenschap als het AWS Graviton-team spannende vooruitgang hebben geboekt op het gebied van acceleratie neurale netwerk gevolgtrekking op het gebied van CPU-instanties zijn wij bij ThirdAI, voor zover wij weten, de eersten die serieus bestuderen hoe we neurale modellen op CPU's efficiรซnt kunnen trainen.

Zoals blijkt uit onze resultaten, hebben we een aanzienlijke trainingsversnelling waargenomen met AWS Graviton3 ten opzichte van de vergelijkbare Intel- en NVIDIA-instances op verschillende representatieve modelleringsworkloads.

Instantietypen

Voor onze evaluatie hebben we twee vergelijkbare AWS CPU-instanties overwogen: een c6i.8xlarge-machine aangedreven door Intel's Ice Lake-processor en een c7g.8xlarge aangedreven door AWS Graviton3. In de volgende tabel worden de details van elk exemplaar samengevat.

Aanleg vCPU RAM (GB) Gegevensverwerker Prijs op aanvraag (us-east-1)
c7g.8xgroot 32 64 AWS Graviton3 $ 1.1562 / hr
c6i.8xgroot 32 64 Intel Ice Lake $ 1.36 / hr
g5g.8xgroot (GPU) 32 64 met 16 GB GPU-geheugen AWS Graviton2-processors met 1 NVIDIA T4G GPU $ 1.3720 / hr

Evaluatie 1: Extreme classificatie

Voor onze eerste evaluatie concentreren we ons op het probleem van extreme multi-label classificatie (XMC), een steeds populairder machine learning (ML) paradigma met een aantal praktische toepassingen in zoeken en aanbevelingen (waaronder bij Amazone). Voor onze evaluatie richten wij ons op het publiek Amazon-670K productaanbevelingstaak, dat, gegeven een inputproduct, vergelijkbare producten identificeert uit een verzameling van meer dan 670,000 items.

In dit experiment vergelijken we de BOLT-engine van ThirdAI met TensorFlow 2.11 en PyTorch 2.0 op de bovengenoemde hardwarekeuzes: Intel Ice Lake, AWS Graviton3 en een NVIDIA T4G GPU. Voor onze experimenten met Intel en AWS Graviton gebruiken we de AWS Deep Learning AMI (Ubuntu 18.04) versie 59.0. Voor onze GPU-evaluatie gebruiken we de NVIDIA GPU-geoptimaliseerde Arm64 AMI, beschikbaar via de AWS Marktplaats. Voor deze evaluatie gebruiken we de SLIDE-modelarchitectuur, dat zowel competitieve prestaties behaalt bij deze extreme classificatietaak als sterke trainingsprestaties op CPU's. Voor onze TensorFlow- en PyTorch-vergelijkingen implementeren we de analoge versie van de SLIDE multi-layer perceptron (MLP) -architectuur met dichte matrixvermenigvuldigingen. We trainen elk model voor vijf tijdperken (volledige passages door de trainingsdataset) met een vaste batchgrootte van 256 en een leersnelheid van 0.001. We hebben vastgesteld dat alle modellen dezelfde testnauwkeurigheid van 33.6% bereikten.

Het volgende diagram vergelijkt de trainingstijd van ThirdAI's BOLT met TensorFlow 2.11 en PyTorch 2.0 op de Amazon670k extreme classificatiebenchmark. Alle modellen bereiken dezelfde testprecisie. We zien dat AWS Graviton3 de prestaties van BOLT out-of-the-box aanzienlijk versnelt zonder dat er aanpassingen nodig zijn โ€“ met ongeveer 40%. ThirdAI's BOLT op AWS Graviton3 realiseert ook aanzienlijk snellere training dan de TensorFlow- of PyTorch-modellen die op de GPU zijn getraind. Houd er rekening mee dat er geen ThirdAI-resultaat is in de NVIDIA GPU-benchmark, omdat BOLT is ontworpen om op CPU's te draaien. We nemen geen TensorFlow- en PyTorch CPU-benchmarks op vanwege de onbetaalbaar lange trainingstijd.

Amazon 670k Trainingstijd Staafdiagram waarin exemplaren c6i.8xlarge versus c7g.8xlarge worden vergeleken

De volgende tabel geeft een overzicht van de trainingstijd en testnauwkeurigheid voor elke processor/gespecialiseerde processor (GPU).

Gegevensverwerker Motor Trainingstijd(en) Nauwkeurigheid testen
Intel Ice Lake (c6i.8xgroot) BOLT 1470 33.6
AWS Graviton3 (c7g.8xgroot) BOLT 935 33.6
NVIDIA T4G (g5g.8xgroot) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xgroot) PyTorch 5130 33.6

Evaluatie 2: Yelp Polariteitsentimentanalyse

Voor onze tweede evaluatie concentreren we ons op het populaire Yelp-polariteit benchmark voor sentimentanalyse, waarbij een recensie als positief of negatief wordt geclassificeerd. Voor deze evaluatie vergelijken we ThirdAI's Universele diepe transformatoren (UDT) model tegen een verfijnde DestillerenBERT netwerk, een gecomprimeerd, vooraf getraind taalmodel dat vrijwel state-of-the-art prestaties levert met verminderde inferentielatentie. Omdat het nauwkeurig afstemmen van DistilBERT-modellen op een CPU onbetaalbaar lang zou duren (minstens enkele dagen), vergelijken we de CPU-gebaseerde modellen van ThirdAI met de nauwkeurig afgestemde DistilBERT-modellen op een GPU. We trainen alle modellen met een batchgrootte van 256 voor een enkele doorgang door de gegevens (รฉรฉn tijdperk). We merken op dat we met BOLT een iets hogere nauwkeurigheid kunnen bereiken met extra passages door de gegevens, maar we beperken ons in deze evaluatie tot รฉรฉn enkele passage vanwege de consistentie.

Zoals blijkt uit de volgende afbeelding versnelt AWS Graviton3 opnieuw de UDT-modeltraining van ThirdAI aanzienlijk. Bovendien is UDT in staat om met een fractie van de trainingstijd en zonder de noodzaak van een GPU een vergelijkbare testnauwkeurigheid te bereiken als DistilBERT. Wij merken op dat er ook recent werk is verricht het optimaliseren van de finetuning van Yelp Polarity op CPU's. Onze modellen behalen echter nog steeds grotere efficiรซntiewinsten en vermijden de kosten van pre-training, die aanzienlijk zijn en het gebruik van hardwareversnellers zoals GPU's vereisen.

Trainingstijd op Yelp Polariteit C7g versus c6i

De volgende tabel geeft een overzicht van de trainingstijd, testnauwkeurigheid en inferentielatentie.

Gegevensverwerker Motor Model Trainingstijd(en) Nauwkeurigheid testen Inferentielatentie (ms)
Intel Icelake (c6i.8xgroot) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xgroot) BOLT UDT 29 92.9 <1
T4G GPU (g5g.8xgroot) TensorFlow DestillerenBERT 4200 93.3 8.7
T4G GPU (g5g.8xgroot) PyTorch DestillerenBERT 3780 93.4 8.3

Evaluatie 3: Tekstclassificatie in meerdere klassen (DBPedia)

Voor onze eindevaluatie concentreren we ons op het probleem van tekstclassificatie in meerdere klassen, waarbij een label wordt toegewezen aan een bepaalde invoertekst uit een set van meer dan twee uitvoerklassen. Wij concentreren ons op de DBPedia benchmark, die bestaat uit 14 mogelijke outputklassen. Opnieuw zien we dat AWS Graviton3 de UDT-prestaties ten opzichte van de vergelijkbare Intel-instantie met ongeveer 40% versnelt. We zien ook dat BOLT vergelijkbare resultaten behaalt als het op een GPU gebaseerde DistilBERT-transformatormodel, terwijl een latentie van minder dan een milliseconde wordt bereikt.

DerdeAI BOLT-trainingstijd op c7g versus c6i

De volgende tabel geeft een overzicht van de trainingstijd, testnauwkeurigheid en inferentielatentie.

Gegevensverwerker Motor Model Trainingstijd(en) Nauwkeurigheid testen Inferentielatentie (ms)
Intel Icelake (c6i.8xgroot) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xgroot) BOLT UDT 14 98.10 <1
T4G GPU (g5g.8xgroot) TensorFlow DestillerenBERT 4320 99.23 8.6
T4G GPU (g5g.8xgroot) PyTorch DestillerenBERT 3480 99.29 8

Ga aan de slag met ThirdAI op AWS Graviton

We hebben onze BOLT-software ontworpen voor compatibiliteit met alle belangrijke CPU-architecturen, inclusief AWS Graviton3. In feite hoefden we geen aanpassingen aan onze code aan te brengen om op AWS Graviton3 te kunnen draaien. Daarom kunt u ThirdAI zonder extra inspanning gebruiken voor modeltraining en implementatie op AWS Graviton3. Bovendien, zoals beschreven in onze recente onderzoek witboekhebben we een reeks nieuwe wiskundige technieken ontwikkeld om automatisch de gespecialiseerde hyperparameters af te stemmen die verband houden met onze schaarse modellen, waardoor onze modellen meteen goed werken.

We merken ook op dat onze modellen vooral goed werken voor zoek-, aanbevelings- en natuurlijke-taalverwerkingstaken die doorgaans grote, hoogdimensionale uitvoerruimten bevatten en een vereiste van extreem lage inferentielatentie. We werken er actief aan om onze methoden uit te breiden naar aanvullende domeinen, zoals computer vision, maar houd er rekening mee dat onze efficiรซntieverbeteringen zich momenteel niet vertalen naar alle ML-domeinen.

Conclusie

In dit bericht hebben we het potentieel onderzocht van de AWS Graviton3-processor om neurale netwerktraining voor ThirdAI's unieke CPU-gebaseerde deep learning-engine te versnellen. Onze benchmarks op het gebied van zoeken, tekstclassificatie en aanbevelingen suggereren dat AWS Graviton3 de werklast van ThirdAI-modeltraining met 30-40% kan versnellen ten opzichte van vergelijkbare x86-instanties, met een prijs-prestatieverbetering van bijna 50%. Omdat AWS Graviton3-instanties bovendien tegen lagere kosten beschikbaar zijn dan de analoge Intel- en NVIDIA-machines en kortere training- en gevolgtrekkingstijden mogelijk maken, kunt u de waarde van het AWS pay-as-you-go-gebruiksmodel verder ontsluiten door gebruik te maken van goedkopere machines voor kortere tijdsduur.

We zijn erg enthousiast over de prijs- en prestatiebesparingen van AWS Graviton3 en zullen proberen deze verbeteringen door te geven aan onze klanten, zodat ze kunnen genieten van snellere ML-training en gevolgtrekking met verbeterde prestaties op goedkope CPU's. Als klanten van AWS zijn we blij met de snelheid waarmee AWS Graviton3 ons in staat stelt om met onze modellen te experimenteren, en we kijken ernaar uit om in de toekomst meer geavanceerde siliciuminnovatie van AWS te gebruiken. Graviton Technische Gids is een goed hulpmiddel om te overwegen bij het evalueren van uw ML-workloads voor uitvoering op Graviton. U kunt ook Graviton t4g-instanties proberen gratis trial.

De inhoud en meningen in dit bericht zijn die van de externe auteur en AWS is niet verantwoordelijk voor de inhoud of nauwkeurigheid van dit bericht. Op het moment dat de blog werd geschreven, was c6i de meest recente versie en daarom werd de vergelijking gemaakt met c6i-instanties.


Over de auteur

Vihan Lakshman โ€“ Vihan Lakshman is een onderzoekswetenschapper bij ThirdAI Corp., gericht op het ontwikkelen van systemen voor hulpbronnenefficiรซnt deep learning. Voordat hij bij ThirdAI kwam, werkte hij als toegepast wetenschapper bij Amazon en behaalde hij een bachelor- en masterdiploma aan Stanford University. Vihan ontvangt ook een onderzoeksbeurs van de National Science Foundation.

Tharun Medini โ€“ Tharun Medini is medeoprichter en CTO van ThirdAI Corp. Hij promoveerde op โ€œHashing Algorithms for Search and Information Retrievalโ€ aan de Rice University. Vรณรณr ThirdAI werkte Tharun bij Amazon en Target. Tharun heeft voor zijn onderzoek talloze prijzen ontvangen, waaronder de Ken Kennedy Institute BP Fellowship, de American Society of Indian Engineers Scholarship en een Rice University Graduate Fellowship.

Anshumali Shrivastava โ€“ Anshumali Shrivastava is universitair hoofddocent op de afdeling computerwetenschappen van Rice University. Hij is ook de oprichter en CEO van ThirdAI Corp, een bedrijf dat AI door middel van software-innovaties democratiseert tot commodity-hardware. Zijn brede onderzoeksinteresses omvatten probabilistische algoritmen voor zuinig deep learning. In 2018 noemde Science News hem een โ€‹โ€‹van de top-10 wetenschappers onder de 40 om naar te kijken. Hij ontving de National Science Foundation CAREER Award, een Young Investigator Award van het Air Force Office of Scientific Research, een machine learning-onderzoeksprijs van Amazon en een Data Science Research Award van Adobe. Hij heeft talloze papierprijzen gewonnen, waaronder Best Paper Awards op NIPS 2014 en MLSys 2022, evenals de Most Reproducible Paper Award op SIGMOD 2019. Zijn werk op het gebied van efficiรซnte machine learning-technologieรซn op CPU's is besproken in de populaire pers, waaronder Wall Street Journal, New York Times, TechCrunch, NDTV, enz.

Tijdstempel:

Meer van AWS-machine learning