Suuren mittakaavan hermoverkkokoulutuksen nopeuttaminen suorittimilla ThirdAI:n ja AWS Gravitonin avulla | Amazon Web Services

Suuren mittakaavan hermoverkkokoulutuksen nopeuttaminen suorittimilla ThirdAI:n ja AWS Gravitonin avulla | Amazon Web Services

Tämän vierasviestin ovat kirjoittaneet Vihan Lakshman, Tharun Medini ja Anshumali Shrivastava ThirdAI:sta.

Laajamittainen syväoppiminen on viime aikoina tuottanut vallankumouksellisia edistysaskeleita monilla aloilla. Vaikka tämä tekoälyn hämmästyttävä edistys on edelleen huomattava, näiden mallien kouluttamiseen vaadittavat taloudelliset kustannukset ja energiankulutus ovat nousseet kriittiseksi pullonkaulaksi, koska tarvitaan erikoislaitteita, kuten GPU:ita. Perinteisesti vaatimattoman kokoisetkin hermomallit ovat vaatineet koulutukseen kalliita laitteistokiihdyttimiä, mikä rajoittaa niiden organisaatioiden määrää, joilla on taloudelliset mahdollisuudet hyödyntää tätä teknologiaa täysimääräisesti.

Vuonna 2021 perustettu ThirdAI Corp. on startup-yritys, jonka tehtävänä on demokratisoida tekoälyteknologiaa algoritmien ja ohjelmistoinnovaatioiden avulla, jotka muuttavat perusteellisesti syvän oppimisen taloutta. Olemme kehittäneet harvan syvän oppimismoottorin, joka tunnetaan nimellä BOLT, joka on suunniteltu erityisesti koulutukseen ja mallien käyttöönottoon tavallisilla prosessorilaitteistoilla verrattuna kalliisiin ja energiaa kuluttaviin kiihdyttimiin, kuten GPU:ihin. Monilla asiakkaistamme on ilmoitti olevansa erittäin tyytyväinen ThirdAI:n kyvyllä kouluttaa ja ottaa käyttöön syväoppimismalleja kriittisiin liiketoimintaongelmiin kustannustehokkaassa suoritininfrastruktuurissa.

Tässä viestissä tutkimme AWS Graviton3 -prosessorin mahdollisuuksia nopeuttaa hermoverkkojen koulutusta ThirdAI:n ainutlaatuiselle prosessoripohjaiselle syväoppimismoottorille.

Suorituskykyisten suorittimien edut

ThirdAI:ssa saavutamme nämä läpimurrot tehokkaassa hermoverkkokoulutuksessa prosessoreilla patentoitujen dynaamisten harvalukuisten algoritmien avulla, jotka aktivoivat vain osan neuroneista tietylle syötteelle (katso seuraava kuva), mikä sivuuttaa täyden tiheän laskennan tarpeen. Toisin kuin muut lähestymistavat harvaan hermoverkkokoulutukseen, ThirdAI käyttää paikkaherkkä hajautus valitaksesi dynaamisesti neuronit tietylle syötteelle, kuten alla olevissa lihavoituissa riveissä näkyy. Joissain tapauksissa olemme jopa havainneet, että meidän harvassa CPU-pohjaisissa malleissa harjoitella nopeammin kuin vastaava tiheä arkkitehtuuri GPU:illa.

Tiheä hermoarkkitehtuuri lihavoiduilla viivoilla, jotka osoittavat valitut neuronit

Koska monet kohdeasiakkaamme toimivat pilvessä – ja heistä suurin osa käyttää AWS:ää – olimme innoissamme voidessamme kokeilla AWS Graviton3 -prosessoria nähdäksemme, voisivatko Amazonin piiinnovaatioiden vaikuttavat hinta-suorituskykyparannukset muuttaa ainutlaatuiseksi työmäärämme. harvaan neuroverkkokoulutukseen ja tuovat siten lisäsäästöjä asiakkaille. Vaikka sekä tutkimusyhteisö että AWS Graviton -tiimi ovat tuottaneet jännittäviä edistysaskeleita kiihdyttämisessä neuroverkkopäätelmä CPU-instanssien osalta me ThirdAI:lla olemme tietojemme mukaan ensimmäisiä, jotka tutkivat vakavasti, kuinka tehokkaasti kouluttaa hermomalleja suorittimissa.

Kuten tuloksistamme näkyy, havaitsimme AWS Graviton3:lla merkittävän harjoittelun nopeutumisen verrattuna vastaaviin Intel- ja NVIDIA-instanssiin useilla edustavilla mallinnustyökuormilla.

Ilmentymien tyypit

