ИИ проектирует микросхемы быстрее и лучше людей

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

    а) Процессор Ariane RISC-V. Микросхема составлена специалистами-людьми. Расположение её элементов считается хорошим: инженеры плотно упаковали 37 макроблоков в выровненные строки и столбцы, оставив место для размещения других компонентов. b) Другая вариация Ariane, созданная ИИ. Решения RL значительно отличаются от решений специалистов, но полученная схема не менее жизнеспособна.  
    а) Процессор Ariane RISC-V. Микросхема составлена специалистами-людьми. Расположение её элементов считается хорошим: инженеры плотно упаковали 37 макроблоков в выровненные строки и столбцы, оставив место для размещения других компонентов. b) Другая вариация Ariane, созданная ИИ. Решения RL значительно отличаются от решений специалистов, но полученная схема не менее жизнеспособна.  

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

    В новом исследовании инженеры Google Brain научили ИИ самостоятельно проектировать микросхемы и сравнили итоговый результат с работами специалистов. 

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

    Инженеры сформулировали задачи RL через марковские процессы принятия решений: 

    • «состояние»: каждое возможное размещение элементов на холсте чипа;

    • «действие»: набор всех местоположений в дискретном пространстве холста, на которые макрос может быть помещён без нарушения жёстких ограничений на плотность или блокировки;

    • «переход состояния»: распределение вероятностей по следующим состояниям;

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

    В исходном состоянии s0 у алгоритма есть пустой холст микросхемы и неразмещённый список объектов. sT обозначает микросхему с размещёнными объектами. Таким образом, T — это общее количество объектов, t — промежуточное. На каждом этапе t начинается с st, выполняет действие at, прибывает в новое состояние st+1, получает вознаграждение rt от среды (0 для t < T и отрицательное для t = T). Алгоритм размещает блоки в порядке уменьшения размера.  

    Через повторяющуюся последовательность состояний, действий и вознаграждений нейросеть постоянно учится и улучшает показатели скорости с каждой новой схемой. Всего в ходе исследования ИИ учился на 10 тысячах дизайнов. Для обновления параметров программы обучения с учётом совокупного вознаграждения за каждое размещение инженеры использовали алгоритм обучения с подкреплением Proximal Policy Optimization.

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

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

    В апреле прошлого года исследователи разместили препринт статьи на arXiv. Итоговые материалы исследования опубликованы 9 июня этого года в статье «A graph placement methodology for fast chip design» в журнале Nature DOI: 10.1038/s41586-021-03544-w.

    Комментарии 33

      +11
      Вот и еще одна ступенька хрупкой вавилонской башни технологий, при утере которой становится невозможно поддерживать даже текущий уровень производства.
        +23
        Мы уже очень высоко на этой башне.
        Даже простой токарный станок(с приемлемой точностью) невозможно повторить не имея других тенхнологий на руках.
          +2
          Сразу вспомнился Primitive technology канал. Ждем, пока он сделает приемлемый токарный станок? )
            +2
            но, чтобы посмотреть как делают токарный станок, потребуются все вот эти интернеты и т.д.
              +2
              У которого точность будет хотя бы десятка? Не думаю что это возможно без использования более-менее современных инструментов.
              К слову класс С точности должен обеспечивать при прямолинейном движении отклонение в размере не более 0.0016 миллиметра(почти одна тысячная). Обычный станки должны обеспечивать точность не менее 0.01(одна сотая миллиметра).
              Там вообще достаточно жестко всё. docs.cntd.ru/document/1200022733
              Сделать такой станок работа сложная и по факту итерационная: делаем плохой станок, на нём делаем детали для станка получше, на следующем станке детали для еще лучшего и т.п. То есть нужны те самые технологии. Просто взять и выковать руками детали для нормального станка не выйдет.
                0
                как пример ручное изготовление Ювелирки с точностями порядка 0,1-0,05 мм вполне реально — так что в принципе руками создать станок с точностями до «десяток» из «Руды» реально только нужны годы…
                Так что думается мне что — «десятку» — еще реально, в принципе за лет пять-шесть пройти путь с последовательными итерациями увеличения точности…
                а вот тоньше — там уровень сложности растет по очень быстро…
            +9
            Был и такой рассказ.

            — Но каковы возможности человека в области вычисления?

            — Они беспредельны, как утверждает доктор Шуман. Он-то первым и ввел меня в курс этого открытия.

            — Шуман? А, да, я слышал о нем.

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

            — Если Шуман это утверждает, — подумав, сказал президент, — то, наверно, так оно и есть. Сугубо теоретически я готов ему поверить. Но практически — кто может знать, как работает счетчик?

            Брант рассмеялся.

            — Я задал доктору Шуману тот же вопрос. Ученые предполагают, что, по-видимому, некогда в старину вычислительные машины были изобретены и сконструированы непосредственно людьми. Конечно, это были на первых порах не такие сложные машины, какими пользуемся мы, — ведь это было еще до того, как наступила эпоха, когда вычислительные машины стали сами создавать совершенные машины.

            — Так, так, продолжайте.

            — Техник Ауб — просто для развлечения — воссоздал некоторые старинные методы счета и научился таким образом в какой-то степени повторять работу счетно-решающих устройств. Умножение, которое я вам сейчас продемонстрировал, — это имитация работы счетчика.

            — Подозрительно!

            Конгрессмен вежливо кашлянул.
            +2
            ИИ, кажется, научили хорошо делать ОДНУ из множества операций для разработки НЕКОТОРЫХ ТИПОВ микросхем. Причем речь идёт не об интеллектуально затратном дизайне, а об имплементации, которая штука непростая, но все же обычно ремесленная.
              0
              Научат скоро и другие операции делать
                0
                Не раньше, чем ИИ научат писать весь код за программистов.
                  0
                  Не уверен
                    0
                    Не вижу причин, по которым проектирование микросхем чем-то проще написания кода. Пока программисты не остаются без работы, проектировщики микросхем тоже не останутся.
                      0
                      Может и не выглядит проще, но это не значит что такая же сложность автоматизации процесса
                        0
                        Может и не выглядит проще, но это не значит что такая же сложность автоматизации процесса
                        Конечно не значит. Сложность автоматизации процесса создания микросхем существенно выше, чем сложность написания большей части кода, который пишут программисты по всему миру.
                          +1
                          Это вопрос автоматизации оптимизации топологии. Задача как раз для ИИ. Понятное дело все автоматизировать не удастся, но значительно сократить время и стоимость вполне.
                            0
                            Погодите, так «вопрос автоматизации оптимизации топологии» или «научат скоро и другие операции делать»?
                0
                Когда разница в стоимости и времени описывается уровнями «пять часов» и «две недели» несложно предположить в какую сторону пойдет прогресс и насколько быстр он там будет. Плюс утеря квалификации людьми (потому что пару недель никто не будет давать на часовую работу) и…
                  0
                  Там это скорее выглядит как «4 месяца + 2 недели или 4 месяца + 5 часов». Какая-то выгода, конечно, и в этом варианте имеется, но уже вовсе не такая очевидная как «2 недели или 5 часов».
                0
                Но по-прежнему нужны будут человеко-недели на то чтобы объяснить этому ИИ все требования к дизайну микросхемы. «Этот блок должен иметь рабочую частоту не меньше 100 МГц. Задержка между вот этим и вон тем блоком не должна превышать 14 нс. Вот эти 98 сигналов не должны иметь разброс задержки больше, чем на 4 нс.». И т.д.
                  +1
                  Это означает, что системных архитекторов ИИ заменит позже других)
                  А если серьезно, то с однйо стороны, тут больше хайпа, чем всего остального, а с другой — автоматизация труда разработчика — это всегда хорошо. А речь идет именно об автоматизации, а не о замене человека машиной.
                    +1
                    Да, но автоматизация в этой области уже давным-давно работает :) А вот насколько лучше нейросеть существующих алгоритмов (и вообще лучше ли) — это вопрос, на который новость не дает ответа. Из текста складывается впечатление, что размещение на кристалле — это до сих пор сугубо ручной труд.
                    +2
                    Это всё описывается в ТЗ, в виде типовой таблицы с параметрами, которую заполняет каждый заинтересованный отдел. Кристалл проектируют десятки-тысячи человек, и каждый из них отвечает только за свой кусочек работы. На уровне блоков работает генеральный конструктор, и вот его ИИ пока не заменить. Даже на картинке в статье видно, что человек расположил блоки максимально компактно, чтобы минимизировать длину шин данных, питания и занимаемое ими место на кристалле, а ИИ раскидал по всему кристаллу, и оставшееся место уйдёт на шины данных между этими блоками…
                      0
                      Это всё описывается в ТЗ, в виде типовой таблицы с параметрами, которую заполняет каждый заинтересованный отдел.

                      И потом все эти параметры нужно задать в трассировщик, при этом обеспечив отсутствие конфликтов между требованиями разных отделов, решив на какие компромиссы можно пойти и т.д.
                        +1
                        Это надо делать в любом случае, независимо от того, кто будет работать. И для финального прогона Design rules check эти параметры тоже должны быть заданы. Иначе в каком-то медвежьем углу кристалла в одном месте нечаянно окажется расстояние между элементами на нанометр меньше минимума, и всё, или выключай на кристалле весь блок, или процент брака резко возрастёт.

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

                          Так и я об этом :)
                            0
                            Поэтому вряд ли в ближайшие десятилетия программы научатся сами рисовать дизайн процессоров.
                            ненене, мы сейчас в принципе говорим о том, чтобы нарисовать имплементацию дизайна, а не о том, чтобы что-то сдизайнить. не надо путать, это разница примерно как между работой кутюрье и мастера на швейной фабрике, которому дают готовые выкройки.
                          0
                          Минимизация ШД и ШП это не цель в себе, и вообще не цель как таковая. Если накидано как сделал ИИ, но работает лучше, чем при строго выверенной человеком модели — это значит, что человек не может сделать настолько же хорошо (или мы что-то не видим за деревьями в виде «минимизация ШД»).
                            0
                            в статье же есть, про то что тайминги стали даже лучше, да даже в самом убогом авторассировщике, что я видел — можно было задать веса критериев, длинны связи, via, повороты итд
                          +3

                          Сингулярность близко!

                            +3

                            Судя по фоткам чипов AMD и по тому, какие её сотрудники делают доклады на непрофильных конференциях, AMD довольно долгое время уже использует автоматическую раскладку блоков. И некоторые другие компании тоже. Сравнивалось ли это ИИ-решение с просто алгоритмическими раскладчиками?

                              0
                              Задача размещения блоков при проектировании ИС стара как мир. Там много разных алгоритмов. Надо с ними сравнивать.
                                +1
                                В исходной публикации, разумеется, есть такое сравнение.
                                0
                                Инженеры Google Brain обучили алгоритмы создавать дизайн микросхемы.
                                Чего только не придумают, лишь бы не платить людям зарплату.

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

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

                                Самое читаемое