Nagyszabású neurális hálózatok képzésének felgyorsítása CPU-kon ThirdAI és AWS Graviton segítségével | Amazon webszolgáltatások

Nagyszabású neurális hálózatok képzésének felgyorsítása CPU-kon ThirdAI és AWS Graviton segítségével | Amazon webszolgáltatások

Ezt a vendégbejegyzést Vihan Lakshman, Tharun Medini és Anshumali Shrivastava írta a ThirdAI-tól.

A nagyszabású mélytanulás a közelmúltban forradalmi előrelépéseket hozott számos területen. Bár a mesterséges intelligencia terén elért lenyűgöző fejlődés továbbra is figyelemre méltó, az e modellek képzéséhez szükséges pénzügyi költségek és energiafogyasztás kritikus szűk keresztmetszetként jelentek meg a speciális hardverek, például a GPU-k iránti igény miatt. Hagyományosan még a szerény méretű neurális modellek esetében is költséges hardveres gyorsítókra volt szükség a képzéshez, ami korlátozza azon szervezetek számát, amelyek pénzügyi eszközökkel rendelkeznek a technológia teljes kihasználásához.

A 2021-ben alapított ThirdAI Corp. egy startup, amely a mesterséges intelligencia technológiák demokratizálásának küldetését tűzte ki célul olyan algoritmus- és szoftverinnovációkon keresztül, amelyek alapjaiban változtatják meg a mély tanulás közgazdaságtanát. Kifejlesztettünk egy ritka mély tanulási motort, az ún BOLT, amelyet kifejezetten a szabványos CPU-hardvereken való modellek betanítására és üzembe helyezésére terveztek, szemben a költséges és energiaigényes gyorsítókkal, például a GPU-kkal. Sok ügyfelünk rendelkezik erős elégedettségről számolt be a ThirdAI azon képességével, hogy mély tanulási modelleket tanítson és telepítsen a kritikus üzleti problémákra költséghatékony CPU-infrastruktúrán.

Ebben a bejegyzésben megvizsgáljuk az AWS Graviton3 processzorban rejlő lehetőségeket a neurális hálózatok képzésének felgyorsítására a ThirdAI egyedülálló CPU-alapú mélytanuló motorja számára.

A nagy teljesítményű CPU-k előnyei

A ThirdAI-nál ezeket az áttöréseket a hatékony neurális hálózatok képzésében a CPU-kon olyan szabadalmaztatott dinamikus ritka algoritmusokkal érjük el, amelyek csak a neuronok egy részhalmazát aktiválják egy adott bemenethez (lásd a következő ábrát), ezzel elkerülve a teljes sűrű számítások szükségességét. A ritka neurális hálózatok képzésének más megközelítéseitől eltérően a ThirdAI használja helyérzékeny hash a neuronok dinamikus kiválasztásához egy adott bemenethez az alábbi félkövér vonalak szerint. Bizonyos esetekben még azt is megfigyeltük, hogy a mi ritka CPU-alapú modellek gyorsabban edz, mint a GPU-k hasonló sűrű architektúrája.

Sűrű neurális architektúra félkövér vonalakkal, amelyek jelzik, hogy mely neuronok vannak kiválasztva

Tekintettel arra, hogy sok célügyfelünk a felhőben dolgozik – és közülük a többség az AWS-t használja –, izgatottan vártuk, hogy kipróbálhassuk az AWS Graviton3 processzort, hogy megnézzük, az Amazon szilícium innovációjának lenyűgöző ár-teljesítménybeli fejlesztései átültetik-e egyedi munkaterhelésünket. a ritka neurális hálózatok képzését, és ezáltal további megtakarítást biztosítanak az ügyfelek számára. Bár mind a kutatói közösség, mind az AWS Graviton csapata izgalmas előrelépéseket ért el a gyorsítás terén neurális hálózati következtetés A CPU-példányokon mi, a ThirdAI, tudomásunk szerint az elsők vagyunk, akik komolyan tanulmányozzák, hogyan lehet hatékonyan neurális modelleket tanítani CPU-kon.

Amint az eredményeinkből kiderül, jelentős edzési sebességet figyeltünk meg az AWS Graviton3-mal a hasonló Intel és NVIDIA példányokhoz képest számos reprezentatív modellezési munkaterhelésen.

