Mély tanulási gpu benchmarkok

Olga Velikaia

Olga Velikaia

Adatelemző

Folyamatosan képezzük a nyelvi modelleket a munkánkhoz. Csapatunk több tucat különböző videokártyát használ, amelyeket különböző feladatokhoz választottak: valahol szükségünk van egy erős DGX állomásra, és valahol elég egy régi játékkártya, például az RTX 2080Ti. Az optimális GPU kiválasztása a modellképzéshez jelentősen befolyásolhatja a folyamat sebességét és költséghatékonyságát.

Az érdekes az, hogy jó néhány cikk található az interneten GPU-összehasonlítással a gépi tanuláshoz, de nagyon kevés a sebességre összpontosít a nyelvi modellképzéshez. Többnyire csak következtetési tesztek találhatók. Amikor megjelent az új H100 chip, az NVidia jelentése szerint akár kilencszer gyorsabb volt az A100-nál az edzéseken, de a mi feladatainkhoz az új kártya csak 90%-kal volt gyorsabb a réginél. Összehasonlításképpen, felhőszolgáltatóink 2x árkülönbséggel rendelkeztek ezen GPU-k között, így nem volt értelme az új H100-ra váltani, hogy pénzt takarítsunk meg.

Ezen kívül teszteltünk egy DGX állomást, amely 8 db A100 80GB-os grafikus kártyából áll, és havi 10 ezer dollárba kerül. A teszt után kiderült, hogy ennek az állomásnak az ár/teljesítmény aránya egyáltalán nem felel meg nekünk és ezért a pénzért 66 x RTX 3090-et vehetünk fel, ami összességében sokkal hasznosabb lesz.

Fordítási nyelvi modelljeink akár 500 millió paraméterrel rendelkeznek (átlagosan 100-300 millió). Elképzelhető, hogy ha jelentősen növeljük a paraméterek számát, akkor a DGX ár/teljesítmény aránya jobb lesz. Jelenleg nem olyan nagy nyelvi modelleket képezünk, amelyek képesek egyszerre minden nyelv között minden variációban fordítani, hanem minden nyelvpárhoz külön nyelvi modelleket használunk pl. Angol-német. Mindegyik ilyen modell 120-300 Mb-ot vesz igénybe.

Érdemes megjegyezni, hogy a különböző nyelvek különböző mennyiségű adatot tartalmaznak az interneten, és miközben. Például a spanyol esetében 500 millió mondatot találhat fordításokkal, de a ritkább nyelvekre, például a tibetire vonatkozó modellek betanításakor a rendelkezésre álló adatok alapján ki kell választania egy adott GPU-t a gépi tanulási feladatokhoz. Angolról spanyolra fordítási modell létrehozásához 4 x RTX 4500 és 256GB RAM-mal rendelkező szervert használunk. Ugyanakkor a tibeti nyelvet RTX 2080 Ti-n lehet betanítani 16GB RAM-mal, mivel nincs értelme növelni a neurális hálózat komplexitását, és ennek eredményeként egy erősebb szervert venni kis mennyiségű adattal.

Grafikus processzorok és elméleti ábrák kiválasztása

A nyelvi modell képzés belső Data Studio platformunkon zajlott az OpenNMT-tf keretrendszer segítségével. Ez a fázis magában foglalta az adatok előkészítését, a modellképzést és a modellek összehasonlítását referenciafordítással. Az FP16 használata az FP32 helyett a képzés során lehetővé tette számunkra, hogy jelentősen csökkentsük a nyelvi modellek képzési idejét a fordítási minőség romlása nélkül, de ezt nem minden GPU-nk támogatta.

A grafikus processzor kiválasztásakor alapfelszereltség az olyan mérőszámok figyelembevétele, mint a feldolgozási teljesítmény (TFLOPS), a videomemória (VRAM), a GPU benchmark eredményei, a könyvtár- és kerettámogatás, a költségvetés és egyéb tényezők (grafikus kártya mérete és formája, teljesítményigény, hűtés és kompatibilitás a rendszerrel). A szöveggenerálási modellek betanításakor azt is szem előtt kell tartania, hogy a különböző nyelvek különböző mennyiségű erőforrást fogyasztanak. Például 1 bájtot használnak egy karakter kódolására a latin nyelveknél, 2 bájtot a cirill nyelveknél és 3 bájtot a hieroglifákat tartalmazó nyelveknél. Annak megértése, hogy a grafikus kártya milyen tulajdonságokkal fog rendelkezni, jelentős hatással van a tanulási folyamat sebességére.

A modellek használt GPU-kra való betanításakor a videokártyákat a használati időszak szerint két csoportra osztották: a korai videokártyákra, amelyekkel a tanulási sebesség első méréseit végezték, és a jelenleg használt kártyákra. Ezeknek a grafikus kártyáknak a főbb jellemzői az 1., illetve a 2. táblázatban találhatók.

