Как CUDA изменила судьбу NVIDIA

Дженсен Хуан вкладывался в CUDA (Compute Unified Device Architecture), когда большинство покупателей видеокарт еще не нуждались в ней. Эта программная платформа позволяла использовать графические процессоры не только для игр и графики, но и для ускорения параллельных вычислений. Поддержка новых возможностей увеличивала себестоимость чипов, а акционеры ждали повышения прибыльности. Через несколько лет ставка помогла NVIDIA занять ключевое место в развитии глубокого обучения — обучения нейросетей.

Мощности видеокарт мешал программный барьер

В начале 2000-х графические процессоры (GPU) уже умели быстро выполнять множество однотипных операций параллельно. Такая архитектура подходила и для научных расчетов: например, при умножении матриц можно одновременно вычислять разные элементы результата.

Но доступ к этой мощности был устроен вокруг графики. Исследователям приходилось записывать числа в текстуры и запускать вычисления командами отрисовки. Чтобы решить математическую задачу, нужно было сначала представить ее как обработку изображения, практически треугольников. [1]

Одним из тех, кто пытался убрать этот барьер, был Иэн Бак из Стэнфорда. В 2004 году его команда представила Brook for GPUs: систему, позволяющую описывать параллельные вычисления с помощью расширений языка C. В том же году Бак присоединился к NVIDIA, где продолжил эту работу. [2]

CUDA открыла GPU для разработчиков

Следующим шагом стала платформа CUDA, представленная NVIDIA в 2006 году. В феврале 2007-го компания выпустила публичную бета-версию инструментов разработки. Программисты получили способ описывать параллельные вычисления, компилятор для преобразования кода в исполняемую программу и средства управления памятью и запуском задач на GPU. [3]. [4] 

Теперь разработчик мог написать функцию на C с расширениями CUDA и запустить ее одновременно для множества элементов массива. Центральный процессор управлял приложением, а GPU выполнял подходящие для ускорения участки работы. Распределять вычисления и учитывать особенности памяти по-прежнему требовалось, но маскировать задачу под отрисовку больше не было нужно.

Чтобы платформой начали пользоваться, Хуан сделал поддержку CUDA частью массовых видеокарт GeForce используемых для компьютерной графики в видеоиграх. Исследователи получали доступ к ней через игровое оборудование. Одновременно NVIDIA работала с университетами и готовила учебные материалы. Компания создавала будущий рынок сразу с двух сторон: поставляла совместимые чипы и обучала людей писать для них программы. Однако массового спроса на такие программы еще не было: разработчикам еще предстояло найти применение новым возможностям GPU. [5]

Ставка на будущее снижала прибыльность

У массового распространения CUDA была цена. Большинство покупателей выбирали видеокарту ради игр и не собирались доплачивать за научные вычисления. По словам Хуана, дополнительные аппаратные возможности увеличивали затраты и снижали валовую маржу — долю выручки, остающуюся после вычета себестоимости. [6]

Позднее он вспоминал:

«Наши акционеры скептически относились к CUDA и предпочитали, чтобы мы повышали прибыльность». [7]

Стратегия требовала терпения: расходы NVIDIA несла сразу, а спрос зависел от того, какие применения найдут сторонние разработчики. И оно нашлось, одним из самых первых значимых прорывов в использовании CUDA стали исследования в области распознавания изображений.

AlexNet показала возможности CUDA

В исследовательской группе Джеффри Хинтона в Университете Торонто GPU уже использовали для обучения нейросетей, в том числе для распознавания речи. Алекс Крижевский и Илья Суцкевер занялись распознаванием изображений с помощью сверточных нейросетей. Такая сеть применяет к разным участкам снимка математические фильтры, которые помогают обнаруживать значимые признаки объектов. Во время обучения ее ответы сравнивают с правильными, а алгоритм корректирует числовые параметры, влияющие на результат. Цикл повторяется на множестве примеров и требует большого объема похожих вычислений, хорошо подходящих для GPU. [8], [9] 

У Крижевского уже был написанный на CUDA код cuda-convnet для обучения таких сетей. Суцкевер предложил применить его к ImageNet — большой базе изображений с разметкой того, что на них изображено. Интересно и то, что на основе этой базы изображений регулярно проводилось соревнование по распознаванию объектов. [10], [11]

Для более масштабной задачи Крижевский добавил в код поддержку нескольких GPU. Работа велась под руководством Джеффри Хинтона и привела к созданию нейросети известной как AlexNet. Компьютер с двумя видеокартами NVIDIA стоял в спальне Крижевского в доме его родителей. [12]