Példánytípusok

Kiértékelésünkhöz két összehasonlítható AWS CPU-példányt vettünk figyelembe: egy c6i.8xlarge gépet az Intel Ice Lake processzorával és egy c7g.8xlarge gépet, amelyet AWS Graviton3 hajt. Az alábbi táblázat összefoglalja az egyes példányok részleteit.

Példa vCPU RAM (GB) Processzor Igény szerinti ár (us-kelet-1)
c7g.8xnagy 32 64 AWS Graviton3 $ 1.1562 / óra
c6i.8xlarge 32 64 Intel Ice Lake $ 1.36 / óra
g5g.8xlarge (GPU) 32 64 16 GB GPU memóriával AWS Graviton2 processzorok 1 NVIDIA T4G GPU-val $ 1.3720 / óra

1. értékelés: Extrém besorolás

Első értékelésünk során az extrém többcímkés osztályozás (XMC) problémájára összpontosítunk, amely egy egyre népszerűbb gépi tanulási (ML) paradigma, amely számos gyakorlati alkalmazást kínál a keresésben és ajánlásokban (többek között a amazon). Értékelésünk során a nyilvánosságra összpontosítunk Amazon-670K termékajánló feladat, amely egy bemeneti termék alapján hasonló termékeket azonosít a több mint 670,000 XNUMX elemből álló gyűjteményből.

Ebben a kísérletben összehasonlítjuk a ThirdAI BOLT motorját a TensorFlow 2.11 és a PyTorch 2.0 rendszerrel a fent említett hardverválasztékon: Intel Ice Lake, AWS Graviton3 és NVIDIA T4G GPU. Az Intelen és az AWS Gravitonon végzett kísérleteinkhez az AWS Deep Learning AMI (Ubuntu 18.04) 59.0-s verzióját használjuk. GPU-értékelésünkhöz a NVIDIA GPU-optimalizált Arm64 AMI, elérhető az AWS Marketplace-en keresztül. Ehhez az értékeléshez a SLIDE modell architektúra, amely versenyképes teljesítményt ér el ezen az extrém besorolási feladaton és erős edzési teljesítményt a CPU-kon. TensorFlow és PyTorch összehasonlításaink során a SLIDE többrétegű perceptron (MLP) architektúra analóg változatát valósítjuk meg sűrű mátrixszorzásokkal. Minden modellt öt korszakon keresztül tanítunk (teljes áthalad a betanítási adatkészleten), 256-os rögzített kötegmérettel és 0.001 tanulási sebességgel. Megfigyeltük, hogy minden modell azonos, 33.6%-os tesztpontosságot ért el.

Az alábbi táblázat összehasonlítja a ThirdAI BOLT és a TensorFlow 2.11 és PyTorch 2.0 edzési idejét az Amazon670k extrém besorolási benchmarkon. Minden modell ugyanazt a vizsgálati pontosságot éri el. Megfigyeltük, hogy az AWS Graviton3 jelentősen felgyorsítja a BOLT teljesítményét a dobozból, testreszabás nélkül – körülbelül 40%-kal. A ThirdAI BOLT az AWS Graviton3-on is lényegesen gyorsabb edzést tesz lehetővé, mint a GPU-n betanított TensorFlow vagy PyTorch modellek. Vegye figyelembe, hogy az NVIDIA GPU benchmarkon nincs ThirdAI eredmény, mivel a BOLT-ot CPU-kon való futtatásra tervezték. Nem vesszük figyelembe a TensorFlow és a PyTorch CPU benchmarkokat a rendkívül hosszú képzési idő miatt.

Amazon 670k edzési idő oszlopdiagram a c6i.8xlarge és a c7g.8xlarge példányok összehasonlításával

Az alábbi táblázat összefoglalja az egyes processzorok/specializált processzorok (GPU) betanítási idejét és a teszt pontosságát.

Processzor Motor Képzési idő (s) Teszt pontossága
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

2. értékelés: Yelp Polaritás-hangulatelemzés