Arvioimme kahta vertailukelpoista AWS-suoritinesiintymää: c6i.8xlarge-konetta, joka toimii Intelin Ice Lake -prosessorilla, ja c7g.8xlarge-konetta, jonka teho on AWS Graviton3. Seuraavassa taulukossa on yhteenveto kunkin esiintymän yksityiskohdista.

Ilmentymä vCPU RAM (GB) Suoritin On-demand -hinta (us-itä-1)
c7g.8xsuuri 32 64 AWS Graviton 3 $ 1.1562 / h
c6i.8xlarge 32 64 Intel Ice Lake $ 1.36 / h
g5g.8xlarge (GPU) 32 64 16 Gt GPU-muistilla AWS Graviton2 -prosessorit 1 NVIDIA T4G GPU:lla $ 1.3720 / h

Arviointi 1: Äärimmäinen luokitus

Ensimmäisessä arvioinnissamme keskitymme äärimmäisen monimerkkiluokituksen (XMC) ongelmaan, joka on yhä suositumpi koneoppimisen (ML) paradigma, jossa on useita käytännön sovelluksia haussa ja suosituksissa (mukaan lukien Amazon). Keskitymme arvioinnissamme yleisöön Amazon-670K tuotesuositustehtävä, joka syöttötuotteen perusteella tunnistaa samanlaisia ​​tuotteita yli 670,000 XNUMX tuotteen kokoelmasta.

Tässä kokeilussa vertaamme ThirdAI:n BOLT-moottoria TensorFlow 2.11:een ja PyTorch 2.0:aan edellä mainituilla laitteistovalinnoilla: Intel Ice Lake, AWS Graviton3 ja NVIDIA T4G GPU. Intel- ja AWS Graviton -kokeiluissamme käytämme AWS Deep Learning AMI (Ubuntu 18.04) -versiota 59.0. Grafiikkasuorittimen arvioinnissa käytämme NVIDIA GPU-optimoitu Arm64 AMI, saatavilla AWS Marketplacen kautta. Tätä arviointia varten käytämme SLIDE-mallin arkkitehtuuri, joka saavuttaa sekä kilpailukykyisen suorituskyvyn tässä äärimmäisessä luokittelutehtävässä että vahvan koulutussuorituskyvyn suorittimissa. TensorFlow- ja PyTorch-vertailuissamme toteutamme SLIDE-monikerroksisen perceptron-arkkitehtuurin (MLP) analogisen version tiheillä matriisikertoloilla. Koulutamme kutakin mallia viiden aikakauden ajan (täysi läpikulku koulutustietojoukon läpi) kiinteällä eräkoolla 256 ja oppimisnopeudella 0.001. Havaitsimme, että kaikki mallit saavuttivat saman 33.6 prosentin testitarkkuuden.

Seuraavassa kaaviossa verrataan ThirdAI:n BOLTin harjoitusaikaa TensorFlow 2.11:een ja PyTorch 2.0:aan Amazon670k:n äärimmäisen luokituksen vertailuarvolla. Kaikki mallit saavuttavat saman testitarkkuuden. Huomaamme, että AWS Graviton3 nopeuttaa huomattavasti BOLTin suorituskykyä ilman räätälöintiä – noin 40 %. ThirdAI:n BOLT AWS Graviton3:ssa saavuttaa myös huomattavasti nopeamman harjoittelun kuin GPU:lla koulutetut TensorFlow- tai PyTorch-mallit. Huomaa, että NVIDIA GPU-vertailussa ei ole ThirdAI-tulosta, koska BOLT on suunniteltu toimimaan suorittimissa. Emme sisällytä TensorFlow- ja PyTorch-suorittimen vertailuarvoja kohtuuttoman pitkän harjoitusajan vuoksi.

Amazon 670k Harjoitusaika Pylväskaavio, jossa verrataan esiintymiä c6i.8xlarge vs c7g.8xlarge

Seuraavassa taulukossa on yhteenveto kunkin prosessorin/erikoissuorittimen (GPU) harjoitusajasta ja testitarkkuudesta.

Suoritin Moottori Harjoitusaika (s) Testin tarkkuus
Intel Ice Lake (c6i.8xlarge) BOLT 1470 33.6
AWS Graviton3 (c7g.8xlarge) BOLT 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) PyTorch 5130 33.6

Arviointi 2: Yelp Polariteettisentimenttianalyysi

