Diep leer gpu maatstawwe

Ons oefen voortdurend taalmodelle vir ons werk. Ons span gebruik dosyne verskillende videokaarte wat vir verskillende take gekies is: iewers het ons 'n kragtige DGX-stasie nodig, en iewers is 'n ou speletjieskaart soos RTX 2080Ti genoeg. Die keuse van die optimale GPU vir modelopleiding kan beide die spoed en kostedoeltreffendheid van die proses aansienlik beïnvloed.

Wat interessant is, is dat daar 'n hele paar artikels op die internet is met GPU-vergelyking vir masjienleer, maar baie min fokus op spoed vir taalmodelopleiding. Meestal word slegs afleidingstoetse gevind. Toe die nuwe H100-skyfie vrygestel is, het NVidia se verslag gesê dat dit tot nege keer vinniger as A100 in opleiding was, maar vir ons take was die nuwe kaart net 90% vinniger as die ou een. Ter vergelyking het ons wolkverskaffers 'n prysverskil van 2x tussen hierdie GPU's gehad, so dit was geen sin om na die nuwe H100 oor te skakel om geld te spaar nie.

Daarbenewens het ons vir 'n toets 'n DGX-stasie geneem, wat bestaan uit 8 A100 80GB-grafiese kaarte en kos 10 duisend dollar per maand. Na die toets het dit duidelik geword dat die prys/prestasie-verhouding van hierdie stasie glad nie by ons pas nie en vir hierdie geld kan ons 66 x RTX 3090 neem, wat in totaal baie nuttiger sal wees.

Ons vertaaltaalmodelle het tot 500 miljoen parameters (gemiddeld 100 miljoen tot 300 miljoen). Dit is moontlik dat as ons die aantal parameters aansienlik verhoog, die prys/prestasieverhouding van DGX beter sal wees. Tans lei ons nie groot taalmodelle op wat gelyktydig tussen alle tale in alle variasies kan vertaal nie, maar gebruik aparte taalmodelle vir elke taalpaar, bv. Engels-Duits. Elkeen van sulke modelle neem van 120 tot 300 Mb.

Dit is opmerklik dat verskillende tale verskillende hoeveelhede data op die internet het, en terwyl. Byvoorbeeld, vir Spaans kan jy 500 miljoen sinne met vertalings vind, maar wanneer jy modelle vir skaarser tale soos Tibetaans oefen, moet jy 'n spesifieke GPU kies vir masjienleertake gebaseer op die beskikbare data. Om 'n vertaalmodel van Engels na Spaans te skep, gebruik ons 'n bediener met 4 x RTX 4500 en 256GB RAM. Terselfdertyd kan die Tibetaanse taal opgelei word op RTX 2080 Ti met 16GB RAM, aangesien dit geen sin maak om die kompleksiteit van die neurale netwerk te verhoog nie en gevolglik 'n kragtiger bediener met 'n klein hoeveelheid data te neem.

Kies grafiese verwerkers en teoretiese figure

Taalmodelopleiding het op ons interne Data Studio-platform plaasgevind deur die OpenNMT-tf-raamwerk te gebruik. Hierdie fase het datavoorbereiding, modelopleiding en modelvergelyking met 'n verwysingsvertaling ingesluit. Die gebruik van FP16 in plaas van FP32 tydens opleiding het ons in staat gestel om die opleidingstyd van taalmodelle aansienlik te verminder sonder om vertaalkwaliteit te verneder, maar nie al ons GPU's het dit ondersteun nie.

By die keuse van 'n grafiese verwerker, is dit standaard om maatstawwe soos verwerkingskrag (TFLOPS), videogeheue (VRAM), GPU-maatstafresultate, biblioteek- en raamwerkondersteuning, begroting en ander faktore te oorweeg (grafiese kaartgrootte en vormfaktor, kragvereistes, verkoeling en versoenbaarheid met jou stelsel). Wanneer teksgenereringsmodelle opgelei word, moet jy ook in gedagte hou dat verskillende tale verskillende hoeveelhede hulpbronne sal verbruik. Byvoorbeeld, 1 grepe word gebruik om een karakter vir Latynse tale te enkodeer, 2 grepe vir Cyrilliese tale en 3 grepe vir tale wat hiërogliewe bevat. Om te verstaan watter eienskappe jou grafiese kaart sal hê, het 'n beduidende impak op die spoed van die leerproses.

By die opleiding van die modelle in terme van die GPU's wat gebruik is, is die videokaarte volgens die gebruikstydperk in twee groepe verdeel: vroeë videokaarte, wat gebruik is om die eerste metings van leerspoed te maak, en kaarte wat tans gebruik word. Die hoofkenmerke van hierdie grafiese kaarte kan onderskeidelik in Tabel 1 en Tabel 2 gevind word.

