Длабоко учење gpu одредници

Ние постојано ги обучуваме јазичните модели за нашата работа. Нашиот тим користи десетици различни видео картички избрани за различни задачи: некаде ни треба моќна DGX станица, а некаде стара картичка за игри како RTX 2080Ti е доволно. Изборот на оптимален графички процесор за обука на модели може значително да влијае и на брзината и на исплатливоста на процесот.

Она што е интересно е дека има неколку статии на интернет со споредба на графичкиот процесор за машинско учење, но многу малку се фокусираат на брзината за обука за јазични модели. Најчесто се наоѓаат само тестови за заклучување. Кога беше објавен новиот чип H100, во извештајот на NVidia беше наведено дека е до девет пати побрз од A100 на тренинг, но за нашите задачи, новата картичка беше само 90% побрза од старата. За споредба, нашите провајдери на облак имаа разлика во цената од 2x помеѓу овие графички процесори, така што немаше смисла да се префрлите на новиот H100 за да заштедите пари.

Покрај тоа, направивме тест на DGX станица, која се состои од 8 A100 80GB графички картички и чини 10 илјади долари месечно. По тестот, стана јасно дека односот цена/перформанси на оваа станица воопшто не ни одговара и за овие пари можеме да земеме 66 x RTX 3090, што вкупно ќе биде многу покорисно.

Нашите преведувачки јазични модели имаат до 500 милиони параметри (100 до 300 милиони во просек). Можно е ако значително го зголемиме бројот на параметри, односот цена/перформанси на DGX ќе биде подобар. Во моментов, ние не тренираме големи јазични модели кои можат да преведуваат помеѓу сите јазици во сите варијации одеднаш, туку користиме посебни јазични модели за секој јазичен пар, на пример. Англиско-германски. Секој од таквите модели трае од 120 до 300 Mb.

Вреди да се напомене дека различни јазици имаат различни количини на податоци на Интернет, и додека. На пример, за шпански, можете да најдете 500 милиони реченици со преводи, но кога тренирате модели за поретки јазици како тибетскиот, треба да изберете специфичен графички процесор за задачи за машинско учење врз основа на достапните податоци. За да креираме модел на превод од англиски на шпански, користиме сервер со 4 x RTX 4500 и 256GB RAM. Во исто време, тибетскиот јазик може да се обучи на RTX 2080 Ti со 16GB RAM меморија, бидејќи нема смисла да се зголеми сложеноста на невронската мрежа и, како резултат на тоа, да се земе помоќен сервер со мала количина на податоци.

Избор на графички процесори и теоретски бројки

Обуката за јазични модели се одржа на нашата внатрешна платформа Data Studio користејќи ја рамката OpenNMT-tf. Оваа фаза вклучуваше подготовка на податоци, обука за модели и споредба на модели со референтен превод. Користењето на FP16 наместо FP32 за време на обуката ни овозможи значително да го намалиме времето на обука на јазичните модели без да го деградираме квалитетот на преводот, но не сите наши графички процесори го поддржаа тоа.

При изборот на графички процесор, стандардно е да се земат предвид метриките како што се процесорската моќ (TFLOPS), видео меморијата (VRAM), резултатите од реперот на графичкиот процесор, поддршката за библиотеката и рамката, буџетот и други фактори (големина на графичката картичка и фактор на форма, барања за моќност, ладење и компатибилност со вашиот систем). Кога тренирате модели за генерирање текст, исто така треба да имате на ум дека различни јазици ќе трошат различни количини на ресурси. На пример, 1 бајт се користи за кодирање на еден знак за латински јазици, 2 бајти за кирилични јазици и 3 бајти за јазици што содржат хиероглифи. Разбирањето кои карактеристики ќе ги има вашата графичка картичка има значително влијание врз брзината на процесот на учење.

При обуката на моделите во однос на користените графички процесори, видео картичките беа поделени во две групи според периодот на употреба: рани видео картички, кои се користеа за да се направат првите мерења на брзината на учење и картички кои моментално се користат. Главните карактеристики на овие графички картички може да се најдат во Табела 1 и Табела 2, соодветно.

Табела 1 - Претходно користени графички процесори и нивните технички параметри
 

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


