- BrainTools - https://www.braintools.ru -

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 1

Nvidia давно вышла за пределы игровых миров — сегодня её технологии формируют будущее ИИ, научных исследований, связи и многого другого. Но как компания, начавшая с графики, стала флагманом искусственного интеллекта [1]? В интервью для Computerphile (25.03.2025) Хуанг рассказывает, как закон Амдала уживается с тензорными ядрами, а CUDA из инструмента разработчика превратилась в основу для преобразования индустрий. Это интервью о процессе, в котором технологии развиваются, пересекаются и возвращаются туда, с чего начинали.


Шон Райли: Какой был ваш первый компьютер?

Дженсен Хуанг: Это был Apple-2, если я правильно помню. Хотя, наверное, это мой второй компьютер — первый был телетайп, подключённый к мейнфрейму.

Шон Райли: Любимое сочетание клавиш?

Дженсен Хуанг: Думаю, скажу… WASD.

Шон Райли: Мы тут все геймеры. Когда программируете, выбираете табы или пробелы?

Дженсен Хуанг: Определённо табы, я люблю табы.

Шон Райли: Какой ваш любимый язык программирования?

Дженсен Хуанг: Больше всего времени я провёл с Fortran и, наверное, с Pascal. Но если говорить о фаворите, думаю, это AWK.

Шон Райли: Ого! Вы не первый, кто так говорит. AWK уже упоминали раньше, рад снова это услышать. А какой язык вам меньше всего по душе?

Дженсен Хуанг: Э‑э… C++. Именно поэтому те, кто в нём действительно мастер, — просто невероятные люди.

Брайан Керниган (чья фамилия — буква К в названии AWK): «Если задуматься о том, на чём я программирую чаще всего в повседневной работе, то, пожалуй, это AWK. Но для задач, где возможностей AWK не хватает или он не справляется с большими объёмами, я обычно беру Python. А дальше — как карта ляжет»

Брайан Керниган (чья фамилия — буква К в названии AWK): «Если задуматься о том, на чём я программирую чаще всего в повседневной работе, то, пожалуй, это AWK. Но для задач, где возможностей AWK не хватает или он не справляется с большими объёмами, я обычно беру Python. А дальше — как карта ляжет»

Шон Райли: Какая у вас была первая компьютерная игра?

Дженсен Хуанг: О боже мой… Кажется, это был Asteroid.

Шон Райли: Птичка рассказала мне, что одно из ваших увлечений — читать научные статьи. Что вы там ищете?

Дженсен Хуанг: Они сложные, конечно, в большинстве случаев, но даже простой просмотр всегда чему‑то учит. Последняя, которую я читал, — это, естественно, статья про DeepSeek‑R1, где обучение [2] с подкреплением [3] они проводили без файнтюнинга с надзором и всё же добились отличных результатов. Сейчас даже не надо читать такие статьи: я просто загружаю их в ChatGPT и прошу его прочитать за меня.

Шон Райли: Это как раз то, что я хотел сказать. Вы ведь знаете, иногда, разбираясь в старых статьях, можно просто использовать ИИ как инструмент, чтобы собрать всё в сжатой форме.

Протестируй любимые нейросети в BotHub. Регистрируйся по этой специальной ссылке [4] и забирай 100 000 токенов для доступа к любым моделям без ВПН.

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 3

Дженсен Хуанг: Да‑да, для создания краткого обзора. Но кроме этого, задаёшь ему вопросы и в каком‑то смысле разговариваешь с исследователем, что, по‑моему, совершенно гениально. Вот что людям пока непривычно… Знаете, когда они используют ИИ для резюмирования или исследований, в конечном счёте у них появляется эксперт в этой теме. Недавно я работал с кремниевой фотоникой, и, когда ты заканчиваешь, у тебя как будто есть кто‑то, с кем можно поговорить на эту тему: о её прошлом, будущем и том, кто за что сейчас отвечает. И по сути, получается, что вы можете задать кучу вопросов, которые даже не лежали на поверхности исследования, вопросов, которые вы и не планировали включать изначально. В итоге вы остаётесь с ИИ, и это потрясающе.

Шон Райли: Но мне интересно — если вернуться на несколько лет назад, тогда были разные типы GPU для разных задач: например, для видеомонтажа я использовал карту Quadro, а для игр — GeForce. Чем отличались эти архитектуры? И как всё изменилось?