Második értékelésünknél a népszerűre összpontosítunk Yelp polaritás hangulatelemzés benchmark, amely magában foglalja a vélemény pozitív vagy negatív minősítését. Ehhez az értékeléshez a ThirdAI-kat hasonlítjuk össze Universal Deep Transformers (UDT) modell ellen egy finomhangolt DistilBERT hálózat, egy tömörített előre betanított nyelvi modell, amely a legkorszerűbb teljesítményt éri el csökkentett következtetési késleltetés mellett. Mivel a DistilBERT modellek CPU-n történő finomhangolása rendkívül sok időt vesz igénybe (legalább néhány napot), a ThirdAI CPU-alapú modelljeit összehasonlítjuk a GPU-n finomhangolt DistilBERT-tel. Minden 256-os kötegmérettel rendelkező modellt betanítunk az adatok egyszeri áthaladására (egy korszak). Megjegyezzük, hogy a BOLT-tal valamivel nagyobb pontosságot érhetünk el további adatok áthaladásával, de a következetesség érdekében ebben az értékelésben egyetlen lépésre korlátozzuk magunkat.

Amint az a következő ábrán látható, az AWS Graviton3 ismét jelentősen felgyorsítja a ThirdAI UDT modell képzését. Ezenkívül az UDT a DistilBERT-tel összehasonlítható tesztpontosságot képes elérni a képzési idő töredékével és GPU nélkül. Megjegyezzük, hogy a közelmúltban is voltak munkák a finomhangolás optimalizálása Yelp Polarity a CPU-kon. Modelljeink azonban továbbra is nagyobb hatékonyságnövekedést érnek el, és elkerülik az előképzés költségeit, ami jelentős, és hardveres gyorsítók, például GPU-k használatát igényli.

Edzési idő Yelp Polarity C7g vs c6i-n

Az alábbi táblázat összefoglalja a betanítási időt, a teszt pontosságát és a következtetések késleltetését.

