Видеокарточный домик: как Nvidia стала главным бенефициаром нового бума ИИ
В начале 2000-х, с развитием персональных компьютеров, в IT-мире сложилась определенная картинка: за сложные задачи и программирование отвечали центральные процессоры. Например, до 2009 года в первой десятке самых мощных суперкомпьютеров были только модели с центральными процессорами. Графические ускорители (видеокарты) тем временем использовались только для отрисовки картинки.
Все изменилось в середине 2000-х благодаря двум ключевым событиям.
Во-первых, Nvidia и ее конкурент — AMD представили чипы со специальными блоками, способными, например, рассчитать, как луч света будет рассеиваться по поверхности. Однако это было все еще ориентировано на графику, а не на сложные вычисления.
Для использования видеокарт Nvidia программистам приходилось, по сути, переучиваться. Они оказывались в ситуации саксофонистов, которых попросили сыграть на шотландской волынке. Оба инструмента духовые, но их устройство и принципы игры на них отличаются так же, как отличалась разработка под процессор и видеокарту в начале 2000-х.
Во-вторых, в 2004 году важные изменения принесла конференция SIGGRAPH, где исследователи из Стэнфорда представили BrookGPU — инструмент, переводящий код под центральные процессоры в код для видеокарт. Это решило основную проблему — программистам больше не нужно было изучать новые подходы для работы с видеокартами.
BrookGPU сделал вычисления на графических ускорителях популярнее. Однако из-за закрытости информации от Nvidia и AMD не было гарантий, что код сработает на всех моделях ускорителей. Так BrookGPU долгое время оставался лишь примером нового направления и инструментом для энтузиастов.
В 2007 году Nvidia запустила CUDA (Compute Unified Device Architecture) — платформу, позволяющую напрямую управлять ресурсами видеокарты, решая проблемы, подобные тем, что были у BrookGPU.
С CUDA начался новый виток в использовании видеокарт для вычислений. Так, расчет физики взрывов и огня для кино, который ранее занимал дни, видеокарты теперь могли сделать гораздо быстрее. Nvidia активно сотрудничала с разработчиками, предлагая подробную документацию и продвигая CUDA.
В том же 2007 году была представлена библиотека Theano для нейросетей, которая позволила обучать последние с использованием видеокарт. Nvidia не останавливалась на достигнутом, расширяя поддержку CUDA и среди других инструментов. Это привело к значительному прогрессу: если в 2006 году нейросети на видеокартах работали в четыре раза быстрее, чем на процессорах, то к 2011 году — уже в 60 раз.
Спустя год Алекс Крижевский совместно с Ильей Суцкевером (да-да, тем самым сооснователем OpenAI, который, впрочем, совсем недавно покинул компанию) и Джеффри Хинтоном представили нейросеть AlexNet, которая победила в соревновании по распознаванию изображений — ImageNet 2012.
В 2013 году, через полгода после появления AlexNet, Дженсен Хуанг разослал всем сотрудникам письмо, что Nvidia больше не графическая компания и все силы должны быть брошены на развитие машинного обучения. Успехи в разработке нейросетей побудили Nvidia инвестировать в создание новых инструментов для разработчиков. В 2014 году было добавлено расширение cuDNN к CUDA, которое значительно ускорило обучение нейросетей.
В 2016 году Nvidia предложила новую архитектуру ускорителей Pascal, увеличив скорость обучения нейросетей в 12 раз.
В то же время в AMD сделали ставку на Open Source, аналог CUDA — OpenCL. Зачастую Open Source позволяет достигать успехов, объединяя сообщество, но в этом случае OpenCL не мог предоставить ту же производительность и качество исполнения, что и CUDA.
Под натиском Nvidia сдавались постепенно все техногиганты. Google добавила поддержку платформы CUDA в свои разработки и инструменты, хотя и планирует начать разработку собственных чипов. Даже Apple, которая отказалась от чужих разработок в своих iPhone и MacBook, закупает ускорители Nvidia для обучения собственных нейросетей.
Сцена, которая облетела мировые СМИ в апреле 2024 года, повторяет август 2016 года. Тогда Дженсен Хуанг лично привез генеральному директору OpenAI новейшую на тот момент разработку DGX-1 — предка нынешнего DGX H200. Правда, встречал Дженсена Хуанга совсем другой генеральный директор — Илон Маск. Личный визит Хуанга в OpenAI еще в 2016 году, задолго до массовой популярности разработок компании, также отражает и то, что Nvidia чутко следила и продолжает следить за тенденциями.
Вот так Nvidia стала «любимчиком» среди ML-разработчиков, потому что сумела обеспечить их двумя основными инструментами: не только производительными ускорителями, но и нужным софтом, заточенным под эти ускорители.
Мнение редакции может не совпадать с точкой зрения автора