Белешки
1. Со CUDA поголема од 7,0, користењето на FP16 ќе даде зголемување на брзината на обуката, во зависност од верзијата CUDA и карактеристиките на самата графичка картичка.
2. Ако спецификацијата на графичката картичка покажува дека односот на перформансите FP16 и FP32 е поголем од 1 спрема 1, тогаш користењето мешана прецизност ќе биде загарантирано да ја зголеми брзината на обуката за износот наведен во спецификацијата. На пример, за Quadro RTX 6000 вредноста на FP16 TFLOPS од 32,62 (2:1) ќе го забрза тренингот за најмалку два пати (2,4 пати во пракса)

Табела 2 - Во моментов се користат модели на графички процесор и нивните главни карактеристики
 

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

* - вредностите за FP16, TFLOPS и FP32, TFLOPS се земени од спецификациите по графички процесор

Процес на обука и тестирање на графичкиот процесор

Моделите беа обучени со помош на сет од 18 графички процесори. Во процесот на обука за невронски мрежи, користевме бројни јазични парови (повеќе од сто јазици). Тестовите на графичкиот процесор помогнаа да се идентификува кој хардвер најдобро функционира за одредени задачи. За време на обуката на нашите јазични парови, како основа беа земени следните параметри на невронската мрежа:
 

  • големина на вокаб = 30 000
  • броеви = 768
  • слоеви = 6
  • глави = 16
  • внатрешна димензија = 4 096


Прво, ајде да ги карактеризираме графичките процесори кои припаѓаа на првата група врз основа на Табела 1. Времето во минути и секунди поминато за обука на моделот со приближна брзина од 1.000 чекори и сериска големина повеќекратна од 100.000 единици ќе се земе како основа за споредување на индикаторите.

Нагласуваме дека за првата група, мерењата на брзината беа извршени со употреба на усогласување механизам и само користење FP32. Без користење на овој механизам, брзината на учење на некои сервери може да биде многу поголема.

Механизмот за порамнување овозможува усогласување на поднизите во основата и преведениот текст. Потребно е да се преведе форматиран текст, како што се веб-страниците, кога поднизата во реченицата може да биде означена со различен фонт и треба да се преведе со истакнување.

Земајќи ги предвид горенаведените параметри на невронската мрежа, најдоброто време од првата табела го покажа графичкиот процесор Nvidia H100 со време на учење од 22 минути а средното време го покажа графичкиот процесор на истиот бренд GeForce RTX 4060 Ti со време на учење од 72 минути, а последното место го зазеде графичкиот процесор Tesla V100-SXM 2 со време на учење од 140 минути.

Имаше и осум Nvidia A10 картички на тестот за графички процесор со крива на учење од 20 минути и 28 секунди, две Nvidia A40 картички со време од 56 минути и две Tesla V100-SXM картички кои дојдоа за 86 минути. Истовремената примена на повеќе картички од иста серија на графички процесор може да го забрза процесот на обука на моделите и да покаже речиси исто време со графичките процесори кои имаат повисоки капацитети, но таквата техника можеби не е доволно финансиски и процедурално рационална. Резултатите од мерењата на брзината на учење може да се набљудуваат во Табела број 3.

Табела 3 - Мерења на времето за обука на претходно користените графички карти
 

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


Следно, ајде да спроведеме компаративна анализа на графичките педали за гас што моментално се користат (Табела 2). За оваа група графички процесори, мерењата на брзината беа извршени со помош на усогласување механизам, како и користење на FP16 и FP32. Мерењата на брзината, вклучувајќи го овој механизам и мешаната прецизност, ќе бидат претставени подолу во табелите 4 и 5 соодветно.

Значи, откако ја измеривме брзината на графичките процесори од оваа табела, можеме да кажеме дека првото место го зазеде графичкиот процесор од серијата RTX A4500 со време на обука од 31 минута, но треба да се нагласи дека таквата брзина на моделите за обука е добиена со зголемување на бројот на единици на користениот графички процесор до 4. Занемарувајќи го овој факт, брзината на тренирање на гореспоменатиот графички процесор ќе биде многу поголема, што ќе го стави на претпоследното место во финалната табела.