Toisessa arvioinnissamme keskitymme suosituimpiin Yelp-napaisuus mielialan analyysin vertailuarvo, joka sisältää arvostelun luokittelun positiiviseksi tai negatiiviseksi. Tätä arviointia varten vertaamme ThirdAI:ta Universal Deep Transformers (UDT) mallia hienosäädettyä vastaan DistilBERT verkko, pakattu esiopetettu kielimalli, joka saavuttaa lähes huipputason suorituskyvyn pienemmällä päättelyviiveellä. Koska DistilBERT-mallien hienosäätö suorittimella kestäisi kohtuuttoman kauan (ainakin useita päiviä), vertaamme ThirdAI:n prosessoripohjaisia ​​malleja GPU:lla hienosäädettyyn DistilBERTiin. Koulutamme kaikki mallit, joiden eräkoko on 256, yhden tiedon läpikulkua varten (yksi aikakausi). Huomaamme, että voimme saavuttaa hieman suuremman tarkkuuden BOLTilla, kun tietoja on lisätty, mutta rajoitamme tässä arvioinnissa yhteen läpimenoon johdonmukaisuuden vuoksi.

Kuten seuraavasta kuvasta näkyy, AWS Graviton3 nopeuttaa jälleen ThirdAI:n UDT-mallin harjoittelua huomattavasti. Lisäksi UDT pystyy saavuttamaan DistilBERTiin verrattavan testitarkkuuden murto-osalla harjoitusajasta ja ilman GPU:ta. Huomaa, että myös viime aikoina on tehty töitä optimoida hienosäätö Yelp Polarity prosessoreissa. Mallillamme saavutetaan kuitenkin yhä suurempi tehokkuushyöty ja vältytään esikoulutuksesta, joka on huomattava ja vaatii laitteistokiihdyttimien, kuten GPU:iden, käyttöä.

Yelp Polarity C7g vs c6i harjoitusaika

Seuraavassa taulukossa on yhteenveto harjoitusajasta, testin tarkkuudesta ja päättelyviiveestä.

Suoritin Moottori Malli Harjoitusaika (s) Testin tarkkuus Päätelmäviive (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xlarge) BOLT UDT 29 92.9 <1
T4G GPU (g5g.8xlarge) TensorFlow DistilBERT 4200 93.3 8.7
T4G GPU (g5g.8xlarge) PyTorch DistilBERT 3780 93.4 8.3

Arviointi 3: Moniluokkainen tekstiluokitus (DBPedia)

Loppuarvioinnissa keskitymme moniluokkaisen tekstin luokittelun ongelmaan, joka sisältää tunnisteen osoittamisen tietylle syöttötekstille useammasta kuin kahdesta tulosluokista. Keskitymme siihen DBPedia benchmark, joka koostuu 14 mahdollisesta tulosluokasta. Näemme jälleen, että AWS Graviton3 nopeuttaa UDT-suorituskykyä verrattuna vastaavaan Intel-instanssiin noin 40%. Näemme myös, että BOLT saavuttaa vertailukelpoisia tuloksia DistilBERT-muuntajapohjaiseen malliin, joka on hienosäädetty GPU:lla, samalla kun se saavuttaa alle millisekunnin latenssin.

Kolmas AI BOLT -harjoitusaika c7g vs c6i

Seuraavassa taulukossa on yhteenveto harjoitusajasta, testin tarkkuudesta ja päättelyviiveestä.

Suoritin Moottori Malli Harjoitusaika (s) Testin tarkkuus Päätelmäviive (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xlarge) BOLT UDT 14 98.10 <1
T4G GPU (g5g.8xlarge) TensorFlow DistilBERT 4320 99.23 8.6
T4G GPU (g5g.8xlarge) PyTorch DistilBERT 3480 99.29 8

Aloita ThirdAI:n käyttö AWS Gravitonissa

Olemme suunnitelleet BOLT-ohjelmistomme yhteensopivaksi kaikkien tärkeimpien suoritinarkkitehtuurien kanssa, mukaan lukien AWS Graviton3. Itse asiassa meidän ei tarvinnut tehdä mitään mukautuksia koodiimme toimiaksemme AWS Graviton3:ssa. Siksi voit käyttää ThirdAI:ta mallin koulutukseen ja käyttöönottoon AWS Graviton3:ssa ilman lisäponnistuksia. Lisäksi, kuten on kuvattu viimeaikaisessa tutkimusraportti, olemme kehittäneet joukon uusia matemaattisia tekniikoita säätämään automaattisesti harvaan malleihimme liittyvät erikoistuneet hyperparametrit, jolloin mallimme toimivat hyvin heti laatikosta otettuna.

Huomaa myös, että mallimme toimivat ensisijaisesti hyvin haku-, suositus- ja luonnollisen kielen prosessointitehtävissä, joissa on tyypillisesti suuria, suuriulotteisia tulostiloja ja vaatimus erittäin alhaisesta päättelyviiveestä. Työskentelemme aktiivisesti laajentaaksemme menetelmiämme muihin alueisiin, kuten tietokonenäköön, mutta huomaa, että tehokkuuden parannukset eivät tällä hetkellä käänny kaikille ML-alueille.

