Благодаря буму искусственного интеллекта, вызванному ChatGPT, графические процессоры стали краеугольным камнем платформ обучения больших моделей искусственного интеллекта и, можно даже сказать, решающей арифметической базой. Чтобы ответить на вопрос, зачем графический процессор необходим для обучения ИИ, важно понимать основные технологии искусственного интеллекта (ИИ) и глубокого обучения.
Искусственный интеллект и глубокое обучение
Искусственный интеллект — дисциплина с долгой историей. С 1950-х годов оно исследовалось в различных технологических направлениях, переживая несколько пиков и спадов. Первые дни искусственного интеллекта породили несколько неудачный жанр, известный как «искусственные нейронные сети». Идея, лежащая в основе этой технологии, заключалась в том, что интеллект человеческого мозга не имеет себе равных, и для достижения продвинутого искусственного интеллекта ключевым моментом является имитация человеческого мозга. Человеческий мозг состоит из миллиардов нейронов, соединенных между собой в обширную и сложную нейронную сеть. Мозг ребенка подобен чистому листу, который благодаря послеродовому обучению может достичь высокого уровня интеллекта.
Модели искусственных нейронов были разработаны, чтобы черпать вдохновение из нейронов человеческого мозга. В искусственных нейронах в правой части диаграммы корректировка веса каждого входного сигнала и его обработка через нейрон дают соответствующий выходной сигнал. Каждый вес в этом контексте называется параметром.
Соединение нескольких нейронов таким образом в сеть приводит к созданию искусственной нейронной сети. Искусственные нейронные сети обычно состоят из входного слоя, нескольких скрытых слоев между ними и выходного слоя.
Такие искусственные нейронные сети подобны мозгу ребенка – пустому и нуждающемуся в существенной подпитке данными, чтобы всесторонне учиться и приобретать знания для практического решения проблем. Этот процесс известен как «глубокое обучение» и подпадает под подмножество «машинного обучения».
В широко используемом подходе «контролируемого обучения» данные, передаваемые ИИ, должны содержать как проблему, так и ответ. Например, если цель состоит в том, чтобы научить ИИ определять, есть ли на изображении кошка, нам необходимо предоставить ИИ множество изображений, помеченных как содержащие кошку, а также определяющие особенности кошек. Затем ИИ будет использовать эти примеры, чтобы изучить модели и характеристики кошек.
Процесс обучения начинается с того, что ИИ анализирует данное изображение, используя исходный набор параметров. Затем он сравнивает свой вывод с правильным ответом и соответствующим образом корректирует веса параметров. Этот итерационный процесс продолжается до тех пор, пока выходные данные ИИ не будут точно соответствовать правильному ответу.
Этот процесс обучения называется обучением. Как правило, предоставление ИИ большого объема данных с известными правильными ответами приводит к лучшим результатам обучения. Как только мы будем удовлетворены обучением, мы сможем проверить производительность ИИ на неизвестных проблемах. Если ИИ сможет точно найти ответы, мы считаем обучение успешным и ИИ продемонстрировал хорошие способности к «обобщению».
Как показано на схеме, передача весов параметров с одного слоя нейронной сети на другой по сути представляет собой умножение и сложение матриц. Чем больше масштаб параметров нейронной сети, тем более обширные матричные вычисления требуются во время обучения.
Самые продвинутые нейронные сети глубокого обучения могут иметь от сотен миллионов до триллионов параметров, и для достижения высокой точности им требуются огромные объемы обучающих данных. Это означает, что им приходится обрабатывать огромное количество входных выборок посредством прямого и обратного распространения. Поскольку нейронные сети состоят из большого количества идентичных нейронов, эти вычисления по своей сути очень параллельны. Учитывая огромные вычислительные требования, следует ли нам использовать процессор или графический процессор?
ЦП против графического процессора
ЦП (центральный процессор) — это мозг компьютера, ядро ядра. В основном он состоит из арифметико-логического устройства (АЛУ) для выполнения вычислений и блока управления (CU) для управления потоком данных и инструкций.
Когда данные поступают, они сначала сохраняются в памяти. Затем блок управления извлекает соответствующие данные из памяти и передает их в АЛУ для обработки. После завершения вычислений результат сохраняется обратно в памяти.
Раньше ЦП имел один набор ALU, CU и кэша и мог обрабатывать только одну задачу за раз. Чтобы обрабатывать несколько задач, ЦП должен был бы поставить их в очередь и выполнять последовательно, разделяя ресурсы.
Позже несколько наборов ALU, CU и кэша были интегрированы в один чип, создав многоядерный процессор. Многоядерные процессоры обладают возможностями настоящей параллельной обработки.
Обычно современные процессоры имеют от нескольких до десятков ядер. Когда смартфоны только получили широкое распространение, производители сильно акцентировали внимание на количестве ядер, что привело к «войне ядер» на рынке смартфонов. Однако гонка за количеством ядер в конечном итоге прекратилась, и производители чипов сосредоточились на оптимизации производительности ядер.
Почему процессоры не интегрируют еще больше ядер? Это связано с тем, что ЦП является процессором общего назначения. Его задачи очень сложны и требуют от него обработки различных типов вычислений с данными и реагирования на взаимодействие человека и компьютера. Сложное управление задачами и их планирование требуют более сложных блоков управления и кэшей большего размера для поддержания низкой задержки при переключении между задачами. По мере увеличения количества ядер также растут накладные расходы на связь между ядрами, что может снизить производительность отдельных ядер. Кроме того, наличие большего количества ядер может увеличить энергопотребление, а если рабочая нагрузка распределена неравномерно, общая производительность может не улучшиться, а даже снизиться.
GPU, эксперт по параллельным вычислениям
Давайте углубимся в сферу графического процессора. Графический процессор, также известный как графический процессор, изначально был разработан для облегчения нагрузки на центральный процессор и ускорения рендеринга трехмерной графики, обычно используемой в компьютерных видеокартах. Обработка изображений — это, по сути, форма интенсивных параллельных вычислений, ориентированных на матрицы. Как показано на диаграмме ниже, изображение слева состоит из множества пикселей и естественным образом может быть представлено в виде матрицы справа.
Термин «графический процессор» приобрел популярность в 1999 году с выпуском Nvidia GeForce256, продукта, который одновременно обрабатывает каждую точку пикселя, выполняя математически интенсивные параллельные вычисления, такие как графические преобразования, освещение и обрезка треугольников для рендеринга изображения.
Способность графических процессоров выполнять интенсивные параллельные вычисления обусловлена их архитектурными различиями по сравнению с центральными процессорами. Процессоры имеют меньше ядер, при этом каждое ядро обладает достаточным кэшем и надежными вычислительными возможностями, а также аппаратной поддержкой многочисленных прогнозов ветвей ускорения и еще более сложных логических суждений, что делает их пригодными для решения сложных задач.
Напротив, графические процессоры более просты и грубы; каждое ядро имеет ограниченную вычислительную мощность и размер кэша, поэтому увеличение количества ядер позволяет повысить общую производительность. Благодаря большему количеству ядер графические процессоры могут эффективно выполнять многозадачность, обрабатывая большой объем простых параллельных вычислительных задач.
Со временем графические процессоры стали более универсальными и программируемыми, расширив свою функциональность за пределы рендеринга изображений для ускорения высокопроизводительных вычислений, глубокого обучения и других рабочих нагрузок. Воспользовавшись возможностью, предоставленной ростом спроса на параллельные вычисления, вызванным искусственным интеллектом, графические процессоры перешли от своей прежней периферийной роли к центральному месту, став очень востребованными. Термин «GPU» трансформировался в GPGPU, обозначающий GPU общего назначения. Использование присущего ИИ-обучению графических процессоров параллелизма значительно повышает скорость по сравнению с обучением исключительно с использованием ЦП, что делает их предпочтительной платформой для обучения крупномасштабных и сложных систем на основе нейронных сетей. Параллельная природа операций вывода хорошо согласуется с выполнением на графических процессорах. Следовательно, вычислительная мощность, обеспечиваемая графическими процессорами в качестве основной силы, называется «интеллектуальными вычислениями».
Сопутствующие товары:
- OSFP-XD-1.6T-4FR2 1.6T OSFP-XD 4xFR2 PAM4 1291/1311nm 2 км SN SMF Оптический модуль приемопередатчика $17000.00
- OSFP-XD-1.6T-2FR4 1.6T OSFP-XD 2xFR4 PAM4 2x CWDM4 2 км двухдуплексный LC SMF оптический приемопередающий модуль $22400.00
- OSFP-XD-1.6T-DR8 1.6T OSFP-XD DR8 PAM4 1311 нм 2 км MPO-16 Модуль оптического приемопередатчика SMF $12600.00
- Совместимый с OSFP NVIDIA MMS4X50-NM 2x400G FR4 PAM4 1310 нм 2 км DOM двухдуплексный оптический модуль LC SMF $1350.00
- Совместимый с NVIDIA MMS4X00-NM-FLT 800G Twin-port OSFP 2x400G Flat Top PAM4 1310nm 500m DOM Dual MTP/MPO-12 SMF Модуль оптического трансивера $1200.00
- NVIDIA MMA4Z00-NS-FLT Совместимый двухпортовый OSFP 800 Гбит/с 2x400G SR8 PAM4 850 нм 100 м DOM Двойной модуль оптического трансивера MPO-12 MMF $850.00
- NVIDIA MMS4X00-NM Совместимый двухпортовый OSFP 800 Гбит/с 2x400G PAM4 1310nm 500m DOM Dual MTP/MPO-12 SMF Модуль оптического трансивера $1100.00
- NVIDIA MMA4Z00-NS Совместимый двухпортовый OSFP 800 Гбит/с 2x400G SR8 PAM4 850 нм 100 м DOM Двойной модуль оптического трансивера MPO-12 MMF $750.00
- Совместимость с NVIDIA MMS1Z00-NS400 400G NDR QSFP112 DR4 PAM4 1310 нм 500 м MPO-12 с модулем оптического приемопередатчика FEC $800.00
- Совместимый с NVIDIA MMS4X00-NS400 400G OSFP DR4 Flat Top PAM4 1310nm MTP/MPO-12 500m SMF FEC Модуль оптического трансивера $800.00
- NVIDIA MMA1Z00-NS400 совместимый модуль оптического приемопередатчика 400G QSFP112 SR4 PAM4 850nm 100m MTP/MPO-12 OM3 FEC $650.00
- Совместимый с NVIDIA MMA4Z00-NS400 400G OSFP SR4 Flat Top PAM4 850 нм 30 м на OM3/50 м на OM4 MTP/MPO-12 Многомодовый модуль оптического трансивера FEC $650.00