Tabel 1 - Voorheen gebruik grafiese verwerkers en hul tegniese parameters
 

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


Notas
1. Met CUDA groter as 7.0, sal die gebruik van FP16 'n hupstoot gee in opleidingspoed, afhangende van die CUDA-weergawe en die kenmerke van die grafiese kaart self.
2. As die spesifikasie van die grafiese kaart aandui dat die FP16 tot FP32 prestasieverhouding groter as 1 tot 1 is, sal die gebruik van gemengde presisie gewaarborg word om die opleidingspoed te verhoog met die hoeveelheid gespesifiseer in die spesifikasie. Byvoorbeeld, vir Quadro RTX 6000 sal die FP16 TFLOPS waarde van 32.62 (2:1) die oefensessie met minstens twee keer versnel (2.4 keer in die praktyk)

Tabel 2 - Tans gebruik GPU modelle en hul belangrikste eienskappe
 

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

* - waardes vir FP16, TFLOPS en FP32, TFLOPS is geneem uit spesifikasies per GPU

GPU opleiding en toets proses

Die modelle is opgelei met behulp van 'n stel van 18 GPU's. In die proses van neurale netwerkopleiding het ons talle taalpare (meer as honderd tale) gebruik. Die GPU-toetse het gehelp om te identifiseer watter hardeware die beste presteer vir spesifieke take. Tydens die opleiding van ons taalpare is die volgende neurale netwerkparameters as basis geneem:
 

  • woordeskatgrootte = 30 000
  • numunits = 768
  • lae = 6
  • koppe = 16
  • innerlike dimensie = 4 096


Eerstens, kom ons karakteriseer die GPU's wat aan die eerste groep behoort het, gebaseer op Tabel 1. Die tyd in minute en sekondes wat spandeer word aan die opleiding van die model teen 'n benaderde spoed van 1 000 treë en 'n bondelgrootte veelvoud van 100 000 eenhede sal geneem word as die basis vir die vergelyking van die aanwysers.

Ons beklemtoon dat vir die eerste groep die spoedmetings uitgevoer is met die gebruik van die belyning meganisme en slegs gebruik FP32. Sonder om hierdie meganisme te gebruik, kan die leerspoed op sommige bedieners baie vinniger wees.

Die belyningsmeganisme laat bypassende substringe in die basis en vertaalde teks toe. Dit is nodig om geformateerde teks, soos webblaaie, te vertaal wanneer 'n substring in 'n sin in 'n ander lettertipe uitgelig kan word en met die uitlig vertaal moet word.

Met inagneming van die bogenoemde parameters van die neurale netwerk, is die beste tyd vanaf die eerste tabel deur die GPU Nvidia H100 met 'n leertyd van 22 minute getoon en die intermediêre tyd is getoon deur die GPU van dieselfde handelsmerk GeForce RTX 4060 Ti met 'n leertyd van 72 minute en die laaste plek is geneem deur die GPU Tesla V100-SXM 2 met 'n leertyd van 140 minute.

Daar was ook agt Nvidia A10-kaarte in die GPU-toets met 'n leerkurwe van 20 minute en 28 sekondes, twee Nvidia A40-kaarte met 'n tyd van 56 minute, en twee Tesla V100-SXM-kaarte wat op 86 minute ingeklok het. Gelyktydige toepassing van veelvuldige kaarte van dieselfde reeks GPU kan die opleidingsproses van die modelle bespoedig en byna dieselfde tyd wys met GPU's wat hoër kapasiteit het, maar so 'n tegniek is dalk nie finansieel en prosedureel rasioneel genoeg nie. Die resultate van leerspoedmetings kan in Tabel nommer 3 waargeneem word.

Tabel 3 - Opleidingstydmetings op die voorheen gebruikte grafiese kaarte
 

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


Kom ons voer dan 'n vergelykende ontleding uit van grafiese gaspedale wat tans gebruik word (Tabel 2). Vir hierdie groep grafiese verwerkers is spoedmetings uitgevoer met behulp van die belyning meganisme, sowel as die gebruik van FP16 en FP32. Spoedmetings, insluitend hierdie meganisme en gemengde akkuraatheid, sal hieronder in Tafels 4 en 5 onderskeidelik aangebied word.

Dus, nadat ons die spoed van GPU's vanaf hierdie tabel gemeet het, kan ons sê dat die eerste plek deur die RTX A4500-reeks GPU ingeneem is met 'n opleidingstyd van 31 minute, maar dit moet beklemtoon word dat so 'n spoed van opleidingsmodelle verkry is deur die aantal eenhede van die gebruikte GPU tot 4 te verhoog. Met die verontagsaming van hierdie feit, sal die opleidingspoed van die voorgenoemde GPU baie hoër wees, wat dit in die voorlaaste plek in die finale tabel sal plaas.

