Почему все используют видеокарты Nvidia
Сейчас ИИ переживает большой хайп.
Компании ринулись обучать и внедрять нейронные сети, не смотря на большие затраты на обучение и инференс:
- Для текстов — огромные трансформеры: ChatGpt, GPT 3/4, YandexGPT, Giga Chat…
- Для изображений — диффузионные нейросети: Stable diffusion, Dalle 3, Кандинский, Шедеврум…
Все эти модели обучены на видеокартах Nvidia, у которой доля рынка видеокарт для вычислений — более 95%. Компании удалось оседлать волну хайпа вокруг больших нейросетей, за счет чего ее известность в мире резко выросла, хотя 2-3 года назад о ней знали в основном только ее клиенты.
Несмотря на политическую напряженность и риски рецессии Nvidia удалось удержать выручку в прошлом году на уровне $27 млрд , а в этом ей прогнозируют рост выше $30 млрд. Растущая выручка ИТ-компании и удержание практически всего рынка видеокарт — следствие развитой экосистемы ПО и аппаратного обеспечения для обучения и инференса моделей и растущего рынка ИИ.
Как растет популярность продуктов Nvidia
- Количество разработчиков, работающих с продуктами Nvidia, увеличилось более чем в 2 раза, аналогично за 3 года увеличилось количество установок CUDA (SDK для работы с видеокартами).
- В 2.5 раза выросло количество стартапов, функционирующих с использованием продуктов Nvidia, — с 6 до 15 тысяч.
При этом исследователи придумывают методы, которые могут обучать модели со все большим количеством параметров, а это тоже приводит к увеличению потребности в картах.
Сейчас все больше разговоров, что дальше количество параметров расти не будет, так как это не целесообразно по экономическим причинам — скорость одного вычислителя не успевает за ростом объема вычислений. Это верно и для GPU. Хотя в отчетах Nvidia GPU позиционируется как продолжитель закона Мура, это не совсем верно — они подходят не под все классы задач.
Да и чтобы достичь хорошей утилизации карты еще надо постараться. Как и с большинством ускорителей — на деле проблемы возникают не с вычислительной способностью, а с пропускной способностью и задержками внутренней памяти.
Ключевая роль экосистемности
Nvidia делает лучшие в мире видеокарты и почти все ИИ модели обучаются именно на них. Но это не все. Компания успела построить целую экосистему продуктов для ИИ помимо GPU.
- CPU — теперь Nvidia производит и CPU на архитектуре ARM (тут рассказал почему это круто) .
- Сервера. Свои DGX и лицензируемые вендорам HGX.
- Интерконнект. Чтобы эффективно учить модели на большом числе серверов — нужно уметь эффективно пересылать данные между ними. В большинстве кластеров для этого используется Infiniband — это открытый стандарт, при этом его разработкой занимается только компания Mellanox. А ей владеет Nvidia. При этом очевиден растущий интерес компаний к альтернативе Интерконнекта — RoCE и начало его тестового использования в кластерах.
- Софт. Иметь эффективное железо не достаточно, нужно чтобы модели на нем запускались. Nvidia построила экосистему удобных инструментов. И даже начала учить нейросети и выкладывать в open source.
Основные разработки по софту
Инфраструктруа и вычисления:
- TensorRT— оптимизатор и рантайм для инференса нейросетей
- Nvidia Triton— сервер инференса для bare metal с балансировкой запросов и поддержкой множество бекендов для вычислений (в том числе python, onnx, tensorrt)
- DeepStream — SDK для обработки ведеопотоков. С закрытым исходным кодом и большим функционалом
Модели:
- Megatron-LM— фреймворк для обучения больших LLM. Его модификациями пользуются большинство
- NeMo— фреймворк для распознавания и генерации речи и обработки текстов
- Большая часть моделей и фреймворков в open source. Да, они тоже пишутся без кросплатформенности и оглядки на другие вычислители
Решения Nvidia имеют большой спектр применимости:
И благодаря такой экосистеме Nvidia добивается очень хороших финансовых результатов
Разработанное Nvidia програмное обеспечение обычно не поддерживает ускорители других производителей и становится одним из ключевых преимуществ компании
Такую привязку можно обойти (хотя это не всегда легко) и самым эффективным на мой взгляд способом является конвертация через ONNX, об этом расказывал на канале.
Выводы
Основная причина роста Nvidia и хайпа вокруг нее — резкое повышении интереса к большим нейросетям для генерации изображений и текста и де факто отсутствие сильных предложений на рынке ускорителей для обучения нейросетей
Однако для этого была проделана большая работа по созданию вычислителей разных форм факторов и экосистемы фреймворков инфраструктуры и моделей, которые эффективно работают с видеокартами Nvidia.