Gpu mjerila dubokog učenja

Stalno obučavamo jezične modele za naš rad. Naš tim koristi desetke različitih video kartica odabranih za različite zadatke: negdje trebamo moćnu DGX stanicu, a negdje je dovoljna stara igraća kartica poput RTX 2080Ti. Odabir optimalnog GPU-a za obuku modela može značajno utjecati na brzinu i isplativost procesa.

Ono što je zanimljivo je da postoji dosta članaka na internetu s GPU usporedbom za strojno učenje, ali vrlo malo njih se fokusira na brzinu za obuku jezičnog modela. Uglavnom se nalaze samo testovi zaključivanja. Kada je objavljen novi H100 čip, NVidijino izvješće navodi da je na treningu bio do devet puta brži od A100, ali za naše zadatke nova kartica je bila samo 90% brža od stare. Usporedbe radi, naši pružatelji usluga oblaka imali su 2 x razliku u cijeni između ovih GPU-ova, tako da nije bilo smisla prelaziti na novi H100 radi uštede novca.

Osim toga, uzeli smo na test DGX stanicu, koja se sastoji od 8 A100 80 GB grafičkih kartica i košta 10 tisuća dolara mjesečno. Nakon testa postalo je jasno da nam omjer cijene i performansi ove stanice uopće ne odgovara i za taj novac možemo uzeti 66 x RTX 3090, što će ukupno biti mnogo korisnije.

Naši prevoditeljski jezični modeli imaju do 500 milijuna parametara (u prosjeku 100 do 300 milijuna). Moguće je da će, ako značajno povećamo broj parametara, omjer cijene i učinka DGX-a biti bolji. Trenutno ne treniramo velike jezične modele koji mogu prevoditi između svih jezika u svim varijacijama odjednom, već koristimo zasebne jezične modele za svaki jezični par npr. Englesko-njemački. Svaki od takvih modela traje od 120 do 300 Mb.

Vrijedno je napomenuti da različiti jezici imaju različite količine podataka na internetu, a dok. Na primjer, za španjolski možete pronaći 500 milijuna rečenica s prijevodima, ali kada trenirate modele za rjeđe jezike poput tibetanskog, morate odabrati određeni GPU za zadatke strojnog učenja na temelju dostupnih podataka. Za izradu modela prevođenja s engleskog na španjolski koristimo poslužitelj s 4 x RTX 4500 i 256 GB RAM-a. U isto vrijeme, tibetanski jezik može se uvježbati na RTX 2080 Ti sa 16 GB RAM-a, jer nema smisla povećavati složenost neuronske mreže i, kao rezultat toga, uzeti snažniji poslužitelj s malom količinom podataka.

Odabir grafičkih procesora i teoretskih brojki

Obuka jezičnog modela odvijala se na našoj internoj platformi Data Studio koristeći OpenNMT-tf okvir. Ova faza uključivala je pripremu podataka, obuku modela i usporedbu modela s referentnim prijevodom. Korištenje FP16 umjesto FP32 tijekom obuke omogućilo nam je značajno smanjenje vremena obuke jezičnih modela bez degradacije kvalitete prijevoda, ali nisu svi naši GPU-ovi to podržavali.

Prilikom odabira grafičkog procesora, standardno je uzeti u obzir takve metrike kao što su procesorska snaga (TFLOPS), video memorija (VRAM), GPU referentni rezultati, podrška za biblioteku i okvir, proračun i drugi čimbenici (veličina i oblik grafičke kartice, zahtjevi za napajanjem, hlađenje i kompatibilnost s vašim sustavom). Kada trenirate modele generiranja teksta, također trebate imati na umu da će različiti jezici trošiti različite količine resursa. Na primjer, 1 bajt se koristi za kodiranje jednog znaka za latinske jezike, 2 bajta za ćirilične jezike i 3 bajta za jezike koji sadrže hijeroglife. Razumijevanje koje će karakteristike imati vaša grafička kartica ima značajan utjecaj na brzinu procesa učenja.

Prilikom obuke modela u smislu korištenih GPU-ova, video kartice su podijeljene u dvije skupine prema razdoblju korištenja: rane video kartice, koje su korištene za prva mjerenja brzine učenja, i kartice koje su trenutno u upotrebi. Glavne karakteristike ovih grafičkih kartica mogu se pronaći u tablici 1, odnosno tablici 2.