Die Quadro RTX 6000-reeks GPU met 'n leertyd van 47 minute is in die tweede plek. Daar moet op gelet word dat so 'n opleidingspoed omgekeerd gekondisioneer word deur die aantal eenhede van die gebruikte verwerker, wat gelyk is aan vier. Die gebruik van slegs een so 'n GPU sal 'n spoedverlies van ongeveer 3,2 keer gee en sal gevolglik ongeveer 153 minute wees en dit in die laaste plek plaas.

Die derde lyn is geneem deur die TITAN RTX-reeks GPU met 'n tyd van 75 minute en 85 sekondes. Hierdie leerspoedtelling is te wyte aan die gebruik van 2 verwerkers, wat die opleidingstyd van die model verminder het.

Die onbetwisbare leier in terme van oefenspoed in die nommer van een eenheid sal beslis die GeForce RTX 3090-reeks GPU wees met 'n tyd van 78 minute en 26 sekondes. Die verhoging van die aantal eenhede van hierdie GPU sal die modelopleidingspoed versnel, wat duidelik al die bogenoemde GPU-modelle sal verbysteek. Die data oor modelopleidingstydmetings kan in Tabel 4 gesien word.

Tabel 4 - Vergelykende analise van taalmodel opleidingspoed op voorheen gebruikte GPU's
 

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


Die volgende opleidingspoedmetings is met behulp van FP16 uitgevoer. In vergelyking met FP32, laat halfpresisie toe om die hoeveelheid geheue wat tydens modelopleiding verbruik word te verminder en die berekening op die GPU te versnel. Die akkuraatheid van die voorstelling sal laer wees as met die gebruik van FP32.

Deur die opleidingstyd van modelle wat FP32 van die vorige tabel gebruik, te meet, kan ons sê dat die opleidingstyd van die neurale netwerk met byna twee keer verminder is. Gebaseer op die prestasiemetingsresultate, kan ons vanuit die masjienleer GPU-maatstawwe in Tabel 4 waarneem dat die posisies van GPU's grootliks onveranderd gebly het. Die Quadro RTX 6000-reekskaart het van die vyfde posisie na die sesde een opgeskuif en die GeForce RTX 3090 GPU met 96 sekondes geklop. Die finale nommers word in Tabel 5 getoon.

Tabel 5 - Vergelykende analise van taalmodel opleidingspoed op voorheen gebruikte GPU's
 

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

Gereelde Vrae (FAQ)

Is dit die moeite werd om 'n GPU vir diep leer te koop?

Om 'n GPU vir diep leer te koop, kan opleidingspoed en doeltreffendheid aansienlik verbeter, wat dit 'n waardevolle belegging vir ernstige projekte maak. Die besluit moet egter faktore soos begroting, spesifieke gebruiksgevalle in ag neem en of wolkoplossings meer kostedoeltreffend kan wees.

Watter GPU is die beste vir diep leer?

Die NVIDIA A100 word dikwels beskou as die topkeuse vir diep leer, wat uitsonderlike prestasie en geheue vir groot modelle bied. Vir begrotingsbewuste gebruikers bied die NVIDIA RTX 3090 sterk vermoëns om modelle effektief op te lei.

Is AMD of NVIDIA beter vir diep leer?

NVIDIA word oor die algemeen verkies vir diep leer as gevolg van sy robuuste sagteware-ekosisteem, wat werkverrigting en versoenbaarheid met gewilde raamwerke verbeter. Terwyl AMD GPU's verbeter het, is hulle steeds agter NVIDIA in terme van optimalisering en ondersteuning vir diepleertoepassings.

Help GPU in NLP?

Ja, GPU's versnel neurale netwerkopleiding in natuurlike taalverwerking (NLP) aansienlik deur parallelle berekeninge doeltreffend te hanteer. Hierdie spoedverhoging maak voorsiening vir vinniger eksperimentering en iterasie, wat lei tot verbeterde modelwerkverrigting en verminderde opleidingstye.

Meer fassinerende lees wag

Wat is On-Premise Speech Recognition?

Wat is On-Premise Speech Recognition?

September 19, 2024

Assessering van Statistiese Betekenis in Vertaalstelsel

Assessering van Statistiese Betekenis in Vertaalstelsel

September 10, 2024

Spraakherkenning in Bemarking

Spraakherkenning in Bemarking

August 23, 2024

Kontak ons

0/250
* Dui vereiste veld aan

Jou privaatheid is vir ons van uiterste belang; jou data sal uitsluitlik vir kontakdoeleindes gebruik word.

E-pos

Voltooi

Jou versoek is suksesvol gestuur

× 
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.