1. táblázat - Korábban használt grafikus processzorok és műszaki paramétereik
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


Jegyzetek
1. Ha a CUDA nagyobb, mint 7,0, az FP16 használata növeli az edzés sebességét, a CUDA verziótól és magának a grafikus kártyának a jellemzőitől függően.
2. Ha a grafikus kártya specifikációja azt jelzi, hogy az FP16-FP32 teljesítményarány nagyobb, mint 1:1, akkor a vegyes pontosság garantáltan növeli a betanítási sebességet a specifikációban meghatározott mértékben. Például a Quadro RTX 6000 esetében az FP16 TFLOPS 32,62 (2:1) értéke legalább kétszer felgyorsítja az edzést (a gyakorlatban 2,4-szer)

2. táblázat - Jelenleg használt GPU modellek és főbb jellemzőik
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - az FP16, TFLOPS és FP32, TFLOPS értékei a GPU-nkénti specifikációkból származnak

GPU képzési és tesztelési folyamat

A modelleket 18 GPU-ból álló készlettel képezték ki. A neurális hálózati képzés folyamatában számos nyelvpárt (több mint száz nyelvet) használtunk. A GPU-tesztek segítettek azonosítani, hogy melyik hardver teljesít a legjobban bizonyos feladatokhoz. Nyelvpárjaink betanítása során a következő neurális hálózati paramétereket vettük alapul:
 

  • vocab mérete = 30 000
  • numunits = 768
  • = 6 réteg
  • fejek = 16
  • belső méret = 4 096


Először is jellemezzük az első csoportba tartozó GPU-kat az 1. táblázat alapján. A mutatók összehasonlításának alapjául a modell hozzávetőlegesen 1000 lépéses sebességgel és 100 000 egység kötegméretű többszörösével történő betanítására fordított percekben és másodpercekben kifejezett idő szolgál.

Hangsúlyozzuk, hogy az első csoportnál a sebességméréseket a igazítás mechanizmus és csak használ FP32. Ennek a mechanizmusnak a használata nélkül a tanulási sebesség egyes szervereken sokkal gyorsabb lehet.

Az igazítási mechanizmus lehetővé teszi az alap- és a lefordított szöveg részkarakterláncainak egyeztetését. Formázott szöveg, például weboldalak fordítására van szükség, ha egy mondat részkarakterlánca más betűtípussal is kiemelhető, és a kiemeléssel együtt kell lefordítani.

A neurális hálózat fent említett paramétereit figyelembe véve az első táblázatból a legjobb időt a GPU Nvidia H100 mutatta 22 perces tanulási idővel, a köztes időt pedig az azonos márkájú GeForce RTX 4060 Ti GPU mutatta 72 perces tanulási idővel, az utolsó helyet pedig a GPU Tesla V100-SXM 2 140 perces tanulási idővel.

A GPU-tesztben nyolc Nvidia A10 kártya is szerepelt 20 perc 28 másodperces tanulási görbével, két Nvidia A40 kártya 56 perces idővel és két Tesla V100-SXM kártya, amelyek 86 percesek voltak. Ugyanazon GPU-sorozat több kártyájának egyidejű alkalmazása felgyorsíthatja a modellek betanítási folyamatát, és közel azonos időt mutathat a nagyobb kapacitású GPU-kkal, de egy ilyen technika anyagilag és eljárásilag nem biztos, hogy elég racionális. A tanulási sebességmérések eredményei a 3. számú táblázatban figyelhetők meg.

3. táblázat - Képzési idő mérések a korábban használt grafikus térképeken
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


Ezután végezzük el a jelenleg használatban lévő grafikus gázpedálok összehasonlító elemzését (2. táblázat). A grafikus processzorok ezen csoportja esetében a sebességméréseket a igazítás mechanizmus, valamint az FP16 és FP32 használata. A sebességméréseket, beleértve ezt a mechanizmust és a vegyes pontosságot, az alábbi 4. és 5. táblázat mutatja be.

Tehát a GPU-k sebességét ebből a táblázatból mérve azt mondhatjuk, hogy az első helyet az RTX A4500 sorozatú GPU szerezte meg 31 perces edzési idővel, de hangsúlyozni kell, hogy ilyen edzési sebességet a modellek a használt GPU egységeinek számát 4-re növelve. Ezt a tényt figyelmen kívül hagyva a fent említett GPU edzési sebessége sokkal nagyobb lesz, ami a döntő asztal utolsó előtti helyére helyezi.