Обучение сети, описанной в научной статье, занимало пять-шесть дней на двух GeForce GTX 580. В 2012 году система на основе AlexNet уверенно победила в соревновании ImageNet: правильная категория изображения отсутствовала среди пяти предложенных ответов в 15,3% случаев против 26,2% у следующего участника. [13].

Вклад CUDA был очень понятным: она позволила оптимизировать вычисления нейросети на GPU. Да точность обеспечивали архитектура сети, методы обучения и данные, но CUDA позволила реализовать всю процедуру обучения с невероятной по тем временам скоростью.

Победа AlexNet убедительно показала технические возможности глубокого обучения. С точки зрения бизнеса, однако, оставался открытым вопрос: насколько большой рынок вырастет из исследовательских результатов? Найти полезные применения, превратить их в продукты и сформировать устойчивый спрос еще предстояло. NVIDIA продолжала вкладываться в CUDA, а научный успех сам по себе не гарантировал, что эти расходы окупятся. По воспоминаниям Хуана, первые применения в научных и инженерных расчетах помогали поддерживать развитие платформы, но долго не приносили ожидаемого масштаба бизнеса. [14].

NVIDIA сохранила курс на CUDA

В 2013 году акционером NVIDIA стал Starboard Value — фонд, известный активным вмешательством в управление компаниями ради повышения стоимости их акций. Как пишет Тэ Ким в книге The Nvidia Way, в NVIDIA опасались, что новый акционер потребует сменить совет директоров и сократить вложения в CUDA, коммерческие перспективы которой еще оставались неопределенными.

Однако до такого конфликта не дошло. Starboard добивался прежде всего обратного выкупа акций — возвращения части средств компании акционерам. NVIDIA объявила о выкупе, ее акции выросли, а к марту 2014 года фонд продал свою долю. Компания продолжила развивать CUDA. Спустя годы, после многократного роста стоимости NVIDIA, глава Starboard Джефф Смит признал: «Нам не стоило выходить из этой инвестиции». [15]

Готовые библиотеки упростили работу с нейросетями

NVIDIA последовательно упрощала работу с нейросетями. В 2014 году компания представила CUDA Deep Neural Network (cuDNN) — библиотеку готовых оптимизированных операций для глубокого обучения. Благодаря ее интеграции с инструментами вроде Caffe исследователь мог задавать структуру сети без самостоятельного написания CUDA-кода для базовых вычислений. [16]

Логику этой стратегии можно описать так: NVIDIA брала на себя все больше работы по ускорению вычислений, чтобы разработчикам было проще экспериментировать с моделями и искать полезные применения. Компания готовила инструменты для рынка, который еще продолжал формироваться.

NVIDIA предложила готовые системы для обучения

Упрощение затронуло и оборудование. В 2016 году NVIDIA представила DGX-1: готовый сервер с восемью ускорителями Tesla P100, соединениями NVLink для обмена данными между GPU и программами для глубокого обучения. Команды получали согласованную вычислительную систему с инструментами экосистемы CUDA, включая cuDNN, и могли быстрее переходить к экспериментам. [17]

В августе Хуан лично передал первый серийный DGX-1 в OpenAI, которая тогда была некоммерческой исследовательской организацией. Среди ее исследователей был Суцкевер: участник проекта AlexNet теперь получал готовую систему для новых экспериментов с нейросетями. [18]

Volta: новое поколение GPU для искусственного интеллекта

В мае 2017 года NVIDIA представила Volta — седьмое поколение архитектуры GPU, пришедшее на смену Pascal. Архитектура определяет внутреннее устройство процессора: его вычислительные блоки, работу с памятью и обмен данными. Первым ускорителем на ее основе стал Tesla V100 для дата-центров. По сообщению NVIDIA, над Volta тысячи инженеров работали более трех лет, учитывая растущие потребности глубокого обучения и научных расчетов. [19].

В V100 сочетались 5120 обычных CUDA-ядер и 640 новых тензорных ядер, специализировавшихся на матричных вычислениях. NVIDIA также переработала вычислительные блоки и управление параллельными потоками. Быстрая память HBM2 обеспечивала пропускную способность до 900 ГБ/с против 732 ГБ/с у P100 предыдущего поколения. Это помогало снабжать вычислительные блоки данными, необходимыми для работы.

Для объединения ускорителей использовалось второе поколение NVLink: суммарная пропускная способность соединений одного GPU выросла со 160 до 300 ГБ/с. Улучшения охватывали сразу три стороны обучения больших нейросетей: выполнение вычислений, доступ к данным и обмен между GPU. На V100 построили обновленную систему DGX-1 с восемью ускорителями. [20]

