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


AliExpress RU&CIS

Инженеры 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.




Комментарии (55):

  1. INSTE
    /#23137142 / +1

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

    • AllexIn
      /#23137232 / +1

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

      • Vladislav57
        /#23137914

        Сразу вспомнился Primitive technology канал. Ждем, пока он сделает приемлемый токарный станок? )

        • dbalabanov
          /#23138480

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

        • AllexIn
          /#23138534

          У которого точность будет хотя бы десятка? Не думаю что это возможно без использования более-менее современных инструментов.
          К слову класс С точности должен обеспечивать при прямолинейном движении отклонение в размере не более 0.0016 миллиметра(почти одна тысячная). Обычный станки должны обеспечивать точность не менее 0.01(одна сотая миллиметра).
          Там вообще достаточно жестко всё. docs.cntd.ru/document/1200022733
          Сделать такой станок работа сложная и по факту итерационная: делаем плохой станок, на нём делаем детали для станка получше, на следующем станке детали для еще лучшего и т.п. То есть нужны те самые технологии. Просто взять и выковать руками детали для нормального станка не выйдет.

          • Nordicx86
            /#23138548

            как пример ручное изготовление Ювелирки с точностями порядка 0,1-0,05 мм вполне реально — так что в принципе руками создать станок с точностями до «десяток» из «Руды» реально только нужны годы…
            Так что думается мне что — «десятку» — еще реально, в принципе за лет пять-шесть пройти путь с последовательными итерациями увеличения точности…
            а вот тоньше — там уровень сложности растет по очень быстро…

    • da-nie
      /#23137768 / +1

      Был и такой рассказ.

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

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

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

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

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

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

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

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

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

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

      Конгрессмен вежливо кашлянул.

  2. amartology
    /#23137998

    ИИ, кажется, научили хорошо делать ОДНУ из множества операций для разработки НЕКОТОРЫХ ТИПОВ микросхем. Причем речь идёт не об интеллектуально затратном дизайне, а об имплементации, которая штука непростая, но все же обычно ремесленная.

    • dem0crypt
      /#23139358

      Научат скоро и другие операции делать

      • amartology
        /#23139702

        Не раньше, чем ИИ научат писать весь код за программистов.

        • dem0crypt
          /#23140002

          Не уверен

          • amartology
            /#23140330

            Не вижу причин, по которым проектирование микросхем чем-то проще написания кода. Пока программисты не остаются без работы, проектировщики микросхем тоже не останутся.

            • dem0crypt
              /#23140522

              Может и не выглядит проще, но это не значит что такая же сложность автоматизации процесса

              • amartology
                /#23140582

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

                • dem0crypt
                  /#23140634

                  Это вопрос автоматизации оптимизации топологии. Задача как раз для ИИ. Понятное дело все автоматизировать не удастся, но значительно сократить время и стоимость вполне.

                  • amartology
                    /#23140724

                    Погодите, так «вопрос автоматизации оптимизации топологии» или «научат скоро и другие операции делать»?

                    • dem0crypt
                      /#23146656

                      Все вместе скорее. А в статье в основном о топологии написано, если что.

                      • amartology
                        /#23146888

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

                        • dem0crypt
                          /#23146980

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

                          • amartology
                            /#23146996

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

                            • dem0crypt
                              /#23147004

                              Вернулись на прошлые тезисы. Не вижу причин продолжать обсуждение и засим удаляюсь)

                              • amartology
                                /#23148070

                                Вернулись на прошлые тезисы.
                                Потому что у вас нет никаких агрументов.

                                • dem0crypt
                                  /#23149902

                                  Не у меня одного)

                                  • amartology
                                    /#23149912

                                    Ну, у меня в качестве аргументов больше десяти лет работы в индустрии разработки и понимание того, какие процессы реально автоматизировать (и какие уже автоматизированы в том или ином виде), а какие не очень.
                                    Написание RTL кода ничем не проще написания любого другого кода и поэтому будет автоматизировано не раньше, чем работа всех остальных программистов.
                                    Аналоговый дизайн до сих пор делается практически на 100% вручную, там совсем все плохо с автоматизацией.

    • INSTE
      /#23140006

      Когда разница в стоимости и времени описывается уровнями «пять часов» и «две недели» несложно предположить в какую сторону пойдет прогресс и насколько быстр он там будет. Плюс утеря квалификации людьми (потому что пару недель никто не будет давать на часовую работу) и…

      • Andy_Big
        /#23140424

        Там это скорее выглядит как «4 месяца + 2 недели или 4 месяца + 5 часов». Какая-то выгода, конечно, и в этом варианте имеется, но уже вовсе не такая очевидная как «2 недели или 5 часов».

  3. Andy_Big
    /#23138048

    Но по-прежнему нужны будут человеко-недели на то чтобы объяснить этому ИИ все требования к дизайну микросхемы. «Этот блок должен иметь рабочую частоту не меньше 100 МГц. Задержка между вот этим и вон тем блоком не должна превышать 14 нс. Вот эти 98 сигналов не должны иметь разброс задержки больше, чем на 4 нс.». И т.д.

    • amartology
      /#23138742

      Это означает, что системных архитекторов ИИ заменит позже других)
      А если серьезно, то с однйо стороны, тут больше хайпа, чем всего остального, а с другой — автоматизация труда разработчика — это всегда хорошо. А речь идет именно об автоматизации, а не о замене человека машиной.

      • Andy_Big
        /#23139042 / +1

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

    • nixtonixto
      /#23138810

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

      • Andy_Big
        /#23139050 / +1

        Это всё описывается в ТЗ, в виде типовой таблицы с параметрами, которую заполняет каждый заинтересованный отдел.

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

        • nixtonixto
          /#23140046

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

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

          • Andy_Big
            /#23140410

            Это надо делать в любом случае, независимо от того, кто будет работать.

            Так и я об этом :)

          • amartology
            /#23140578

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

      • INSTE
        /#23140026

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

      • sim2q
        /#23143768

        в статье же есть, про то что тайминги стали даже лучше, да даже в самом убогом авторассировщике, что я видел — можно было задать веса критериев, длинны связи, via, повороты итд

        • amartology
          /#23144480

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

  4. s256
    /#23138064

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

  5. mikhanoid
    /#23138464

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

  6. andy_p
    /#23138550

    Задача размещения блоков при проектировании ИС стара как мир. Там много разных алгоритмов. Надо с ними сравнивать.

    • amartology
      /#23140324

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

  7. Mike-M
    /#23142056

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

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

  8. CheMAX23
    /#23146192 / -3

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

    • amartology
      /#23146578

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

      • CheMAX23
        /#23147726

        @amartology, вы проектируете или придумываете внешний вид микросхемы? Если проектируете, то вы не дизайнер, если занимаетесь дизайном, то тогда да, вы дизайнер. Но путать такие слова как "конструкция", "схема", "архитектура" со словом "дизайн", это как "magazine" переводить "магазин"

        • amartology
          /#23147962

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

          • CheMAX23
            /#23148748

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


            исторически это сколько лет? нет в русском иного значения у слова дизайн, как «визуальный стиль», и вы не дизайнер, отнюдь — проектант, не больше

            тут, кстати, ранее, статейка была для таких как вы «дизайнеров» — ловите
            habr.com/ru/post/123192

            • amartology
              /#23148822

              исторически это сколько лет?
              Много, минимум тридцать.

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

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

              • CheMAX23
                /#23150398

                ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
                П О С Т А Н О В Л Е Н И Е
                от 31 декабря 2020 г. № 2392
                МОСКВА
                О ведении реестра российских организаций, оказывающих
                услуги (выполняющих работы) по проектированию
                и разработке изделий электронной компонентной базы
                и электронной (радиоэлектронной) продукции


                amartology, вы про это постановление? слова однокоренные слову «дизайн» в нём встречаются 0 раз

                Много, минимум тридцать.

                минимум с 91 года слово дизайн имеет другие смыслы, кроме «визуального»? ну вы лгун) старайтесь больше не обманывать, здесь так не принято

                • amartology
                  /#23150532

                  russianelectronics.ru/files/49296/EK2008_10_017-021.pdf
                  Вот например, статья 2008 года за авторством нынешнего вице-премьера Борисова:

                  Роль дизайн-центров микроэлектроники в развитии отечественной электронной промышленности
                  Слова, однокоренные слову «дизайн», в ней встречаются 60 раз.

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

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

                  • CheMAX23
                    /#23150660

                    Вот например, статья 2008 года за авторством нынешнего вице-премьера Борисова:

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

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

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

                    Опять виляете. Начнём с того, что я оставил заметку про вашу ложь с конкретным фактом, и этот факт был не про название профессии. Насчёт посылать, можете, но имейте в виду, здесь как не принято лгать, так и не принято посылать.

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

                    • Brak0del
                      /#23150744 / +2

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

                      Между тем, устоявшийся, широкоиспользуемый и понятный тем, кто в теме в СНГ, термин в контексте микросхем — дизайн. Это объективная реальность, даже если она вам не по душе.

                      • CheMAX23
                        /#23150806

                        Brak0del а не разработка? Поискав соответствующие «дизайн-центры» мы утыкаемся в проектирование и разработку микросхем, но никак в их дизайн. А как вы назовёте, человека, кто разрабатывает визуальный вид микросхем? Тоже дизайнер?

                        поискав инфу в инете заметил, что устоявшийся термин «проектирование и разработка микросхем», напр.:
                        habr.com/ru/post/313496
                        tomorrow.moscow/professions/3670.html
                        msk.postupi.online/vuz/kafedra-proektirovaniya-i-konstruirovaniya-integralnyh-mikroshem-miet/professii
                        dcsoyuz.ru/design

                        последние — это те, к ого в названии есть слово «дизайн», а в описании его нет, типа они больше по разработке, а в названии наверное ошибочка вышла

                        «Дизайн Центр «Союз» – ведущий российский дизайн-центр по разработке аналоговых и аналого-цифровых микросхем.

                        • amartology
                          /#23151194

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

                          А как вы назовёте, человека, кто разрабатывает визуальный вид микросхем?
                          Человек, который отвечает за внешний вид микросхемы, называется тополог.
                          При это, что характерно, по-английски он называется Layout Designer, тогда как Topology занимаются совершенно другие люди.

                          а в названии наверное ошибочка вышла
                          Дада, самое неприметное место, где точно легко ошибиться)

                    • amartology
                      /#23150790

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

                      решил уточнить у вас, то ли оно

                      Вот распоряжение правительства об утверждении стратегии развития электронной промышленности РФ до 2030 года. В нем многократно упоминаются дизайн-центры.
                      static.government.ru/media/files/1QkfNDghANiBUNBbXaFBM69Jxd48ePeY.pdf

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

                      Особенно, конечно, бессмысленно бомбить насчет англицизмов фразой «снобизма — зеро», состоящей из двух англицизмов.

                      В качестве бонуса вот вам фрагмент стихотворения Сумарокова «О французском языке» (1774):

                      Безмозглым кажется язык российский туп:
                      Похлебка ли вкусняй, или вкусняе суп?
                      Иль соус, просто сос, нам по?ливки вкусняе?
                      Или уж наш язык мордовского гнусняе?

                      Будете бороться с людьми, употребляющими слова «суп» и «соус», или все же не стоит?