Почему все используют видеокарты Nvidia

Сейчас ИИ переживает большой хайп.

Компании ринулись обучать и внедрять нейронные сети, не смотря на большие затраты на обучение и инференс:

  • Для текстов — огромные трансформеры: ChatGpt, GPT 3/4, YandexGPT, Giga Chat…
  • Для изображений — диффузионные нейросети: Stable diffusion, Dalle 3, Кандинский, Шедеврум…

Все эти модели обучены на видеокартах Nvidia, у которой доля рынка видеокарт для вычислений — более 95%. Компании удалось оседлать волну хайпа вокруг больших нейросетей, за счет чего ее известность в мире резко выросла, хотя 2-3 года назад о ней знали в основном только ее клиенты.

Несмотря на политическую напряженность и риски рецессии Nvidia удалось удержать выручку в прошлом году на уровне $27 млрд , а в этом ей прогнозируют рост выше $30 млрд. Растущая выручка ИТ-компании и удержание практически всего рынка видеокарт — следствие развитой экосистемы ПО и аппаратного обеспечения для обучения и инференса моделей и растущего рынка ИИ.

Почему все используют видеокарты Nvidia

Как растет популярность продуктов Nvidia

  1. Количество разработчиков, работающих с продуктами Nvidia, увеличилось более чем в 2 раза, аналогично за 3 года увеличилось количество установок CUDA (SDK для работы с видеокартами).
  2. В 2.5 раза выросло количество стартапов, функционирующих с использованием продуктов Nvidia, — с 6 до 15 тысяч.
Рост количества стартапов и использования GPU (в частности Nvidia)
Рост количества стартапов и использования GPU (в частности Nvidia)

При этом исследователи придумывают методы, которые могут обучать модели со все большим количеством параметров, а это тоже приводит к увеличению потребности в картах.

Сейчас все больше разговоров, что дальше количество параметров расти не будет, так как это не целесообразно по экономическим причинам — скорость одного вычислителя не успевает за ростом объема вычислений. Это верно и для GPU. Хотя в отчетах Nvidia GPU позиционируется как продолжитель закона Мура, это не совсем верно — они подходят не под все классы задач.

Да и чтобы достичь хорошей утилизации карты еще надо постараться. Как и с большинством ускорителей — на деле проблемы возникают не с вычислительной способностью, а с пропускной способностью и задержками внутренней памяти.

Ключевая роль экосистемности

Nvidia делает лучшие в мире видеокарты и почти все ИИ модели обучаются именно на них. Но это не все. Компания успела построить целую экосистему продуктов для ИИ помимо GPU.

Экосистема Nvidia. Каждый блок заслуживает отдельного обзора
Экосистема Nvidia. Каждый блок заслуживает отдельного обзора
  1. CPU — теперь Nvidia производит и CPU на архитектуре ARM (тут рассказал почему это круто) .
  2. Сервера. Свои DGX и лицензируемые вендорам HGX.
  3. Интерконнект. Чтобы эффективно учить модели на большом числе серверов — нужно уметь эффективно пересылать данные между ними. В большинстве кластеров для этого используется Infiniband — это открытый стандарт, при этом его разработкой занимается только компания Mellanox. А ей владеет Nvidia. При этом очевиден растущий интерес компаний к альтернативе Интерконнекта — RoCE и начало его тестового использования в кластерах.
  4. Софт. Иметь эффективное железо не достаточно, нужно чтобы модели на нем запускались. Nvidia построила экосистему удобных инструментов. И даже начала учить нейросети и выкладывать в open source.

Основные разработки по софту

Инфраструктруа и вычисления:

  • TensorRT— оптимизатор и рантайм для инференса нейросетей
  • Nvidia Triton— сервер инференса для bare metal с балансировкой запросов и поддержкой множество бекендов для вычислений (в том числе python, onnx, tensorrt)
  • DeepStream — SDK для обработки ведеопотоков. С закрытым исходным кодом и большим функционалом

Модели:

  • Megatron-LM— фреймворк для обучения больших LLM. Его модификациями пользуются большинство
  • NeMo— фреймворк для распознавания и генерации речи и обработки текстов
  • Большая часть моделей и фреймворков в open source. Да, они тоже пишутся без кросплатформенности и оглядки на другие вычислители

Решения Nvidia имеют большой спектр применимости:

Применение технологий Nvidia
Применение технологий Nvidia

И благодаря такой экосистеме Nvidia добивается очень хороших финансовых результатов

Разработанное Nvidia програмное обеспечение обычно не поддерживает ускорители других производителей и становится одним из ключевых преимуществ компании

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

Выводы

Основная причина роста Nvidia и хайпа вокруг нее — резкое повышении интереса к большим нейросетям для генерации изображений и текста и де факто отсутствие сильных предложений на рынке ускорителей для обучения нейросетей

Однако для этого была проделана большая работа по созданию вычислителей разных форм факторов и экосистемы фреймворков инфраструктуры и моделей, которые эффективно работают с видеокартами Nvidia.

22
1 комментарий

упс

Ответить