Ръководство за GPUsed

Защо графичните процесори се превърнаха в двигател на съвременния изкуствен интелект

Прегледано от за фактическа и оперативна точност.

Хардуерът, който сега пише изречения и разпознава тумори, дължи част от развитието си на по-стар проблем: да изчертае огромен брой пиксели, преди геймърът да забележи, че пейзажът се е появил със закъснение.

Графичните процесори станаха основополагащи за съвременния изкуствен интелект, защото невронните мрежи съдържат огромно количество математическа работа, която може да бъде разделена и изпълнена паралелно. Графиката изискваше същата обща способност. След това софтуерът превърна специализирания графичен процесор в програмируем двигател за матрици, модели и данни.

Първо дойдоха пикселите

Съвременната игра многократно обработва геометрия, текстури, осветление, цветове и сенки върху милиони пиксели. Голяма част от тази работа може да бъде разделена на множество сходни изчисления. Вместо да помолите един изключително способен работник да рисува екрана отляво надясно, графичният хардуер организира огромна работилница и държи много по-малки работници заети едновременно.

Централният процесор е проектиран по различен начин. По-малкият му брой мощни и гъвкави ядра обработва работата на операционната система, логиката на приложенията, решенията с разклонения и задачите, при които следващата стъпка зависи от резултата на предишната. Нито една архитектура не е универсално по-добра. В съдебна зала и във фабрика за бисквити работят хора; това не означава, че и двете се нуждаят от един и същ план за персонала.

После пикселите станаха тензори

Невронните мрежи многократно комбинират големи масиви от числа, прилагат операции и предават резултатите през множество слоеве. Обучението коригира модела, а инференцията го използва. Основната работа може да е изключително сложна, но голяма част от тежките аритметични изчисления все пак може да бъде разделена между паралелен процесор.

Централният процесор може да изпълнява тези изчисления. Предимството на графичния процесор се проявява, когато задачата съдържа достатъчно подходяща работа, за да поддържа паралелните му ресурси заети. Ето я връзката:

  • графиката включва свързани изчисления, разпределени между пиксели, геометрия и семпли;
  • изкуственият интелект включва свързани изчисления, разпределени между тегла на модела, активации и данни;
  • графичният процесор е създаден да прекарва голям паралелен товар през машината.

Промяната в кариерата се случи в четири действия

  1. Фиксиран графичен хардуер: ранните графични процесори ускоряваха специализираната работа, необходима за изчертаване на изображения и 3D сцени.
  2. Програмируеми шейдъри и изчисления с общо предназначение: хардуерът стана достатъчно гъвкав, за да позволи на разработчиците да задават по-широк кръг паралелни задачи.
  3. Практични софтуерни платформи: системи като CUDA и ROCm предоставиха програмни модели, компилатори, библиотеки и инструменти.
  4. Дълбоко обучение в голям мащаб: изследвания, включително AlexNet от 2012 г., показаха как изчисленията с графични процесори могат да направят практично обучението на голяма мрежа за разпознаване на изображения.

След това цикълът се самозасили. Все повече изследователи използваха изчисления с графични процесори; софтуерът се подобряваше; инженерите по проектиране на чипове добавяха функции за операции с машинно обучение; по-големите задачи станаха практични; търсенето финансираше следващото поколение хардуер.

Софтуерът е причината бързият чип да стане полезен

Суровата паралелна аритметика не е използваема екосистема. Разработчиците се нуждаят от компилатори, среди за изпълнение, профайлъри и ускорени библиотеки; изследователите се нуждаят от рамки, които могат да изразят модел, без да изписват ръчно всяка нискоуровнева операция.

Ръководството за програмиране на CUDA на NVIDIA описва нейния програмен модел и платформа за изпълнение. Документацията за ROCm на AMD обхваща съответния отворен софтуерен стек за поддържан хардуер на AMD. Поддръжката от страна на рамките е причината два теоретично способни графични процесора да могат да имат много различна практическа стойност за едно приложение.

VRAM е помещението, в което се извършва работата

Моделът и временните му работни данни трябва да се поберат в наличната памет. В зависимост от задачата това включва тегла, подкани, изображения, партиди и междинни резултати. Графичният процесор може теоретично да е достатъчно бърз и въпреки това да не успее да изпълни даден товар, защото няма къде да го съхрани.

Това създава особеност при използвания хардуер: по-стара професионална карта с повече памет може да остане полезна за модел, който няма да се побере в по-нова и по-бърза геймърска карта. Вярно е и обратното. Ако предвиденият софтуер използва малко памет и се възползва от по-нови изчислителни функции, купуването на капацитет, до който никога няма да стигне, е скъп начин да се възхищавате на една спецификация.

Пропускателната способност на паметта също е важна. Хиляди паралелни работници не са продуктивни, когато данните достигат до тях през пощенска кутия.

Всяка задача с изкуствен интелект ли се нуждае от графичен процесор?

Не. Малките модели могат да работят на централни процесори. Телефоните и по-новите компютри все по-често включват NPU, проектирани да изпълняват ефективно поддържани невронни операции. Големите оператори също създават специализирани ускорители, като Tensor Processing Units на Google.

Графичният процесор остава важен, защото съчетава висока паралелна производителност, програмируемост, локална памет и зрели инструменти. Тази комбинация е подходяща за много задачи, без да го прави правилния отговор на всяка задача, в която се срещат буквите A и I.

Геймърски графичен процесор може да изпълнява задачи с изкуствен интелект - когато софтуерът е съгласен

Подходящите геймърски карти могат локално да обработват генериране на изображения, транскрипция, мащабиране и по-малки езикови модели. Проверете конкретното приложение, вместо да разчитате на общо твърдение, че е „готово за AI“:

  • Поддържат ли се графичният процесор и операционната система?
  • Колко VRAM са необходими на избраният модел и партидата?
  • Кои числови формати и пътища за ускорение са налични?
  • Могат ли захранващият блок, корпусът и охлаждането да поддържат картата?
  • Действително ли очакваната скорост оправдава покупката на хардуер?

Практически пример: транскрибиране на интервю

Да предположим, че искате записите да бъдат превърнати в текст, без да ги качвате онлайн. Избирате приложение за транскрипция, размер на модела, приемлива точност и време за обработка - не просто „графична карта за AI“. Хранилището на Whisper предоставя приблизителни изисквания за памет за различните размери на модела, които са отправна точка за тази реализация, а не универсално обещание за всяко приложение, изградено около нея.

По-големият модел може да се нуждае от повече памет. По-малкият може и без това да приключва с достатъчна точност. Ако централният процесор обработва случайния запис, преди да ви потрябва, нов графичен процесор би решил проблем с графика, който не съществува.

Полезната историческа случайност

Ранният графичен хардуер не е бил проектиран с мисъл за съвременните езикови модели. Той се оказа полезен, защото архитектурата, създадена за изчертаване на пиксели, се оказа подходяща и за голяма част от паралелната математика зад невронните мрежи. Програмируемият софтуер предостави тази случайна съвместимост на учените и разработчиците; десетилетията на търсене на графични решения продължиха да подобряват машините.

Графичните процесори не задвижиха бума на изкуствения интелект просто защото бяха бързи. Те бяха паралелни, програмируеми и заобиколени от софтуер, способен да превърне тази структура в полезна работа.

Вижте графичните процесори за AI и машинно обучение, с които GPUsed работи, прочетете какво прави един NPU или сравнете капацитета на VRAM и неговите ограничения. Ако въпросът е свързан с покупка, започнете с натоварването, а не с най-голямото име на модела.

More Блог на GPUsed