Yhteenveto

Tässä viestissä tutkimme AWS Graviton3 -prosessorin mahdollisuuksia nopeuttaa hermoverkkojen koulutusta ThirdAI:n ainutlaatuiselle prosessoripohjaiselle syväoppimismoottorille. Haun, tekstin luokittelun ja suositusten vertailuarvomme viittaavat siihen, että AWS Graviton3 voi nopeuttaa ThirdAI:n mallin koulutustyökuormitusta 30–40 % verrattuna vastaaviin x86-esiintymiin, ja hinta-suorituskyky paranee lähes 50 %. Lisäksi, koska AWS Graviton3 -esiintymät ovat saatavilla halvemmalla kuin analogiset Intel- ja NVIDIA-koneet ja mahdollistavat lyhyemmät koulutus- ja päättelyajat, voit edelleen vapauttaa AWS:n pay-as-you-go -käyttömallin arvoa käyttämällä halvempia kustannuksia. koneita lyhyemmäksi ajaksi.

Olemme erittäin innoissamme AWS Graviton3:n hinnan ja suorituskyvyn säästöistä ja pyrimme välittämään nämä parannukset asiakkaillemme, jotta he voivat nauttia nopeammasta ML-koulutuksesta ja johtopäätöksistä paremman suorituskyvyn ansiosta edullisissa prosessoreissa. Itse AWS:n asiakkaina olemme iloisia nopeudesta, jolla AWS Graviton3 antaa meille mahdollisuuden kokeilla mallejamme, ja odotamme innolla AWS:n huippuluokan piiinnovaatioiden käyttöä jatkossa. Gravitonin tekninen opas on hyvä resurssi, joka kannattaa ottaa huomioon arvioitaessa ML-työkuormia Gravitonissa. Voit myös kokeilla Graviton t4g -esiintymiä ilmainen kokeilu.

Tämän viestin sisältö ja mielipiteet ovat kolmannen osapuolen kirjoittajan omia, eikä AWS ole vastuussa tämän viestin sisällöstä tai tarkkuudesta. Blogia kirjoitettaessa uusin esiintymä oli c6i, joten vertailu tehtiin c6i-instanssien kanssa.


kirjailijasta

Vihan Lakshman – Vihan Lakshman on ThirdAI Corp.:n tutkija, joka keskittyy resurssitehokkaan syväoppimisen järjestelmien kehittämiseen. Ennen ThirdAI:ta hän työskenteli soveltavana tutkijana Amazonissa ja suoritti perustutkinto- ja maisterintutkinnot Stanfordin yliopistosta. Vihan on myös saanut National Science Foundationin tutkimusapurahaa.

Tharun Medini – Tharun Medini on yksi ThirdAI Corp.:n perustajista ja teknologiajohtaja. Hän väitteli tohtorintutkinnon aiheesta "Hashing Algorithms for Search and Information Retrieval" Ricen yliopistossa. Ennen ThirdAI:ta Tharun työskenteli Amazonilla ja Targetilla. Tharun on saanut lukuisia palkintoja tutkimuksestaan, mukaan lukien Ken Kennedy Institute BP Fellowship, American Society of Indian Engineers Scholarship ja Rice University Graduate Fellowship.

Anshumali Shrivastava – Anshumali Shrivastava on apulaisprofessori Rice Universityn tietojenkäsittelytieteen laitoksella. Hän on myös ThirdAI Corp -yrityksen perustaja ja toimitusjohtaja, yritys, joka demokratisoi tekoälyä hyödykelaitteistoiksi ohjelmistoinnovaatioiden avulla. Hänen laajoihin tutkimusintresseihinsä kuuluvat todennäköisyyspohjaiset algoritmit resursseja säästävään syväoppimiseen. Vuonna 2018 Science News nimesi hänet yhdeksi 10 parhaan alle 40-vuotiaan tutkijan joukosta. Hän on saanut National Science Foundation CAREER Award -palkinnon, Young Investigator Awardin Air Force Office of Scientific Research -palkinnon, koneoppimisen tutkimuspalkinnon Amazonilta ja Data Science Research Award -palkinnon Adobelta. Hän on voittanut lukuisia paperipalkintoja, mukaan lukien Best Paper Awards -palkinnot NIPS 2014:ssä ja MLSys 2022:ssa sekä eniten toistettavissa oleva paperi -palkinnon SIGMOD 2019 -tapahtumassa. Hänen työstään suorittimien tehokkaiden koneoppimistekniikoiden parissa on käsitelty suosituissa lehdissä, kuten Wall Street Journalissa, New York Times, TechCrunch, NDTV jne.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen