Авторы:
(1) Минцзе Лю, NVIDIA {Равный вклад};
(2) Теодор-Думитру Эне, NVIDIA {Равный вклад};
(3) Роберт Кирби, NVIDIA {Равный вклад};
(4) Крис Ченг, NVIDIA {Равный вклад};
(5) Натаниэль Пинкни, NVIDIA {Равный вклад};
(6) Жунцзянь Лян, NVIDIA {Равный вклад};
(7) Джона Албен, NVIDIA;
(8) Химьяншу Ананд, NVIDIA;
(9) Санмитра Банерджи, NVIDIA;
(10) Исмет Байрактароглу, NVIDIA;
(11) Бонита Бхаскаран, NVIDIA;
(12) Брайан Катандзаро, NVIDIA;
(13) Арджун Чаудхури, NVIDIA;
(14) Шэрон Клэй, NVIDIA;
(15) Билл Далли, NVIDIA;
(16) Лаура Данг, NVIDIA;
(17) Парикшит Дешпанде, NVIDIA;
(18) Сиддхант Дходхи, NVIDIA;
(19) Самир Халепет, NVIDIA;
(20) Эрик Хилл, NVIDIA;
(21) Цзяшан Ху, NVIDIA;
(22) Сумит Джайн, NVIDIA;
(23) Брюсек Хайлани, NVIDIA;
(24) Джордж Кокаи, NVIDIA;
(25) Кишор Кунал, NVIDIA;
(26) Сяовэй Ли, NVIDIA;
(27) Чарли Линд, NVIDIA;
(28) Хао Лю, NVIDIA;
(29) Стюарт Оберман, NVIDIA;
(30) Суджит Омар, NVIDIA;
(31) Сридхар Пратти, NVIDIA;
(23) Джонатан Райман, NVIDIA;
(33) Амбар Саркар, NVIDIA;
(34) Чжэнцзян Шао, NVIDIA;
(35) Ханфэй Сан, NVIDIA;
(36) Пратик П. Сутар, NVIDIA;
(37) Варун Тедж, NVIDIA;
(38) Уокер Тернер, NVIDIA;
(39) Кайжэ Сюй, NVIDIA;
(40) Хаосин Рен, NVIDIA.
Целью ChipNeMo является изучение применения моделей большого языка (LLM) для проектирования промышленных микросхем. Вместо прямого развертывания готовых коммерческих LLM или LLM с открытым исходным кодом мы применяем следующие методы адаптации предметной области: специальные токенизаторы, непрерывное предварительное обучение с адаптацией к предметной области, контролируемую точную настройку (SFT) с инструкциями, специфичными для предметной области, и адаптированные поисковые модели. Мы оцениваем эти методы на трех выбранных приложениях LLM для проектирования микросхем: чат-бот-помощник инженера, создание сценариев EDA, а также обобщение и анализ ошибок. Наши результаты показывают, что эти методы адаптации предметной области позволяют значительно повысить производительность LLM по сравнению с базовыми моделями общего назначения в трех оцениваемых приложениях, позволяя уменьшить размер модели до 5 раз с аналогичной или лучшей производительностью в ряде задач проектирования. Наши результаты также показывают, что между нашими текущими и идеальными результатами еще есть возможности для улучшения. Мы считаем, что дальнейшее исследование подходов LLM, адаптированных к предметной области, поможет устранить этот пробел в будущем.
За последние несколько десятилетий алгоритмы и инструменты автоматизации проектирования электроники (EDA) обеспечили огромный прирост производительности проектирования микросхем. В сочетании с экспоненциальным увеличением плотности транзисторов, обеспечиваемым законом Мура, EDA позволил разработать многофункциональные сложные конструкции SoC с миллиардами транзисторов. Совсем недавно исследователи изучали способы применения ИИ к алгоритмам EDA и процессу проектирования микросхем для дальнейшего повышения производительности проектирования микросхем [1] [2] [3]. Однако многие трудоемкие задачи проектирования микросхем, включающие взаимодействие с естественными языками или языками программирования, до сих пор не автоматизированы. Последние достижения в области коммерческих (ChatGPT, Bard и т. д.) и моделей с открытым исходным кодом (Vicuna [4], LLaMA2 [5] и т. д.) больших языковых моделей (LLM) предоставляют беспрецедентную возможность помочь автоматизировать эти связанные с языком задачи проектирования микросхем. Действительно, ранние академические исследования [6] [7] [8] изучали применение LLM для генерации RTL, которые могут выполнять простые задачи в небольших модулях проектирования, а также генерировать сценарии для инструментов EDA.
Мы считаем, что LLM может повысить производительность проектирования микросхем за счет использования генеративного искусственного интеллекта для автоматизации многих задач, связанных с языком проектирования микросхем, таких как генерация кода, ответы на инженерные вопросы через интерфейс на естественном языке, анализ § Равный вклад и генерация отчетов, а также сортировка ошибок. . В этом исследовании мы фокусируемся на этих трех конкретных приложениях LLM: чат-бот-помощник инженера для инженеров-проектировщиков ASIC и архитектуры графических процессоров, который понимает внутренние конструкции аппаратного обеспечения и способен объяснять сложные темы проектирования; Генерация сценариев EDA для двух специализированных инструментов на основе Python и Tcl для задач временного анализа СБИС, заданных на английском языке; обобщение и анализ ошибок как часть внутренней системы отслеживания ошибок и проблем.
Хотя LLM общего назначения, обученные на огромных объемах интернет-данных, демонстрируют замечательные возможности в задачах генеративного ИИ в различных областях (как продемонстрировали Бубек и др. в [9]), недавние работы, такие как BloombergGPT [10] и BioMedLLM [11], демонстрируют что модели LLM, специфичные для предметной области, могут превосходить модель общего назначения при решении задач, специфичных для предметной области. В области проектирования аппаратного обеспечения [6] [12] было показано, что LLM с открытым исходным кодом (CodeGen [13]), точно настроенные на дополнительных данных Verilog, могут превзойти современные модели OpenAI. Подобная настройка LLM также позволяет избежать рисков безопасности, связанных с отправкой собственных данных о конструкции микросхем сторонним LLM через API. Однако обучение предметно-ориентированных моделей для каждого домена с нуля было бы непомерно дорого, поскольку для этого часто требуются миллионы часов обучения графического процессора. Вместо этого для экономичного обучения моделей, специфичных для предметной области, мы предлагаем объединить следующие методы: предварительное обучение с адаптацией к предметной области (DAPT) [14] базовых моделей с адаптированными к предметной области токенизаторами, выравнивание модели с использованием общих и специфичных для предметной области инструкций и извлечение данных. дополненная генерация (RAG) [15] с обученной моделью поиска, адаптированной к предметной области.
Как показано на рисунке 1, наш подход состоит в том, чтобы начать с базовой базовой модели и применить DAPT с последующей контролируемой точной настройкой (SFT). DAPT, также известный как непрерывное предварительное обучение с использованием внутренних данных, оказался эффективным в таких областях, как публикации в области биомедицины и информатики, новости и обзоры. В нашем случае мы создаем наш набор данных для предварительного обучения, специфичный для конкретной предметной области, из набора собственного кода, связанного с аппаратным обеспечением (например, программного обеспечения, RTL, проверочных стендов и т. д.) и наборов данных на естественном языке (например, спецификации оборудования, документация и т. д.). Мы очищаем и предварительно обрабатываем необработанный набор данных, а затем продолжаем предварительное обучение базовой модели с использованием данных, специфичных для предметной области. Полученную модель мы называем ChipNeMo.
Модель фундамента. DAPT выполняется на небольшой части токенов, используемых при предварительном обучении, и он намного дешевле, требуя всего несколько тысяч часов графического процессора. Как описано в разделе V, мы считаем, что этот подход более эффективен, чем методы параметрического эффективного обучения (PEFT), такие как LoRA [16], для наших случаев использования.
Токенизаторы LLM преобразуют текст в последовательности токенов для обучения LLM. Токенизатор, специфичный для домена, повышает эффективность токенизации, адаптируя правила и шаблоны для терминов, специфичных для домена, таких как ключевые слова, обычно встречающиеся в RTL. Для DAPT мы не можем переобучить новый токенизатор для конкретного домена с нуля, поскольку это сделает базовую модель недействительной. Вместо того, чтобы ограничивать ChipNeMo предварительно обученным токенизатором общего назначения, используемым базовой моделью, мы вместо этого адаптируем предварительно обученный токенизатор к нашему набору данных проектирования чипов, добавляя новые токены только для терминов, специфичных для предметной области.
Базовые модели ChipNeMo — это завершенные модели, требующие контролируемой точной настройки (SFT) для адаптации к таким задачам, как чат. Мы используем в основном общедоступные наборы данных инструкций чата общего назначения для многооборотного чата вместе с небольшим количеством наборов данных инструкций для конкретной предметной области для выполнения SFT на базовой модели ChipNeMo, которая создает модель чата ChipNeMo. Мы видим, что SFT с набором данных инструкций чата общего назначения достаточен для согласования базовых моделей ChipNeMo с запросами в области проектирования микросхем. Мы также добавили небольшое количество данных инструкций SFT для конкретных задач, что еще больше улучшает согласованность. Мы обучили несколько моделей ChipNeMo Foundation и Chat на основе вариантов моделей LLaMA2, используемых в качестве базовой базовой модели.
Чтобы повысить производительность приложения чат-бота «Помощник инженера», мы также используем функцию извлечения дополненной генерации (RAG). RAG — это подход «открытой книги», позволяющий предоставить LLM точный контекст для пользовательских запросов. Он извлекает соответствующие знания внутри предметной области из своего хранилища данных, чтобы дополнить генерацию ответа на запрос пользователя. Этот метод показывает значительное улучшение в привязке модели к контексту конкретного вопроса. Важно отметить, что мы наблюдали значительные улучшения в частоте попаданий при поиске при точной настройке предварительно обученной модели поиска с данными предметной области. Это привело к еще большему улучшению качества модели.
Мы выделяем следующие вклады и выводы, связанные с адаптацией LLM к области проектирования микросхем:
• Мы демонстрируем эффективность LLM, адаптированного к предметной области, в трех случаях использования: чат-бот помощника инженера, создание сценариев инструмента EDA, а также обобщение и анализ ошибок. Мы получаем оценку 7,4 из 10-балльной шкалы за ответы чат-бота помощника инженера на основе экспертных оценок, достигаем более 50% правильности при создании сценариев EDA и рейтинг экспертной оценки от 4 до 5 из 7-балльной шкалы для обобщения и идентификации заданий. задания.
• Адаптированные к предметной области модели ChipNeMo значительно превосходят все стандартные LLM, оцененные как по тестам AutoEval с множественным выбором, специфичным для предметной области, так и по человеческим оценкам приложений.
• Для задач, в которых модель может генерировать текст из контекста подсказки (например, чат с обращениями RAG, обобщение, генерация кода с предоставленной документацией), доменная адаптация закрывает разрыв между современной моделью LLaMA2 70B и модель 13B гораздо меньшего размера (небольшие дополнительные затраты на обучение позволяют уменьшить параметры до 5 раз и снизить стоимость вывода).
• Настраиваемые токенизаторы сокращают количество токенов DAPT до 3,3% без ущерба для эффективности приложений.
• SFT на дополнительных 1,1 тыс. инструкций, специфичных для конкретной предметной области, значительно повышает эффективность работы приложений на 0,33 по 10-балльной шкале, на 18 % правильность и на 0,79 по 7-балльной шкале в чат-боте-помощнике инженера, создании сценариев EDA и обобщении ошибок и анализ соответственно.
• Точная настройка нашей модели поиска ChipNeMo с использованием данных, специфичных для предметной области, повышает вероятность попадания ретривера на 30% по сравнению с предварительно обученным современным ретривером, что, в свою очередь, улучшает общее качество ответов RAG.
Статья организована следующим образом. В разделе II описываются наши наборы данных и тесты автоматической оценки для проверки знаний предметной области. В разделе III описываются используемые методы адаптации и обучения домена, включая адаптированный токенизатор, DAPT, SFT и RAG. В разделе IV представлена подробная информация о каждом приложении и экспериментальной установке. В разделе V описаны результаты экспериментов, включая человеческие оценки для каждого применения. В разделе VI обсуждаются ограничения ChipNeMo и будущая работа. В разделе VII описаны соответствующие методы LLM и другие работы, направленные на LLM для проектирования микросхем. Наконец, полные результаты вместе с дополнительными сведениями об обучении модели и примерами текста, сгенерированными вариантами использования приложения, проиллюстрированы в Приложении.
Этот документ доступен на arxiv под лицензией CC 4.0.