Поддержку тензорных ядер добавили в CUDA 9 и библиотеки cuBLAS и cuDNN. Так NVIDIA связывала развитие оборудования с уже освоенными программными инструментами: разработчики получали доступ к новым аппаратным возможностям через готовые функции библиотек. [21]

Трансформеры открыли путь к большим языковым моделям

Ключевым поворотом для дальнейшего развития нейросетей стало появление трансформеров. В том же 2017 году исследователи Google представили Transformer — архитектуру с механизмом внимания, позволяющим учитывать связи между частями входных данных. При обучении она могла параллельно обрабатывать позиции последовательности. Это снимало существенное ограничение последовательных вычислений в распространенных тогда рекуррентных сетях и позволяло эффективнее использовать GPU. Значительная часть работы трансформера сводилась к операциям над матрицами (вычислениям), для которых ускорители и библиотеки NVIDIA уже идеально подходили. Первые модели из статьи Attention Is All You Need обучались на восьми P100. [21]. [22]

Трансформеры открыли путь к новому масштабу языковых моделей. Их можно было предварительно обучать на больших массивах текста, а затем применять к разным задачам. Для NVIDIA это создавало особенно благоприятное сочетание: перспективная архитектура требовала огромного количества вычислений, а компания уже много лет готовила оборудование и программную среду для их ускорения.

От первых GPT к массовому спросу на вычисления

В 2018 году OpenAI применила трансформер в генеративной предобученной модели (Generative Pre-trained Transformer, GPT). Модель сначала училась предсказывать продолжение текста на большом наборе книг, затем ее адаптировали к конкретным языковым задачам. Предварительное обучение занимало месяц на восьми GPU. [23]

Дальнейшее масштабирование потребовало распределять вычисления и саму модель между ускорителями. В 2020 году GPT-3 с 175 млрд параметров — числовых значений, настраиваемых при обучении, — обучали на V100 в кластере Microsoft. Авторы распределяли между GPU как вычисления внутри матричных операций, так и слои сети, чтобы уложиться в доступную память. [24]

В ноябре 2022 года OpenAI представила ChatGPT на основе модели семейства GPT-3.5. Развитие трансформеров вышло на уровень сервисов, с которыми пользователи могли взаимодействовать на обычном языке. [25]. К 2024 году NVIDIA прямо связывала рост своего бизнеса для дата-центров с высоким спросом на обучение и применение генеративных моделей со стороны облачных провайдеров и компаний разных отраслей. [26]

К этому моменту NVIDIA могла предложить разработчикам целую вычислительную среду: ускорители, готовые библиотеки, поддержку во фреймворках и системы для совместной работы множества GPU. Командам, увидевшим перспективу в новых моделях, было проще начать с уже подготовленных инструментов. Многолетняя работа над CUDA получила применение в быстро растущем рынке.

Как CUDA изменила судьбу NVIDIA и закрепила ее преимущество

Компания годами развивала платформу, массовая востребованность которой оставалась неопределенной, и помогала разработчикам искать для нее задачи. Глубокое обучение, а затем и трансформеры превратили эту подготовку в стратегическое преимущество: к моменту резкого роста спроса на нейросети у NVIDIA уже были совместимое оборудование, программные инструменты и сообщество специалистов, умеющих с ними работать.

Да у конкурентов появились собственные ускорители и программные платформы, включая экосистему AMD ROCm. Однако привлечь пользователей CUDA означает преодолеть накопленные затраты на переход: перенести код, заменить зависимости, проверить корректность и заново добиться нужной производительности. Даже средства автоматического переноса не устраняют всю эту работу. [27]

Поэтому преимущество NVIDIA продолжает наращиваться. Разработчики сохраняют вложения в знакомую среду, а компания развивает чипы и программное обеспечение, добавляя новые возможности в ту же экосистему. Конкурентам приходится соперничать со всей этой системой и убеждать команды, что переход оправдает затраты. Инструмент, созданный задолго до массового спроса, стал одной из главных причин, по которым этот спрос достался NVIDIA. Именно так CUDA изменила судьбу NVIDIA. [28]

Дата обновления 11.11.2026
Мы используем файлы cookie и сервисы веб-аналитики для обеспечения работы сайта, анализа посещаемости и улучшения качества наших услуг.
Продолжая использовать сайт, вы соглашаетесь с Политикой конфиденциальности и даете согласие на обработку cookie-файлов и технических данных.