Дженсен Хуанг: Одно, что их объединяет, — это CUDA. Однако архитектура вычислений и различные приложения для вычислений могут содержать разные комбинации ресурсов внутри GPU: например, в одной карте может быть больше текстурных блоков, в другой — больше блоков ROP, в третьей — память [5] HBM, а в четвёртой — видеопамять. Если говорить об архитектуре вычислений, одни GPU могут быть лучше в вычислениях с двойной точностью, другие — в работе с графикой, где ключевая роль отведена FP32. Но всё чаще все эти карты используют тензорные ядра, и причина в том, что, будь то компьютерная графика, искусственный интеллект или даже физика, — мы применяем ИИ во всех этих областях. Тензорные ядра становятся всё более значимой частью графики, и, разумеется, они центральный компонент наших GPU для ИИ.

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

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 4

Шон Райли: Они всё ещё делятся на разные типы или, как вы говорите, всё движется к тому, что одна и та же технология используется для создания совершенно разных вещей? Ну например, моделирование физики и другие области — они теперь применяют одни и те же решения?

Дженсен Хуанг: Первая серьёзная развилка появилась, когда мы разделили вычисления с двойной точностью и компьютерную графику, которая работала с очень низкой двойной точностью. Мы всегда стараемся сделать так, чтобы любая программа могла работать на любом GPU, пусть даже и медленнее; совместимость — это базовая обязанность любой хорошей архитектуры. Таким образом, в случае компьютерной графики можно использовать 32-битные числа с плавающей точкой, хотя 64-битные в таком случае будут довольно медленными. А вот в научных вычислениях FP64 выполняются на максимуме возможностей и должны быть настолько быстрыми, насколько это возможно. Это была наша первая развилка.

Вторая возникла, когда мы осознали, что тензорные ядра для ИИ в дата‑центрах становятся критически важными и обработка задач ИИ приобретает всё большее значение. Мы начали добавлять всё больше и больше тензорных процессов, постепенно замедляя развитие FP64. Причина здесь не в том, что FP64 утратили значимость, но в конечном счёте пространство на чипе ограничено, и приходится делать выбор, на что его выделять. Мы пришли к тому, что оптимальный путь — усиленно развивать тензорные ядра, увеличивать использование эмуляции двойной точности и как можно быстрее двигаться вперёд к гибридным подходам: частично принципиальным решениям, частично эмуляции, частично ИИ‑методикам. Эти гибридные подходы намного перспективнее, и мы собираемся двигаться именно в этом направлении.

В случае компьютерной графики процесс изначально ушёл в сторону FP32 и программируемых шейдеров, но потом мы поняли, что ИИ может кардинально всё изменить. Поэтому взяли тензорные ядра, которые использовались у нас в дата‑центрах, и интегрировали их обратно в компьютерную графику.

И вот так складывается своеобразная арка истории: GeForce принесла миру CUDA, а CUDA открыла путь для ИИ; графические процессоры на базе CUDA дали каждому исследователю в области ИИ возможность иметь суперкомпьютер прямо на рабочем столе. CUDA вывела ИИ на новый уровень, но удивительно, что потом ИИ вернулся, чтобы перевернуть всё в GeForce. Получается, он вернулся в дом, который помог ему появиться, и теперь компьютерная графика действительно стала полностью ведомой ИИ.

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 5

Шон Райли: Думаю, справедливо будет сказать, что за последние месяцы темп изменений в области ИИ‑моделей, таких как DeepSeek и Manus, был просто неумолим. Как вы с этим справляетесь? Ведь это действительно бесконечный поток, не так ли? И конечно, на фоне этого вы явно стремительно двигаетесь вперёд с оборудованием, чтобы всех обогнать. Я слышал, что вычисления ускоряются вдвое каждые семь месяцев.

Дженсен Хуанг: Модели действительно становятся вдвое быстрее, объёмы данных также стремительно растут, и это требует ещё большего количества вычислений. Фактически каждый год объём необходимых вычислений мог бы увеличиваться в 10 раз. Поэтому возникает вопрос — не только почему это происходит, но и как за этим успевать.

Если начать с того, как масштабируются вычисления, то была эпоха, когда программное обеспечение поставлялось как готовый продукт: программы упаковывались, записывались на CD‑ROM и продавались в рознице. Такое «упакованное» ПО задавало предел масштабирования компьютеров, регулируемый законом Мура, и всё это ограничивалось физикой полупроводников и архитектурой процессоров. Сначала были микрокоды, потом — конвейеры; конвейеры переросли в суперскалярность; суперскалярность — во внеочередное исполнение; а к этому добавилось множество сложных технологий, которые мы до сих пор применяем для ветвления. Мы искали параллелизм на уровне команд и пытались задействовать его максимально, переходя к векторам. Архитектура процессоров росла так быстро, как могла, но в конечном счёте она могла разгонять программы лишь до скорости, на которую они были запрограммированы. ПО было «упаковано», и на этом всё.

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 6

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

