Всего несколько лет назад фраза "Я купил хорошую видеокарту (GPU)" означала "Я хочу играть в требовательные игры" или "Я начал заниматься видеомонтажом". Мозг обычного компьютера всегда был CPU, а GPU служил лишь вспомогательным устройством для красивого отображения изображения.
Но с наступлением эры генеративного ИИ и глубокого обучения картина полностью изменилась. Теперь для запуска или обучения AI-моделей на персональных компьютерах необходимы высокопроизводительные GPU. Именно поэтому NVIDIA стала самой ценимой компанией в мире.
Но почему, оставив позади умные CPU, простые рабочие GPU стали главными героями эпохи AI? Ответ скрывается в 'векторах', 'матрицах' и 'линейной алгебре', которые мы изучали на уроках математики в школе.
1. Как научить компьютер 'яблоко' и 'банан': вектор (Vector)
Когда мы думаем: "Яблоко красное и круглое", "Банан желтый и длинный", как это понимает компьютер? Компьютер знает только 0 и 1, то есть цифры. Поэтому инженеры и математики решили преобразовать все концепции мира в набор чисел, то есть векторы (Vector).
Допустим, мы выражаем характеристики фруктов трехмерным вектором [цвет, форма, сладость]. (Красный=1, Желтый=10 / Круглый=1, Длинный=10)
-
Яблоко: $[1, 1, 8]$
-
Банан: $[10, 10, 9]$
-
Зеленое яблоко: $[2, 1, 7]$
Когда данные преобразованы в векторы, происходит удивительная вещь. Теперь возможно вычислить "схожесть (Similarity)".
В пространстве координаты яблока и зеленого яблока близки, а банан находится далеко. AI делает вывод "Яблоко и зеленое яблоко схожи!" именно на основании расчета расстояний в векторном пространстве.
2. Огромный куб из векторов: тензор (Tensor)
Однако данные, которые должен обрабатывать AI, не ограничиваются тремя фруктами.
Представим цветное изображение размером 1000 на 1000 пикселей. Каждому пикселю нужны три числа R, G, B, поэтому одно изображение представляет собой огромный массив, состоящий из $1000 \times 1000 \times 3$ чисел.
-
Скаляр (Scalar): одно число (например: 5)
-
Вектор (Vector): одномерный массив чисел (например: [1, 2])
-
Матрица (Matrix): двумерная таблица чисел (Excel-таблица)
-
Тензор (Tensor): многомерный массив чисел (в форме куба)
Имя AI-рамки Google - 'TensorFlow' - именно по этой причине. AI — это машина, которая непрерывно обрабатывает и вычисляет эти огромные массивы чисел (тензоров).
3. Суть AI: Бесконечное умножение и сложение (матриц)
Хотя глубокое обучение (Deep Learning) кажется чем-то сложным и логически запутанным, если заглянуть внутрь, на самом деле это просто повторение умножения матриц (Matrix Multiplication).
Формула линейной алгебры, такая как $Y = WX + b$, где X - входные данные, W - веса, а b - смещение, повторяется миллионы и триллионы раз.
Проблема не в сложности вычислений, а в 'количестве'.
-
Способ CPU: "Хорошо, считаем первую строку... Ты закончил? Тогда вторая строка..." (последовательная обработка)
-
Требование AI: "Сейчас же сделай 100 миллионов умножений одновременно!"
Вот здесь и теряется гениальный математик (CPU). Как бы он ни был умен, у него только одно тело, и он не может одновременно решить 100 миллионов задач.

4. Кисть, которая рисовала пиксели, становится мозгом AI
В этот момент спасителем выступает GPU (графический процессор). Изначально GPU был создан для рисования изображений на экране.
Представьте экран монитора. На FHD экране около 2 миллионов пикселей. Во время игры в 3D-GPU должен одновременно рассчитать, "какого цвета ты должен быть" и "здесь тень, сделай темнее" для каждого из этих 2 миллионов пикселей.
-
CPU: небольшое количество очень умных ядер (от 4 до 16 докторов) → оптимизирован для сложной логики и последовательной работы
-
GPU: тысячи ядер, которые могут делать только простые вычисления (5000 первоклассников) → оптимизирован для параллельной обработки простых вычислений
Разработчики поняли.
"Подождите, и вычисление координат пикселей в 3D игре, и одновременное умножение матриц в AI глубокое обучение... математически совершенно одинаково, не так ли?"
Развитие GPU, которое предназначалось для графической обработки, случайно (или неизбежно) идеально совпало с операциями матриц в глубоких нейронных сетях. С точки зрения GPU, вместо дисплея пикселей оно занимается распределением AI-данных, а работы (операции матриц) остаются теми же.
5. Заключение: Уроки математики не прошли даром
Подводя итог, можно сказать следующее:
-
Компьютерные ученые и математики преобразовали информацию в векторы и тензоры, чтобы математически понять мир (или объяснить его машине).
-
Для обработки этих тензоров потребовались линейные алгебра (операции с матрицами).
-
GPU, который уже был оптимизирован для параллельных вычислений тысяч пикселей, подошел для операций с матрицами.
Эти три фактора и стали основой для текущей революции в AI.
Вы жаловались в старших классах, "Где мне пригодятся векторы и скаляры?", а в университете терзали себя из-за умножения матриц в линейной алгебре? Я в университете в первом курсе считал, что линейная алгебра была ужасно скучной и не учился, и в итоге получил плохую оценку, а на третьем курсе перепроходил и восстанавливал свою оценку. Но во второй раз я старательно учился, хотя линейная алгебра была все равно гораздо скучнее, чем дифференциальные уравнения. И, как ни странно, эта утомительная математика стала ключом к созданию самого умного ИИ в истории человечества через 20 лет.
Точка встречи теорий математиков и технологий инженеров в области аппаратного обеспечения - это именно там, где находятся GPU и AI.
🚀 Анонс следующей статьи
Теперь мы знаем, чем отличаются CPU и GPU. Но что такое NPU (Neural Processing Unit), о которой часто упоминается в новостях сегодня? Давайте разберемся в том, что такое NPU, который, как утверждается, более оптимален для AI, чем GPU.
Комментариев нет.