Tablica 1 - Prethodno korišteni grafički procesori i njihovi tehnički parametri
 

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


Bilješke
1. S CUDA-om većom od 7,0, korištenje FP16 će povećati brzinu treninga, ovisno o verziji CUDA-e i karakteristikama same grafičke kartice.
2. Ako specifikacija grafičke kartice pokazuje da je omjer performansi FP16 i FP32 veći od 1 prema 1, tada će korištenje mješovite preciznosti zajamčeno povećati brzinu treninga za iznos naveden u specifikaciji. Na primjer, za Quadro RTX 6000 FP16 TFLOPS vrijednost od 32,62 (2:1) ubrzat će vježbanje najmanje dva puta (2,4 puta u praksi)

Tablica 2 - Trenutno korišteni GPU modeli i njihove glavne karakteristike
 

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

* - vrijednosti za FP16, TFLOPS i FP32, TFLOPS preuzete su iz specifikacija po GPU-u

GPU obuka i proces testiranja

Modeli su obučavani pomoću skupa od 18 GPU-ova. U procesu obuke neuronske mreže koristili smo brojne jezične parove (više od stotinu jezika). GPU testovi pomogli su identificirati koji hardver najbolje radi za određene zadatke. Tijekom obuke naših jezičnih parova kao osnova uzeti su sljedeći parametri neuronske mreže:
 

  • vocab veličina = 30 000
  • numunits = 768
  • slojevi = 6
  • glave = 16
  • unutarnja dimenzija = 4 096


Prvo, karakterizirajmo GPU-ove koji su pripadali prvoj skupini na temelju tablice 1. Vrijeme u minutama i sekundama potrošeno na obuku modela pri približnoj brzini od 1000 koraka i višestrukoj veličini serije od 100 000 jedinica uzet će se kao osnova za usporedbu pokazatelja.

Naglašavamo da su za prvu skupinu mjerenja brzine obavljena uz korištenje usklađivanje mehanizam i samo korištenje FP32. Bez korištenja ovog mehanizma brzina učenja na nekim poslužiteljima može biti puno brža.

Mehanizam poravnanja omogućuje podudaranje podnizova u bazi i prevedenom tekstu. Potrebno je prevesti formatirani tekst, kao što su web stranice, kada podniz u rečenici može biti istaknut drugim fontom i treba ga prevesti s označavanjem.

Uzimajući u obzir gore navedene parametre neuronske mreže, najbolje vrijeme iz prve tablice pokazao je GPU Nvidia H100 s vremenom učenja od 22 minute, a međuvrijeme je pokazao GPU iste marke GeForce RTX 4060 Ti s vremenom učenja od 72 minute, a posljednje mjesto zauzeo je GPU Tesla V100-SXM 2 s vremenom učenja od 140 minuta.

Također je bilo osam Nvidia A10 kartica u GPU testu s krivuljom učenja od 20 minuta i 28 sekundi, dvije Nvidia A40 kartice s vremenom od 56 minuta i dvije Tesla V100-SXM kartice koje su trajale 86 minuta. Istodobna primjena više kartica iste serije GPU-a može ubrzati proces obuke modela i pokazati gotovo isto vrijeme s GPU-ima koji imaju veće kapacitete, ali takva tehnika možda nije dovoljno financijski i proceduralno racionalna. Rezultati mjerenja brzine učenja mogu se vidjeti u tablici broj 3.

Tablica 3 - Mjerenja vremena obuke na prethodno korištenim grafičkim kartama
 

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


Zatim, provedimo komparativnu analizu grafičkih papučica gasa koje se trenutno koriste (Tablica 2). Za ovu skupinu grafičkih procesora mjerenja brzine provedena su pomoću usklađivanje mehanizam, kao i korištenje FP16 i FP32. Mjerenja brzine uključujući ovaj mehanizam i mješovitu preciznost bit će prikazana u nastavku u tablicama 4 i 5.

Dakle, izmjerivši brzinu GPU-ova iz ove tablice, možemo reći da je prvo mjesto zauzeo GPU serije RTX A4500 s vremenom treninga od 31 minute, ali treba naglasiti da je takva brzina modela treninga dobivena povećanjem broja jedinica korištenog GPU-a do 4. Zanemarujući tu činjenicu, brzina treninga spomenutog GPU-a bit će puno veća, što će ga smjestiti na pretposljednje mjesto finalne tablice.