Это позволило ускорить развитие ПО намного быстрее, чем прогнозировал закон Мура, и сейчас мы вышли на уровень, который ещё выше. С ИИ мы можем, например, корректировать точность вычислений — ведь, по сути, алгоритмический подход к нему всё равно статистический. Например, если сложить 1,1 и 1,3, результатом всё равно будет «2 с чем‑то» — в таком случае абсолютная точность большой роли не играет. Методы приближения отлично подходят для ИИ.

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 7

Теперь мы можем улучшать не только архитектуру, но и процесс квантования. Каждый раз, когда мы переходим, например, с FP32 на FP16, а затем на FP8, мы фактически вчетверо увеличиваем объём доступных вычислений, а также в 4 раза снижаем энергопотребление. Мы даже можем изменить саму структуру вычислений: вместо векторных алгоритмов структура становится значительно эффективнее. Мы можем с лёгкостью одновременно выполнять 32, 64 или 128 команд. Именно такая изменяемая структура и называется тензорным ядром. Теперь она идеально подстраивается под природу алгоритма.

Как видите, мы меняем столько граней вычислений одновременно… А теперь представьте наши дата‑центры: как только вы оптимизируете алгоритм для параллельной работы на одном чипе, вы можете масштабировать его на несколько чипов. А если несколько чипов — почему бы и не несколько узлов? Или несколько стоек? Вот так подход к расчётам через параллелизм вышел на масштаб дата‑центров. Мы прошли путь от ограничений одного чипа с «упакованным» ПО к возможностям полной оптимизации: как алгоритма, так и точности, так и параллельных вычислений. И это масштабирование измерений стало просто невероятным.

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 8

За последние десять лет мы увеличили вычислительные масштабы примерно в миллион раз. Закон Мура предусматривал бы рост в 10 раз каждые пять лет, в 100 раз за десять лет, а мы вместо 100 выросли в 1 000 000 раз.

И всё это удивительно, ведь, пока мы делаем вычисления для нейронных сетей всё быстрее и быстрее, сами архитектуры нейросетей постоянно изобретаются заново. Почему это возможно? Потому что многие думают о нейросетях как о фиксированных структурах, где «нейроны» как‑то соединяются между собой, но это совсем не так — нейросеть, по сути, это просто программное обеспечение. Всё, что мы называем «нейросеть», — это лишь форма её выражения.

Шон Райли: Это всё работа модели, верно?

Дженсен Хуанг: Именно. По сути, это просто программное обеспечение, поэтому оно свободно для постоянного переизобретения. То, что изначально было Transformer, на самом деле в большой степени остаётся концепцией, которая эволюционировала в невероятно сложные структуры. Инновации, связанные с этим, и все интересные подходы, позволяющие ускорить процессоры, теперь помогают подгонять Transformer. Здесь используются методы предсказания, обработки нескольких токенов одновременно и различные техники компрессии. Иными словами, даже сам алгоритм Transformer теперь меняется.

Шон Райли: Вы упоминали закон Мура несколько раз. Если я правильно понимаю, изначально он касался того, сколько транзисторов можно разместить на кремнии. Но, как я понял из ваших рассказов, плотность GPU или их ядер сейчас совершенно безумна. Я также слышал, что вы говорили о масштабировании вверх и вширь. Можете пояснить, в чём разница и что это означает?

«Прежде чем идти вширь, нужно вырасти вверх»

«Прежде чем идти вширь, нужно вырасти вверх»

Дженсен Хуанг: Масштабирование вверх означает повышение возможностей компьютера, при этом минимально изменяя программное обеспечение, чтобы оно работало намного быстрее (например, когда изготавливается всё более быстрый микропроцессор). Масштабирование вширь связано с разбиением алгоритма на множество небольших частей, которые можно распределить и распределить задачу по нескольким узлам (например, то, что делает Hadoop).

Масштабирование вверх невероятно сложно: вас ограничивает физика полупроводников, пропускная способность памяти и многое другое. Именно поэтому мы изобрели NVLink, который позволил объединять множество GPU и программировать их так, как будто это один гигантский GPU, — это не совсем то же самое, но близко. Масштабирование вверх дало нам возможность, по сути, создать гигантский GPU, который невозможно было бы произвести только за счёт полупроводниковой физики.