Processzor Motor Modell Képzési idő (s) Teszt pontossága Következtetési késleltetés (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

3. értékelés: Többosztályos szövegbesorolás (DBPedia)

Végső értékelésünk során a többosztályos szövegbesorolás problémájára összpontosítunk, ami abból áll, hogy egy adott bemeneti szöveghez címkét rendelünk egy kettőnél több kimeneti osztályból álló halmazból. Arra koncentrálunk DBPedia benchmark, amely 14 lehetséges kimeneti osztályból áll. Ismét azt látjuk, hogy az AWS Graviton3 nagyjából 40%-kal gyorsítja az UDT teljesítményt a hasonló Intel-példányhoz képest. Azt is látjuk, hogy a BOLT összehasonlítható eredményeket ér el a GPU-n finomhangolt DistilBERT transzformátor alapú modellel, miközben az ezredmásodperc alatti késleltetést éri el.

Harmadik AI BOLT edzési idő c7g vs c6i rendszeren

Az alábbi táblázat összefoglalja a betanítási időt, a teszt pontosságát és a következtetések késleltetését.

Processzor Motor Modell Képzési idő (s) Teszt pontossága Következtetési késleltetés (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

Kezdje el a ThirdAI használatát az AWS Gravitonon

A BOLT szoftverünket úgy terveztük, hogy kompatibilis legyen az összes főbb CPU architektúrával, beleértve az AWS Graviton3-at is. Valójában nem kellett testreszabnunk a kódunkat, hogy az AWS Graviton3-on futhasson. Ezért további erőfeszítés nélkül használhatja a ThirdAI-t a modell betanítására és az AWS Graviton3 telepítésére. Ráadásul, amint azt legutóbbi cikkünkben részletezzük kutatási fehér könyv, kifejlesztettünk egy sor újszerű matematikai technikát a ritka modelljeinkhez kapcsolódó speciális hiperparaméterek automatikus hangolására, lehetővé téve, hogy modelljeink azonnal jól működjenek a dobozból.

Azt is megjegyezzük, hogy modelljeink elsősorban olyan keresési, ajánlási és természetes nyelvi feldolgozási feladatoknál működnek jól, amelyek jellemzően nagy, nagy dimenziójú kimeneti tereket és rendkívül alacsony következtetési késleltetést igényelnek. Aktívan dolgozunk azon, hogy módszereinket további tartományokra is kiterjesszük, mint például a számítógépes látás, de ne feledje, hogy a hatékonysági fejlesztéseink jelenleg nem érvényesülnek minden ML tartományban.

Következtetés

Ebben a bejegyzésben megvizsgáltuk az AWS Graviton3 processzorban rejlő lehetőségeket a neurális hálózatok képzésének felgyorsítására a ThirdAI egyedülálló CPU-alapú mélytanuló motorja számára. A keresésre, szövegbesorolásra és ajánlásokra vonatkozó referenciaértékeink azt sugallják, hogy az AWS Graviton3 30–40%-kal tudja felgyorsítani a ThirdAI modellképzési terhelését a hasonló x86-példányokhoz képest közel 50%-os ár-teljesítmény javulással. Továbbá, mivel az AWS Graviton3 példányok olcsóbban állnak rendelkezésre, mint az analóg Intel és NVIDIA gépek, és rövidebb betanítási és következtetési időt tesznek lehetővé, az AWS felosztó-kirovó használati modelljének értékét tovább növelheti alacsonyabb költséggel. gépek rövidebb ideig.

Nagyon izgatottak vagyunk az AWS Graviton3 ár- és teljesítménymegtakarítása miatt, és igyekszünk továbbadni ezeket a fejlesztéseket ügyfeleinknek, hogy gyorsabban élvezhessék az ML-tanítást és az alacsony költségű CPU-k jobb teljesítményével kapcsolatos következtetéseket. Az AWS ügyfeleiként örömmel tölt el bennünket, hogy az AWS Graviton3 milyen sebességgel kísérletezhet modelljeinkkel, és várjuk, hogy az AWS-től még több élvonalbeli szilícium-innovációt alkalmazhassunk. Graviton műszaki útmutató egy jó forrás, amelyet figyelembe kell venni a Gravitonon futtatható ML-munkaterhelések kiértékelésekor. Kipróbálhatja a Graviton t4g példányokat is ingyenes próbaverzió.

A bejegyzés tartalma és véleménye a harmadik fél szerzője, és az AWS nem vállal felelősséget a bejegyzés tartalmáért vagy pontosságáért. A blog írásakor a legfrissebb példány a c6i volt, így az összehasonlítás a c6i példányokkal történt.


A szerzőről

Vihan Lakshman – Vihan Lakshman a ThirdAI Corp. kutatója, aki az erőforrás-hatékony mélytanulási rendszerek fejlesztésére összpontosít. A ThirdAI előtt alkalmazott tudósként dolgozott az Amazonnál, és a Stanford Egyetemen szerzett alap- és mesterdiplomát. Vihan emellett a Nemzeti Tudományos Alapítvány kutatási ösztöndíjasa is.

Tharun Medini – Tharun Medini a ThirdAI Corp társalapítója és technológiai igazgatója. Doktori fokozatát a Rice Egyetemen „Hashing Algorithms for Search and Information Retrieval” témakörben szerezte. A ThirdAI előtt Tharun az Amazonnál és a Targetnél dolgozott. Tharun számos díjat kapott kutatásaiért, köztük a Ken Kennedy Institute BP ösztöndíját, az Amerikai Indiai Mérnökök Társaságának ösztöndíját és a Rice University Graduate Fellowship díját.

Anshumali Shrivastava – Anshumali Shrivastava a Rice Egyetem számítástechnikai tanszékének docense. Emellett alapítója és vezérigazgatója a ThirdAI Corp-nak, egy olyan vállalatnak, amely szoftverinnovációkon keresztül demokratizálja az AI-t a hardver árucikkjévé. Széleskörű kutatási területei közé tartoznak az erőforrás-takarékos mélytanulás valószínűségi algoritmusai. 2018-ban a Science News a 10 legjobb 40 év alatti tudós közé sorolta. A National Science Foundation CAREER Award díja, a Légierő Tudományos Kutatási Hivatala Fiatal Nyomozó Díja, az Amazon gépi tanulási kutatási díja és az Adobe adattudományi kutatási díja. Számos papírdíjat nyert, köztük a NIPS 2014 és az MLSys 2022 kiállításon a Legjobb papír díjat, valamint a SIGMOD 2019 Leg reprodukálhatóbb papír díjat. A CPU-kon végzett hatékony gépi tanulási technológiákkal kapcsolatos munkájáról a népszerű sajtó, köztük a Wall Street Journal is beszámolt. New York Times, TechCrunch, NDTV stb.

Időbélyeg:

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