За последние несколько лет развитие технологий искусственного интеллекта стало одним из главных драйверов инноваций в области вычислительной техники. В центре этого прогресса оказалась компания Nvidia, которая благодаря своим тензорным ядрам существенно увеличила производительность GPU для задач глубокого обучения и аналитики. Рассмотрим эволюцию тензорных ядер Nvidia, начиная с архитектуры Volta и заканчивая новейшей Blackwell, проследив их ключевые технические особенности, изменения и инновации. Начало новой эры в 2017 году положила архитектура Volta и GPU Tesla V100. Именно здесь Nvidia впервые представила тензорные ядра — специализированные вычислительные блоки, которые оптимизированы для операций матричного умножения с накоплением.
Основной мотивацией создания этих ядер стала необходимость повышать энергоэффективность и ускорять вычисления при выполнении задач глубокого обучения. До появления тензорных ядер GPU исполняли операции с плавающей точкой через обычные CUDA-ядра, что не всегда было оптимально с точки зрения энергопотребления и пропускной способности. Volta предложила первый стандарт — полупрецизионные вычисления FP16 с накоплением в FP32, что позволило значительно повысить производительность без потери точности результатов в обучении нейросетей. Тензорные ядра в рамках Volta функционировали с использованием инструкции MMA (Multiply-Accumulate), которая выполняла операции умножения двух матриц с одновременно суммирующим результат значением. Архитектура предполагала скоординированную работу групп из восьми потоков Warp для выполнения этих операций, при этом каждый SM (Streaming Multiprocessor) был оснащён несколькими тензорными ядрами, обеспечивая существенный прирост вычислительной мощности в сравнении с предшественниками.
Следующий этап развития пришёлся на архитектуру Turing. Она расширила возможности тензорных ядер, добавив поддержку новых точностных форматов, в том числе INT8 и INT4, что оказало большое влияние на задачи вывода (inference) с нейросетями, где используется низкая точность для повышения эффективности без заметного ущерба качеству. Для ряда приложений это позволило проводить вычисления значительно быстрее и с меньшим энергопотреблением. Кроме того, Turing впервые применила тензорные ядра в графических задачах, например, Deep Learning Super Sampling (DLSS), где ИИ используется для повышения качества изображения в играх без увеличения нагрузки на GPU. Появление архитектуры Ampere стало следующим прорывом.
Nvidia внедрила в неё асинхронные операции копирования данных напрямую из глобальной памяти в общую память (shared memory), что позволило значительно разгрузить регистровый файл и снизить задержки. Функционирование тензорных ядер было расширено до операций с полным варпом в 32 потока, что упростило синхронизацию и повысило программируемость. Ampere также представила новые форматы чисел, в частности Brain Floating Point (BF16), который обеспечивал широкий диапазон значений, аналогичный FP32, при снижении затрат на память и вычисления. Одной из ключевых инноваций Ampere стал рост производительности всех тензорных ядер вдвое по сравнению с Volta, благодаря чему архитектура стала стандартом в области обучения и вывода моделей машинного обучения на базе нейросетей современного уровня сложности. Архитектура Hopper, пришедшая на смену Ampere, ещё сильнее расширила возможности масштабирования.
В ней появилась концепция иерархии уровней выполнения — Thread Block Cluster, представляющая собой совокупность нескольких SM в пределах одного графического процессорного кластера. Это позволило реализовать распределённую общую память между SM внутри кластера, что значительно сократило затраты по времени на передачу данных между исполнительными блоками. Также Hopper представила Tensor Memory Accelerator (TMA) — аппаратный блок, выполняющий асинхронное копирование больших объёмов данных между глобальной и общей памятью, освобождая при этом основные потоки для выполнения вычислений. С точки зрения программирования – это означало увеличенную гибкость и производительность в манипуляции большими матрицами и тензорами, используемыми в глубоком обучении. Тензорные ядра Hopper осуществляют вычисления на уровне warpgroup — объединения из 128 потоков (четырёх варпов).
Это даёт возможность работать с большими тензорными размерностями и сложными вычислительными блоками, поддерживая 8-битные форматы с накоплением на FP32. Hopper внесла некоторые жертвы точности ради повышения эффективности, внедрив специальные методы обработки с фиксированной точкой и увеличив асинхронность команд для минимизации задержек в конвейере инструкций. Наконец архитектура Blackwell стала последним и самым передовым этапом в эволюции тензорных ядер Nvidia. Здесь Nvidia продолжила смещать акцент с регистров к специализированной памяти Tensor Memory (TMEM), которая оптимизирована под операции с тензорами. TMEM представляет собой выделенный массив ячеек, с особой организацией доступа, что позволяет значительно уменьшить давление на регистры и улучшить пропускную способность при выполнении крупномасштабных MMA (Multiply-Accumulate) операций.
Blackwell внедрил новый тип MMA-инструкций 5-го поколения с единичными потоками в качестве инициаторов операций, отказавшись от предыдущих ограничений, связанных с коллективным запуском на уровне warpgroup. Также появилось понятие CTA Pair — пара вычислительных групп, способная совместно использовать операнды, что снижает требования к памяти и пропускной способности при выполнении совместных вычислений. В области форматов данных Blackwell предложил поддержку микромасштабируемых вариантов с плавающей точкой — MXFP, с форматами MXFP8, MXFP6 и MXFP4, а также собственный высокоточный формат NVFP4. Это расширение позволило пользователям гибко балансировать между точностью и производительностью, что особенно важно при масштабировании крупных нейросетевых моделей и проведении инференса. Важным моментом эволюции стало постепенное снижение точности и увеличение числа низкоразрядных форматов — с 16 бит в Volta уже на 4 бита в Blackwell.
Это связано с высокой терпимостью глубоких нейросетей к низкой точности, что позволяет увеличивать пропускную способность при снижении энергопотребления и занимаемой области кристалла. Кроме того, Nvidia ввела поддержку структурированной разреженности, начиная с Ampere, которая теоретически позволяет вдвое ускорить вычисления, исключая определённые весовые элементы в матрицах. Однако на практике данный подход пока далёк от полной реализации потенциала из-за сложности сохранения точности и неидеальной поддержки со стороны драйверов и библиотек. С точки зрения архитектурной тенденции, Nvidia прибегла к увеличению размеров самих тензорных ядер вместе с ростом их количества, что стало логичным ответом на специфику вычислений с матрицами, где объём работы растёт кубически, а движение данных — квадратично. Это увеличение размеров блоков и оптимизация работы с памятью помогает повысить арифметическую интенсивность, снижая задержки и энергоёмкость.
Размер общей памяти на SM вырос почти с каждой новой архитектурой, что связано с необходимостью поддерживать высокую пропускную способность тензорных ядер. Регистровый файл при этом оставался примерно одного размера до Hopper, тогда как механизмы подготовки данных и промежуточного хранения всё более смещались в сторону разделяемой и специализированной памяти. Эволюция тензорных ядер Nvidia идёт рука об руку с развитием программного стека CUDA и с открытием новых инструкций для программирования асинхронных операций, улучшенной синхронизации и большей гибкости управления вычислительными ресурсами. Такие возможности позволяют разработчикам и исследователям настраивать работу GPU для максимального увеличения производительности в специфичных задачах машинного обучения и других вычислительных сценариях. В конечном итоге, эволюция от Volta к Blackwell — это путь повышения эффективности, масштабируемости и гибкости вычислений тензорных операций.
Каждое поколение вносит значимые нововведения, позволяющие переходить на новый уровень технических возможностей, необходимый для обработки всё более сложных и масштабных моделей искусственного интеллекта. Высокая производительность, снижение энергозатрат и улучшенная поддержка разнообразных форматов данных делают тензорные ядра Nvidia фундаментальным элементом современных дата-центров и исследовательских платформ. Сложность архитектуры и программирования требуется для работы с такими технологиями непрерывно возрастает, но вместе с этим публикуется всё больше подробных материалов и инструментов, что позволяет исследователям и инженерам максимально эффективно использовать потенциал тензорных ядер. Таким образом, развитие Nvidia продолжит играть ключевую роль в формировании будущего вычислительной индустрии и искусственного интеллекта в целом.