На второто место е графичкиот процесор од серијата Quadro RTX 6000 со време на учење од 47 минути. Треба да се напомене дека таквата брзина на обука е обратно условена од бројот на единици на користениот процесор, што е еднакво на четири. Користењето само на еден таков графички процесор би дало губење на брзината од околу 3,2 пати и, следствено, би било приближно 153 минути и би го поставило на последното место.

Третата линија ја презеде графичкиот процесор од серијата TITAN RTX со време од 75 минути и 85 секунди. Овој резултат за брзина на учење се должи на употребата на 2 процесори, што го намали времето за обука на моделот.

Несомнениот лидер во однос на брзината на обуката по број на една единица дефинитивно ќе биде графичкиот процесор од серијата GeForce RTX 3090 со време од 78 минути и 26 секунди. Зголемувањето на бројот на единици на овој графички процесор ќе ја забрза брзината на обука на моделот, што јасно ќе ги надмине сите горенаведени модели на графички процесор. Податоците за мерењата на времето за обука на моделот може да се видат во Табела 4.

Табела 4 - Компаративна анализа на брзината на обука на јазичен модел на претходно користени графички процесори
 

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


Следниве мерења на брзината на обуката беа извршени со помош на FP16. Во споредба со FP32, полупрецизноста овозможува намалување на количината на меморија што се троши за време на обуката на моделот и забрзување на пресметувањето на графичкиот процесор. Точноста на претставата ќе биде помала отколку со употребата на FP32.

Мерејќи го времето за обука на моделите кои користат FP32 од претходната табела, можеме да кажеме дека времето за обука на невронската мрежа е намалено за речиси два пати. Врз основа на резултатите од мерењето на перформансите, можеме да забележиме од одредниците на графичкиот процесор за машинско учење во Табела 4 дека позициите на графичките процесори останале главно непроменети. Картичката од серијата Quadro RTX 6000 се искачи од петтата позиција на шестата, победувајќи го графичкиот процесор GeForce RTX 3090 за 96 секунди. Конечните броеви се прикажани во Табела 5.

Табела 5 - Компаративна анализа на брзината на обука на јазичен модел на претходно користени графички процесори
 

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

Често поставувани прашања (ЧПП)

Дали вреди да се купи графички процесор за длабоко учење?

Купувањето графички процесор за длабоко учење може значително да ја подобри брзината и ефикасноста на обуката, што го прави исплатлива инвестиција за сериозни проекти. Сепак, одлуката треба да ги земе предвид факторите како буџетот, конкретните случаи на употреба и дали решенијата за облак може да бидат поисплатливи.

Кој графички процесор е најдобар за длабоко учење?

NVIDIA A100 често се смета за врвен избор за длабоко учење, нудејќи исклучителни перформанси и меморија за големи модели. За корисниците кои се свесни за буџетот, NVIDIA RTX 3090 обезбедува силни способности за ефективно тренирање на моделите.

Дали AMD или NVIDIA се подобри за длабоко учење?

NVIDIA генерално се претпочита за длабоко учење поради неговиот робустен софтверски екосистем, кој ги подобрува перформансите и компатибилноста со популарните рамки. Додека AMD графичките процесори се подобрени, тие сè уште заостануваат зад NVIDIA во однос на оптимизацијата и поддршката за апликациите за длабоко учење.

Дали графичкиот процесор помага во НЛП?

Да, графичките процесори значително ја забрзуваат обуката за невронска мрежа за обработка на природен јазик (НЛП) со ефикасно ракување со паралелни пресметки. Ова зголемување на брзината овозможува побрзо експериментирање и повторување, што доведува до подобрени перформанси на моделот и намалено време на тренирање.

Чекаат уште фасцинантни читања

Што е препознавање говор во просториите?

Што е препознавање говор во просториите?

September 19, 2024

Проценка на статистичкото значење во преведувачкиот систем

Проценка на статистичкото значење во преведувачкиот систем

September 10, 2024

Препознавање на говор во маркетингот

Препознавање на говор во маркетингот

August 23, 2024

Контактирајте не

0/250
* Го означува задолжителното поле

Вашата приватност е од најголема важност за нас; вашите податоци ќе се користат исклучиво за контакти.

Е-пошта

Завршено

Вашето барање е успешно испратено

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