A második helyen a Quadro RTX 6000 sorozatú GPU áll 47 perces tanulási idővel. Megjegyzendő, hogy egy ilyen betanítási sebességet fordítottan kondicionál a használt processzor egységeinek száma, amely négynek felel meg. Csak egy ilyen GPU használata körülbelül 3,2-szeres sebességveszteséget okozna, következésképpen körülbelül 153 perc lenne, és az utolsó helyre helyezné.

A harmadik sort a TITAN RTX sorozatú GPU vette át 75 perc 85 másodperces idővel. Ez a tanulási sebesség pontszám 2 processzor használatának köszönhető, ami csökkentette a modell betanítási idejét.

Az edzési sebesség tekintetében megkérdőjelezhetetlen vezető egy egység számában mindenképpen a GeForce RTX 3090 sorozatú GPU lesz 78 perc 26 másodperces idővel. Ennek a GPU-nak az egységszámának növelése felgyorsítja a modell betanítási sebességét, amely egyértelműen megelőzi az összes fent említett GPU-modellt. A modell betanítási idő mérésére vonatkozó adatok a 4. táblázatban láthatók.

4. táblázat - A nyelvi modell képzési sebességének összehasonlító elemzése korábban használt GPU-kon
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


A következő edzési sebességméréseket végeztük az FP16 segítségével. Az FP32-höz képest a félprecizitás lehetővé teszi a modelloktatás során felhasznált memória mennyiségének csökkentését és a GPU-n történő számítás felgyorsítását. Az ábrázolás pontossága kisebb lesz, mint az FP32 használatával.

Az előző táblázatból FP32-t használó modellek betanítási idejét mérve elmondhatjuk, hogy a neurális hálózat betanítási ideje közel kétszeresére csökkent. A teljesítménymérési eredmények alapján a 4. táblázatban szereplő gépi tanulási GPU benchmarkokból megfigyelhetjük, hogy a GPU-k pozíciói nagyjából változatlanok maradtak. A Quadro RTX 6000 sorozatú kártya az ötödik pozícióból a hatodik helyre lépett feljebb, 96 másodperccel megelőzve a GeForce RTX 3090 GPU-t. A végső számokat az 5. táblázat tartalmazza.

5. táblázat - A nyelvi modell képzési sebességének összehasonlító elemzése korábban használt GPU-kon
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

Gyakran Ismételt Kérdések (GYIK)

Érdemes GPU-t venni a mély tanuláshoz?

A mély tanuláshoz szükséges GPU megvásárlása jelentősen növelheti a képzés sebességét és hatékonyságát, így érdemes befektetni komoly projektekbe. A döntésnek azonban figyelembe kell vennie olyan tényezőket, mint a költségvetés, a konkrét felhasználási esetek, és azt, hogy a felhőalapú megoldások költséghatékonyabbak lehetnek-e.

Melyik GPU a legjobb a mély tanuláshoz?

Az NVIDIA A100-at gyakran tekintik a legjobb választásnak a mély tanuláshoz, kivételes teljesítményt és memóriát kínálva a nagy modellekhez. A költségvetés-tudatos felhasználók számára az NVIDIA RTX 3090 erős képességeket biztosít a modellek hatékony képzéséhez.

Az AMD vagy az NVIDIA jobb a mély tanuláshoz?

Az NVIDIA-t általában előnyben részesítik a mély tanulásban robusztus szoftver-ökoszisztémája miatt, amely javítja a teljesítményt és a népszerű keretrendszerekkel való kompatibilitást. Míg az AMD GPU-k javultak, még mindig le vannak maradva az NVIDIA mögött az optimalizálás és a mély tanulási alkalmazások támogatása terén.

Segít a GPU az NLP-ben?

Igen, a GPU-k jelentősen felgyorsítják a neurális hálózati képzést a természetes nyelvi feldolgozásban (NLP) a párhuzamos számítások hatékony kezelésével. Ez a sebességnövelés gyorsabb kísérletezést és iterációt tesz lehetővé, ami javítja a modell teljesítményét és csökkenti az edzési időt.

További lenyűgöző olvasmányok várnak

Mi az a helyszíni beszédfelismerés?

Mi az a helyszíni beszédfelismerés?

September 19, 2024

Statisztikai jelentőség értékelése a fordítási rendszerben

Statisztikai jelentőség értékelése a fordítási rendszerben

September 10, 2024

Gépi fordítás jogi és megfelelőségi szempontból

Gépi fordítás jogi és megfelelőségi szempontból

August 23, 2024

Lépjen kapcsolatba az ügyfélszolgálattal

* Kötelező mezők

Az űrlap elküldésével hozzájárulok ahhoz, hogy a szolgáltatási feltételek és az adatvédelmi szabályzat szabályozza a kapott szolgáltatások és az általam megadott személyes adatok használatát.

Email

Befejezve

Kérését sikeresen elküldtük

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.