AI-инструменты для совершенствования разрабатываемых Nvidia продуктов: рассказ ведущего специалиста

Для весенней конференции GTC стал доброй традицией рассказ об исследованиях и разработках Nvidia главного научного сотрудника и старшего вице-президента по исследованиям Билла Дэлли. Он поделился тем, как устроен отдел исследований и разработок Nvidia, а также немного рассказал о текущих приоритетах. В этом году Дэлли в основном занимался AI-инструментами, которые Nvidia и разрабатывает, и использует для совершенствования собственных продуктов. Например, Nvidia начала использовать ИИ для эффективного улучшения и совершенствования процесса проектирования GPU. «Мы — это группа примерно из трёхсот людей, пытающихся предсказать будущее продуктов Nvidia», — рассказал в своём докладе Дэлли. «Мы похожи на мощные прожекторы, освещающие объекты вдалеке. Группа разбита на две части. Группа „предложения“ создаёт технологии, обеспечивающие производство GPU.

Билл Дэлли из Nvidia в своей домашней «мастерской»

Она совершенствует сами GPU, начиная от схем и методологий проектирования VLSI, до архитектурных сетей, систем программирования и систем хранения, задействованных в GPU и в системах GPU».

«Группа „спроса“ отдела исследований Nvidia пытается стимулировать спрос на продукты Nvidia, разрабатывая программные системы и техники, для качественной работы которых нужны GPU. У нас есть три группы исследований графики, потому что мы постоянно двигаем вперёд прогресс в компьютерной графике. У нас есть пять групп AI, потому что использование GPU для работы ИИ сейчас очень актуально и становится всё актуальнее. Также у нас есть группы, занимающиеся робототехникой и беспилотными автомобилями. И есть множество лабораторий, ориентированных на географические регионы, например, в Торонто и Тель-Авиве».

Время от времени Nvidia запускает инициативу Moonshot, объединяющую усилия множества групп — в процессе одной из таких инициатив, например, появилась технология трассировки лучей в реальном времени.

Как обычно, в докладе Дэлли частично пересказывал прошлогоднюю информацию, но были и новые данные. Размер группы увеличился (в 2019 году она состояла из 175 человек). Закономерно усилилась разработка систем беспилотного вождения и робототехники. По словам Дэлли, приблизительно год назад Nvidia взяла на работу Марко Павоне из Стэнфордского университета для руководства новой группой исследований беспилотного транспорта. Билл не особо распространялся о работе по проектированию CPU, которая, без сомнения, тоже активизировались.

Ниже представлены выдержки их доклада Дэлли об увеличении объёмов использования ИИ в проектировании чипов.

1. Карта падения напряжения

«Для нас, специалистов в ИИ, естественно пытаться использовать этот ИИ для проектирования более совершенных чипов. Мы реализуем это двумя путями. Первый и наиболее очевидный — можно взять имеющиеся инструменты компьютерного проектирования [и встроить в них ИИ]. Например, у нас есть инструмент, получающий карту использования питания в наших GPU и прогнозирующий, насколько далеко упадёт напряжение. Это называется активным падением напряжения (IR drop). Работа этого инструмента в обычном CAD занимает три часа», — говорит Дэлли.

«Поскольку это итеративный процесс, он становится очень проблемным для нас. Вместо этого мы хотим обучить ИИ-модель, получающую те же данные; мы выполнили несколько итераций проектирования, после чего, по сути, можем передавать модели карту питания. В результате время вычислений снизилось до трёх секунд. Разумеется, если включить сюда время извлечения признаков, то в сумме получится 18 минут. И мы можем очень быстро получать результаты. Кроме того, вместо свёрточной нейросети мы используем графовую нейросеть, чтобы оценить, насколько часто переключаются разные узлы в цепи; от этого зависит потребление питания в предыдущем примере. Мы можем получать гораздо более точные оценки энергопотребления, чем при использовании обычных инструментов, затрачивая на это гораздо меньше времени», — рассказывает Дэлли.