Na drugom mjestu je GPU serije Quadro RTX 6000 s vremenom učenja od 47 minuta. Treba napomenuti da je takva brzina treninga obrnuto uvjetovana brojem jedinica korištenog procesora, koji je jednak četiri. Korištenje samo jednog takvog GPU-a dovelo bi do gubitka brzine od oko 3,2 puta i posljedično bi iznosilo približno 153 minute i postavilo bi ga na posljednje mjesto.

Treću liniju preuzeo je GPU serije TITAN RTX s vremenom od 75 minuta i 85 sekundi. Ovaj rezultat brzine učenja rezultat je korištenja 2 procesora, što je smanjilo vrijeme obuke modela.

Neupitni lider po brzini treninga u broju jedne jedinice svakako će biti GPU serije GeForce RTX 3090 s vremenom od 78 minuta i 26 sekundi. Povećanje broja jedinica ovog GPU-a ubrzat će brzinu obuke modela, koja će jasno prestići sve gore navedene GPU modele. Podaci o mjerenjima vremena obuke modela mogu se vidjeti u tablici 4.

Tablica 4 - Usporedna analiza brzine treninga jezičnog modela na prethodno korištenim GPU-ovima
 

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


Sljedeća mjerenja brzine treninga provedena su pomoću FP16. U usporedbi s FP32, polupreciznost omogućuje smanjenje količine memorije potrošene tijekom obuke modela i ubrzavanje izračuna na GPU-u. Točnost prikaza bit će niža nego kod upotrebe FP32.

Mjerenje vremena obuke modela pomoću FP32 iz prethodne tablice, možemo reći da je vrijeme obuke neuronske mreže smanjeno gotovo dva puta. Na temelju rezultata mjerenja učinka, možemo primijetiti iz mjerila GPU-a strojnog učenja u tablici 4 da su položaji GPU-a ostali uglavnom nepromijenjeni. Kartica serije Quadro RTX 6000 pomaknula se s pete pozicije na šestu, pobijedivši GeForce RTX 3090 GPU za 96 sekundi. Konačni brojevi prikazani su u tablici 5.

Tablica 5 - Usporedna analiza brzine treninga jezičnog modela na prethodno korištenim GPU-ovima
 

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

Često postavljana pitanja (FAQ)

Vrijedi li kupiti GPU za duboko učenje?

Kupnja GPU-a za duboko učenje može značajno povećati brzinu i učinkovitost obuke, čineći ga vrijednim ulaganjem za ozbiljne projekte. Međutim, odluka bi trebala uzeti u obzir čimbenike poput proračuna, specifičnih slučajeva upotrebe i mogu li rješenja u oblaku biti isplativija.

Koji je GPU najbolji za duboko učenje?

NVIDIA A100 često se smatra najboljim izborom za duboko učenje, nudeći iznimne performanse i pamćenje za velike modele. Za korisnike koji brinu o proračunu, NVIDIA RTX 3090 pruža snažne mogućnosti za učinkovito treniranje modela.

Je li AMD ili NVIDIA bolji za duboko učenje?

NVIDIA se općenito preferira za duboko učenje zbog svog robusnog softverskog ekosustava, koji poboljšava performanse i kompatibilnost s popularnim okvirima. Iako su se AMD GPU-ovi poboljšali, još uvijek zaostaju za NVIDIA-om u smislu optimizacije i podrške za aplikacije dubokog učenja.

Pomaže li GPU u NLP-u?

Da, GPU-ovi značajno ubrzavaju obuku neuronske mreže u obradi prirodnog jezika (NLP) učinkovitim rukovanjem paralelnim računanjima. Ovo povećanje brzine omogućuje brže eksperimentiranje i ponavljanje, što dovodi do poboljšanih performansi modela i smanjenog vremena treninga.

Čekaju još fascinantnija čitanja

Što je lokalno prepoznavanje govora?

Što je lokalno prepoznavanje govora?

September 19, 2024

Procjena statističkog značaja u sustavu prevođenja

Procjena statističkog značaja u sustavu prevođenja

September 10, 2024

Prepoznavanje govora u marketingu

Prepoznavanje govora u marketingu

August 23, 2024

Kontaktirajte nas

0/250
* Označava obavezno polje

Vaša privatnost nam je od iznimne važnosti; Vaši podaci će se koristiti isključivo u svrhu kontakta.

E-mail

Završeno

Vaš zahtjev je uspješno poslan

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