Когда же мы достигли предела масштабирования вверх, мы начали масштабировать вширь, объединяя вместе несколько стоек серверов или ряды компьютеров, — это самый эффективный способ выполнения параллельных операций. Немного похоже на командную работу.

Шон Райли: Без всяких совещаний.

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

Шон Райли: «Мифический человеко‑час».

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 10

Дженсен Хуанг: Масштабирование вверх остаётся в рамках этого «мифического человеко‑часа», потому что на нашем GPU всё уже параллельно. В этом главное изобретение CUDA: возможность программировать так, чтобы приложение с одной стороны могло быть параллелизируемым, а с другой выглядело как единое. Современный подход к масштабированию компьютеров вширь на самом деле берёт начало в программной модели CUDA, мы просто довели его до предела.

Шон Райли: Современные способы параллельной обработки включают процессоры с несколькими ядрами. Но нужны ли нам ещё CPU‑процессоры?

Дженсен Хуанг: Определённо нужны. И причина в законе Амдала [6]: даже при параллелизации на каком‑то этапе часть задачи будет выполняться последовательно.

Допустим, последовательная обработка занимает только 10% от всего вычислительного времени, но эти 10% нужно выполнять шаг за шагом, потому что зависимость такова, что вынуждает это делать. Зато оставшиеся 90% уже можно распараллелить.

Если вы ускорите эти 90% до бесконечности, то всё равно останутся последние 10%. Даже если у вас будет компьютер с бесконечной скоростью, эти 10% останутся. Закон Мура и закон Амдала накладывают ограничения.

Научная работа: «Достижение высокой вычислительной мощности с помощью одноядерного подхода»

Потом, допустим, вы ускорили эти 90% настолько, что они занимают лишь малую долю времени из тех 10%, которые остались; и всё равно это значит, что вы увеличили быстродействие компьютера всего в 5 раз, даже если кажется, что смогли ускорить его в 10 раз. Именно поэтому в параллельном компьютере нужно делать последовательную, однопоточную часть как можно более быстрой. Вот почему мы создаём собственные процессоры — чтобы обеспечить отличную производительность в однопоточном режиме. Всё остальное, что можно распараллелить, мы переносим на CUDA.

Шон Райли: Самое большое простое число было рассчитано на оборудовании Nvidia — этим занимался ваш сотрудник Люк Дюран. Есть ли ещё какие‑то нестандартные применения ваших технологий, которые вы, возможно, даже не предугадали, но которые вас особенно впечатлили?

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

«Я ненавижу C++, но восхищаюсь его мастерами»: Дженсен Хуанг (Nvidia) о том, как ИИ вернулся домой - 12

Одно из моих любимых нестандартных применений — это радиосвязь 5G. Вместо того чтобы использовать особые микросхемы, которые обрабатывают радиосигнал на базовом уровне, мы перенесли эту обработку на CUDA. И удивительное здесь то, что с программно определяемой радиосетью 5G можно наложить сверху ИИ или интегрировать его ещё шире, например управляя трафиком между несколькими радиоустройствами. Сейчас это стало реальностью: радиосети, управляемые ИИ.

Среди других интересных вещей в области коммуникаций — это то, что при применении ИИ к сетям связи вы можете неожиданно сильно увеличить эффективную пропускную способность. А причина в том, что вам не нужно постоянно передавать одни и те же сигналы снова и снова — ведь вы уже знаете, как выглядит тот, с кем вы говорите. Например, при видеоконференции где‑то после двух‑трёх кадров уже не нужно будет закодировать остальные — мы лишь будем предсказывать остальное, основываясь на звуке голоса. Таким образом, с помощью нейросети можно легко восстановить лицо, используя звук.

Автор: dmitrifriend

Источник [8]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/13807

URLs in this post:

[1] интеллекта: http://www.braintools.ru/article/7605

[2] обучение: http://www.braintools.ru/article/5125

[3] подкреплением: http://www.braintools.ru/article/5528

[4] по этой специальной ссылке: https://bothub.chat/?invitedBy=2kHcm9YsqIQstGAXXkRsv

[5] память: http://www.braintools.ru/article/4140

[6] законе Амдала: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%90%D0%BC%D0%B4%D0%B0%D0%BB%D0%B0

[7] Достижение высокой вычислительной мощности с помощью одноядерного подхода: https://www.computer.org/csdl/proceedings-article/afips/1967/50690483/12OmNAMtANR

[8] Источник: https://habr.com/ru/companies/bothub/articles/895682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=895682

www.BrainTools.ru

Рейтинг@Mail.ru
Rambler's Top100