Прямо сейчас в мире вычислений происходит фундаментальный сдвиг, масштаба которого не было последние 40-50 лет – со времен появления классических центральных процессоров (CPU) и доминирования фон Неймановской архитектуры. Мы наблюдаем ключевой переход от последовательных вычислений к массово-параллельным.
Суть в том, что вместо решения задач поочередно, одна за другой, современные системы все чаще обрабатывают множество задач одновременно. Этот переход особенно критичен для области искусственного интеллекта (ИИ). Практически весь современный ИИ – как обучение сложных нейронных сетей, так и их последующая работа (инференс) – опирается на параллельные вычисления.
Почему именно параллелизм стал ключом? Ответ кроется в аппаратной революции. Традиционный CPU имеет ограниченное количество мощных ядер (обычно единицы или десятки), оптимизированных для последовательных задач. Напротив, современные графические процессоры (GPU) изначально создавались для иной цели – рендеринга изображений и видео в играх. В этой задаче каждый пиксель или вершина может обрабатываться независимо. Это привело к появлению архитектуры с тысячами (20, 30, 40 тысяч и более) более простых, но специализированных вычислительных ядер, способных работать параллельно.
Изначально мощь GPU использовалась именно для визуализации: расчета независимых пикселей, движения объектов в трехмерных сценах (например, самолета и облаков в игре) параллельно. Однако оказалось, что математическая основа многих операций в компьютерной графике, особенно матричные умножения, идеально совпадает с ядром вычислений, необходимых для глубокого обучения и работы нейронных сетей.
Таким образом, GPU, созданные для игр, неожиданно стали вычислительными двигателями современного ИИ. Их массово-параллельная архитектура позволяет невероятно эффективно выполнять триллионы операций, лежащих в основе обучения и предсказаний нейросетей.
Сегодня масштаб еще больше. Отдельные GPU объединяются в кластеры из сотен и даже тысяч карт, формируя единые суперкомпьютеры экстраординарной мощности. Именно такие системы, выполняя миллиарды параллельных операций в секунду, позволяют нейросетям «предсказывать следующее слово в стиле Достоевского или Толстого» или решать другие сверхсложные задачи, многократно перемножая огромные матрицы данных для каждого шага вычислений.
© Блог Игоря Ураева