2. Прогнозирование паразитных характеристик

«Этот пример мне особенно нравится, ведь я много лет работал проектировщиком цепей: с помощью графовых нейросетей мы прогнозируем паразитные характеристики. Раньше проектирование цепей было очень итеративным процессом — ты чертишь схему, как слева на рисунке с двумя транзисторами. Но ты не знаешь, какие характеристики она будет иметь, пока проектировщик топологии не создаст на основе этой схемы топологию, получит паразитные характеристики, и только потом можно будет выполнять симуляции цепи и выяснять, соответствуют ли они спецификациям», — замечает Дэлли.

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

3. Проблемы размещения и трассировки

«Также мы можем прогнозировать узкие участки при трассировке; это критически важно для топологии наших чипов. При обычном процессе у нас имеется таблица соединений, которая подвергается процессу размещения и трассировки; он может быть достаточно долгим и часто занимает несколько дней. И только после этого мы можем выявить узкие места, выяснив, что текущее размещение элементов не является адекватным. Нам приходится рефакторить топологию и размещать макросы иначе, чтобы избежать появления красных областей (см. слайд ниже), где проходит слишком много проводников и образуется своеобразная „дорожная пробка“ для битов. Теперь же мы можем не выполнять процесс размещения и трассировки, достаточно взять эти таблицы соединений и с помощью графовой нейросети спрогнозировать места образования „пробок“ с достаточно точными результатами. Они неидеальны, но выявляют проблемные области, после этого мы можем отреагировать на это и выполнять такие итерации очень быстро, без необходимости полного процесса размещения и трассировки», — рассказывает Билл.

4. Автоматизация миграции стандартных ячеек

«Все описанные выше методики используют ИИ, чтобы подвергать критике проектные решения людей. Однако ещё более удивительной функцией является использование ИИ в самом проектировании. Я покажу это на двух примерах. Первый — это система, которую мы называем NVCell, в ней используется сочетание симуляции отжига и обучения с подкреплением для проектирования нашей библиотеки стандартных ячеек. Каждый раз, когда мы создаём новую технологию, допустим, переходим с семи нанометров на пять, у нас есть библиотека ячеек. Ячейкой может быть вентиль AND, вентиль OR, полный сумматор. У нас есть много тысяч таких ячеек, которые нужно перепроектировать под новую технологию с учётом очень сложного набора правил».

«По сути, мы делаем это, используя для размещения транзисторов обучение с подкреплением. Но что ещё важнее, после их размещения возникает множество нарушений правил проектирования, и нейросеть „проходит“ их подобно видеоигре. Как раз с этим особенно хорошо справляется обучение с подкреплением. Один из отличных примеров этого является использование обучения с подкреплением для видеоигр Atari. Итак, это похоже на видеоигру Atari, но эта видеоигра заключается в устранении нарушений правил проектирования в стандартной ячейке. Устраняя эти нарушения при помощи обучения с подкреплением, мы, по сути, можем полностью выполнить проектирование стандартных ячеек. На слайде ниже видно, что 92% элементов библиотеки ячеек удалось создать без нарушения правил проектирования и правил построения схем. При этом 12% из них меньше, чем ячейки, спроектированные человеком, и в целом по параметру сложности ячеек этот инструмент справляется так же, как живой проектировщик, или даже лучше».

«Это решает две наши задачи. Во-первых, мы сильно экономим на человеческом труде. Группе примерно из десяти человек на портирование библиотеки новой технологии требовалась добрая часть года. Теперь мы можем делать это при помощи пары GPU, работающих в течение нескольких дней. После чего люди могут доработать оставшиеся 8% ячеек, которые не удалось создать автоматически. И во многих случаях спроектированный нейросетью дизайн оказывается более совершенным. То есть мы и экономим на труде, и получаем более качественный результат, чем у людей».

Автор: @PatientZero
Источник: https://habr.com/

Понравилась статья? Тогда поддержите нас, поделитесь с друзьями и заглядывайте по рекламным ссылкам!