ИИ создает видеокарты, видеокарты управляют ИИ! NVIDIA достигла самовоспроизводства в дизайне чипов?

2022年06月21日

Знакомство с НИОКР NVIDIA стало регулярной частью ежегодной встречи NVIDIA Spring GTC.

Например, Билл Дэлли (Bill Dally), главный научный сотрудник и старший вице-президент по исследованиям, каждый год представляет обзор организации НИОКР NVIDIA и некоторые подробности о текущих приоритетах.

В 2022 году Дэлли сосредоточился на инструментах ИИ, которые NVIDIA разрабатывает и использует для улучшения собственных продуктов.

На самом деле, если с этим согласиться, то это очень умный пример обратного маркетинга: из компании, производящей видеокарты для создания инструментов искусственного интеллекта, NVIDIA превратилась в компанию, где инструменты искусственного интеллекта используются для производства видеокарт.

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

В своей презентации на GTC 2022 Дэлли рассказал об этом так: "Наша команда дизайнеров - это группа из примерно 300 человек, которая пытается более дальновидно подходить к дизайну продуктов NVIDIA. Мы похожи на далекий свет, который пытается осветить то, что находится вдалеке". Команда разделена на две половины.

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

"Секция спроса пытается стимулировать рыночный спрос на продукты NVIDIA, разрабатывая программные системы и технологии, которые должны хорошо работать с видеокартами.

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

"У нас также есть географически ориентированные лаборатории, например, лаборатории ИИ в Торонто и Тель-Авиве".

Иногда NVIDIA забирает часть сотрудников из этих групп для реорганизации проекта в стиле "высадки на Луну", например, один из таких проектов привел к созданию технологии трассировки лучей в реальном времени NVIDIA.


Организационная схема проекта по трассировке лучей

Как всегда, есть совпадения между исследованием 2022 года и докладом Дэлли, сделанным в прошлом году, но есть и новая информация. Например, размер отдела, безусловно, сильно вырос с примерно 175 человек в 2019 году. Несомненно, активизировалась и работа NVIDIA по развитию систем автономного вождения и робототехники. О работе над дизайном процессоров, которая также, несомненно, расширяется, Дэлли сказал немного.

Далее представлена небольшая часть выступления Далли о том, как NVIDIA все активнее использует искусственный интеллект при проектировании чипов.

Построение графика падения напряжения

Далли отметил: "Будучи экспертами в области ИИ, мы, естественно, хотим использовать ИИ для разработки более совершенных чипов".

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

Например, в отделе проектирования графических карт имеется программный инструмент для автоматизированного проектирования, в котором искусственный интеллект в реальном времени отображает место изменения мощности, используемой в графических продуктах NVIDIA GPU, и в реальном времени предсказывает, насколько упадет напряжение в сети.

Типичное падение напряжения рассчитывается путем умножения силы тока на степень падения сопротивления, и для расчета этого значения на традиционном CAD-инструменте потребовалось бы три часа. Поскольку это итеративный процесс, то при постоянном использовании традиционных инструментов объем работы для конструкторского отдела становится очень большим.


Демонстрация концепции

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

Конечно, если учесть время, затраченное на извлечение значений признаков из карты мощности, то это уже 18 минут. В любом случае, это очень быстрый результат по сравнению с обычными результатами.

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

Побочным эффектом стало то, что разработчики NVIDIA смогли получить очень точные оценки мощности схемы видеокарты гораздо быстрее, чем традиционные инструменты, и за очень малую долю времени.

Прогнозирование паразитных компонентов

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

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

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

Затем разработчик возвращался, пересматривал свою схему и снова обращался к макетчику, чтобы тот повторил процесс - очень долгий, итеративный и нечеловечески трудоемкий процесс.


Теперь отдел проектирования видеокарт NVIDIA может обучать нейронные сети предсказывать паразитные компоненты, не заставляя макетчика изготавливать образцы макета, чтобы потом найти недостатки.

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

По словам Далли, ИИ NVIDIA теперь предсказывает эти паразитные устройства очень точно по сравнению с базовыми истинными значениями.

Перегрузка компоновки/проводки

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

В обычном случае разработчик микросхемы делает лист сетки и запускает процесс компоновки и разводки. Обычно этот процесс очень трудоемкий и может занимать несколько дней.

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

Проектировщикам приходится перестраивать его и размещать макросы по-другому, чтобы избежать красных областей (как показано на рисунке ниже). Красная область имеет слишком много пересекающихся линий, проходящих через данную область, как битональный вариант "пробки".


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

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

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

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

Далли привел два примера того, как ИИ может завершать проектирование микросхем.

Первая система называется NVCell, в ней сочетаются аналоговый криогенный отжиг и обучение с подкреплением, что позволяет, по сути, проектировать библиотеки стандартных ячеек для цифровых интегральных схем.

Каждый раз, когда разработчик добивается улучшения технологии производства микросхем - скажем, оптимизирует ее с 7 до 5 нм, - он создает библиотеку ячеек.

Ячейка - это как "и ворота" и "или ворота", полноценный ускоритель.

В настоящее время в конструкторском отделе NVIDIA имеются тысячи библиотек таких ячеек. Их необходимо перепроектировать в рамках новой технологии, руководствуясь сложным набором критериев проектирования.

Второе - это использование моделей обучения с усилением для проектирования схем расположения транзисторов.

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

На самом деле, обучение с подкреплением отлично справляется с этой задачей. Хорошим примером этого является применение обучения с подкреплением к видеоигре Atari.

Это похоже на видеоигру Atari, только на этот раз это игра, которая исправляет ошибки проектирования, существующие в стандартных устройствах.

С помощью обучения с подкреплением разработчики NVIDIA могут просеивать возникающие ошибки в правилах проектирования и затем исправлять их. Таким образом, конструкторы могут по сути завершить проектирование стандартных блоков.

Как показано на рисунке ниже, 92% библиотеки ячеек могут быть выполнены с помощью этого инструмента без ошибок правил проектирования или схемных ошибок.

Кроме того, 12% ячеек имеют меньший размер, чем ячейки, спроектированные вручную. В целом, по сложности ячейки, разработанные искусственным интеллектом, не уступают ячейкам, разработанным вручную.


Это может помочь разработчикам решить две задачи.

Во-первых, применение ИИ позволяет значительно сэкономить трудозатраты. Если бы не было искусственного интеллекта, то на создание библиотеки новых технологий у команды из 10 человек ушло бы около года. В то время как сегодня разработчики могут использовать несколько графических процессоров и запустить ее в работу всего за несколько дней.

Затем человеку приходится вмешиваться только в оставшиеся 8% устройств, которые ИИ не смог завершить.

В большинстве случаев при использовании ИИ проектировщики создают более качественные проекты.

Таким образом, он не только экономит время и силы, но и создает более качественные вещи.


Рекомендуемые новости

Глобальный поиск