В този курс по NLP Cloud обясняваме защо често е необходим специфичен хардуер, за да се ускори обработката на натоварванията за машинно обучение. Също така разглеждаме кои са най-добрите ускорители, налични на пазара през 2023 г: GPU, TPU, IPU, Inferentia, Habana Gaudi...
Ето каква е структурата на курса:
Здравейте на всички, това е Жулиен Салинас от NLP Cloud.
В този курс ще видим какви хардуерни ускорители можем да използваме днес, за да ускорим работните си натоварвания с изводи.
За да разберем хардуерното ускорение, е важно да помним, че в днешно време приложенията за изкуствен интелект се основават предимно на невронни мрежи, известни още като дълбоко обучение.
Умножаването на матрици е основна операция в невронните мрежи, тъй като им позволява да изучават сложни данни и сложни представяния на данните.
В една невронна мрежа входните данни се представят чрез матрица, а теглата на връзките между невроните също се представят чрез матрица.
Когато тези две матрици се умножат, резултатът е нова матрица, която представлява изхода на невроните.
Този процес се повтаря през множество слоеве от неврони, което позволява на мрежата да усвоява все по-абстрактни и сложни характеристики на входните данни.
Матриците са основни компоненти на моделите на изкуствения интелект, така че е важно да използвате хардуер, който е много добър в извършването на операции с матрици.
Друг важен аспект са числата с плаваща запетая.
Пълзящата запетая е важна за невронните мрежи, тъй като позволява представянето на дробни стойности.
Както току-що казахме, невронните мрежи включват големи матрици с много записи.
Използването само на целочислени стойности бързо би довело до грешки при препълване.
Чрез използването на стойности с плаваща запетая невронните мрежи могат да представят стойности с много десетични знаци, което позволява по-прецизни изчисления и по-голяма точност на резултатите.
И така, за да можем ефективно да обработваме натоварвания с изкуствен интелект, се нуждаем от хардуер, който да се справя добре с матрични умножения и изчисления с плаваща запетая.
Двата основни варианта, които можете да разгледате днес за натоварванията, свързани с машинно обучение, са процесори и графични процесори.
Централният процесор (CPU) е процесор с общо предназначение, който изпълнява широк спектър от задачи в една компютърна система, включително стартиране на приложения, управление на операционната система и извършване на математически изчисления.
Централните процесори са проектирани така, че да са универсални и да могат да се справят с много видове задачи, но не са оптимизирани за конкретен вид натоварване.
Графичният процесор (GPU) е специализиран процесор, който е проектиран да обработва сложни паралелни натоварвания, като графично рендиране и машинно обучение.
Графичните процесори разполагат с хиляди по-малки ядра, които работят заедно, за да обработват големи количества данни едновременно, което ги прави много по-бързи от централните процесори за определени видове натоварвания.
Матричните операции могат лесно да се паралелизират на няколко малки ядра, поради което графичните процесори са отлични в тази област.
Освен това графичните процесори обикновено имат много повече единици с плаваща запетая от централните процесори, което им позволява да извършват операции с плаваща запетая много по-бързо.
Вече знаете защо един процесор често не е достатъчен за днешните натоварвания с изкуствен интелект и защо специфичният хардуер често е много важен.
Сега нека се запознаем с възможностите за избор на конкретни хардуерни ускорители.
Графичните процесори на NVIDIA са мощен инструмент за графична обработка и предлагат редица функции, които ги правят идеални за игри, машинно обучение, редактиране на видео и приложения за проектиране и инженеринг.
Като софтуерен инженер в областта на изкуствения интелект несъмнено ще ви се наложи да работите с графични процесори NVIDIA, тъй като днес те заемат централно място на пазара на графични процесори.
Най-мощните им карти за изкуствен интелект през 2023 г. са A100 и H100.
AMD предлага и широка гама графични процесори, включително за машинно обучение.
Продуктовата им гама RockM е интересна и ви препоръчвам да я разгледате.
Google създава и собствени чипове за изкуствен интелект, наречени TPU (TensorFlow Processing Unit).
Те използват тези чипове вътрешно, но ги предлагат и в своята оферта за Google Cloud.
Не можете обаче да закупите TPU за себе си.
TPU работят малко по-различно от графичните процесори, но това ще бъде тема за друг специален видеоклип.
Graphcore е базирана в Обединеното кралство компания, която произвежда специфичен хардуер за изкуствен интелект, наречен IPU, еквивалентен на TPU на Google.
Можете да закупите IPU или да ги използвате в облака чрез някой от техните партньори.
AWS създават свои собствени чипове с изкуствен интелект.
Те разполагат с чип, посветен на изводите, наречен Inferentia, и с друг, посветен на обучението, наречен Tranium.
Тези чипове са сравнително евтини.
Не можете да закупите такива чипове за себе си, но можете да ги използвате в AWS EC2 или Sage Maker.
Intel създава и собствен чип за изкуствен интелект, наречен Habana Gaudi, който е много мощна, но много скъпа алтернатива.
Хардуерните ускорители са мощни, но също така са много скъпи и не е лесно да бъдат закупени поради глобалния недостиг на полупроводници.
Ето защо е разумно да работите върху оптимизирането на работното натоварване с изкуствен интелект колкото е възможно повече, за да може то да работи на по-малък хардуер.
Всъщност процесорите дори могат да бъдат подходящ вариант за много натоварвания, свързани с машинно обучение, в много ситуации.
Както можете да видите в момента, през 2023 г. NVIDIA е фактическото решение, когато става въпрос за хардуерно ускорение в областта на изкуствения интелект и машинното обучение.
Интересно е обаче, че се появяват някои алтернативи.
Така че може би след няколко години за следващите си проекти за изкуствен интелект ще използвате други видове ускорители.
Надявам се, че този курс е бил полезен, и ви пожелавам приятен ден.