Авторы:
(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.
В этом разделе мы оцениваем нашу методологию обучения и производительность приложений. Мы изучаем модели 7B и 13B при оценке методологии обучения и только модели 13B при оценке производительности приложений. Для сравнения мы также оцениваем две базовые модели чата: LLaMA2-13B-Chat* и LLaMA2-70B-Chat. LLaMA2-13B-Chat* — это базовая базовая модель LLaMA2 13B, доработанная с помощью нашего набора данных инструкций чата общего назначения, который отличается от исходной модели LLaMA2-13B-Chat, обученной с помощью обучения с подкреплением на основе обратной связи человека (RLHF). Мы решили сделать это для объективного сравнения моделей, адаптированных к предметной области, и базовых моделей с использованием одного и того же подхода к согласованию моделей. LLaMA2-70B-Chat — это публично выпущенная модель LLaMA2-Chat, обученная с помощью RLHF, которая считается современной (SOTA) моделью чата с открытым исходным кодом.
А. Токенизатор
Мы адаптируем токенизатор LLaMA2 (содержащий 32 тыс. токенов) к наборам данных проектирования чипов, используя ранее описанный четырехэтапный процесс. В токенизатор LLaMA2 добавляется около 9 тысяч новых токенов. Адаптированные токенизаторы могут повысить эффективность токенизации на 1,6–3,3 % для различных наборов данных проектирования микросхем, как показано на рисунке 5. Мы не наблюдаем очевидных
изменения в эффективности токенизатора общедоступных данных. Важно отметить, что мы не наблюдали значительного снижения точности LLM в общедоступных тестах при использовании пользовательских расширенных токенизаторов даже до DAPT.
B. Адаптивная предварительная подготовка предметной области
На рис. 6 представлены результаты моделей ChipNeMo в тесте AutoEval для области проектирования микросхем и академических тестах в открытой области. Результаты нашего исследования можно резюмировать следующим образом:
Модели DAPT демонстрируют небольшое снижение точности по академическим тестам в открытой области.
DAPT оказывает существенное положительное влияние на задачи внутри самой предметной области. Этот эффект проявляется в значительном улучшении внутренних знаний в области проектирования, а также общих знаний в области проектирования схем.
Использование более крупных и более производительных базовых моделей дает лучшие результаты с нулевым результатом при решении задач, специфичных для предметной области. Кроме того, использование более совершенных базовых моделей приводит к созданию улучшенных моделей предметной области после DAPT, что приводит к повышению производительности при выполнении внутридоменных задач.
Улучшения, связанные с DAPT, с задачами внутри предметной области демонстрируют положительную корреляцию с размером модели, при этом более крупные модели демонстрируют более выраженное улучшение производительности задач, специфичных для предметной области, после DAPT.
C. Исследования тренировочной абляции
Для наших исследований абляции мы провели несколько раундов адаптивной предварительной тренировки. Мы приводим краткое изложение, а подробную информацию можно найти в Приложении Б.
Различия между обучением с использованием расширенного токенизатора и исходного токенизатора оказались незначительными. Таким образом, мы в первую очередь связываем снижение точности академических тестов с данными предметной области. Более того, удаление общедоступного набора данных лишь незначительно регрессировало в большинстве задач, включая академические тесты, за исключением кодирования Verilog, где мы наблюдали заметную разницу. Это говорит о том, что включение данных GitHub Verilog способствовало расширению возможностей кодирования Verilog, особенно когда в базовых базовых моделях не хватало данных в этой области.
В нашем исследовании мы экспериментировали с использованием более высокой скорости обучения, как в CodeLLaMA [32]. Мы наблюдали большие всплески потерь в обучении на начальных этапах обучения. Хотя этот подход в конечном итоге привел к улучшению потерь при обучении и проверке, мы отметили существенное ухудшение всех предметных и академических тестов, за исключением кодирования. Мы предполагаем, что меньшая скорость обучения сыграла двойную роль, способствуя извлечению предметных знаний с помощью DAPT, сохраняя при этом баланс, который не отклонялся слишком далеко от базовой модели, тем самым сохраняя общие возможности естественного языка.
Мы также исследовали применение эффективной точной настройки параметров (PEFT) в контексте доменно-адаптивного предварительного обучения (DAPT). С этой целью мы провели два эксперимента с использованием адаптеров LoRA [16], введя дополнительные параметры 26,4 миллиона (маленьких) и 211,2 миллиона (больших) соответственно. В обоих случаях наши результаты выявили значительный разрыв в точности выполнения внутридоменных задач по сравнению с полнопараметрическим подходом DAPT. Кроме того, сравнивая результаты между маленькими и большими моделями PEFT, мы наблюдали незначительное улучшение точности выполнения задач внутри предметной области, а большие модели демонстрировали небольшое улучшение.
D. Стоимость обучения
Все модели прошли обучение с использованием 128 графических процессоров A100. Мы оцениваем затраты, связанные с адаптивным предварительным обучением домена для ChipNeMo, как показано в Таблице IV. Стоит отметить, что на DAPT приходится менее 1,5% от общей стоимости предварительного обучения базовой модели с нуля.
E. Чат-бот RAG и помощник инженера
Мы создали тест для оценки эффективности помощи в чате по дизайну, в котором используется метод RAG. Этот тест включает 88 вопросов в трех категориях: спецификации архитектуры/проектирования/верификации (Specs), документация по регрессии тестового стенда (Testbench) и документация по построению инфраструктуры (Build). Для каждого вопроса мы указываем золотой ответ, а также параграфы проектного документа, содержащие соответствующие знания для ответа. Эти вопросы создаются проектировщиками вручную на основе набора проектных документов в качестве хранилища данных для поиска. Он включает около 1,8 тыс. документов, которые были разбиты на 67 тыс. отрывков, каждый примерно по 512 символов.
Сначала мы сравниваем нашу адаптированную к предметной области поисковую модель с Sentence Transformer [33] и e5_small_unsupervised [30] по каждой категории. Каждая модель извлекает 8 лучших отрывков из хранилища данных.
Запросы в категории «Спецификации» извлекаются непосредственно из отрывков в документах, поэтому их ответы часто содержатся в кратком отрывке и четко относятся к запросу.
С другой стороны, запросы категорий Testbench и Build не выводятся напрямую из отрывков, поэтому их ответы часто не были так очевидны в выбранных отрывках и требовали большего контекста (подробные примеры см. в Приложении C). Это существенно влияет на разницу в качестве поиска между категориями.
Мы провели оценку нескольких моделей ChipNeMo и моделей LLaMA2 с RAG и без него. Затем результаты были оценены оценщиками-людьми по 10-балльной шкале и показаны на рисунке 8.
Мы сделали следующие наблюдения:
• RAG значительно повышает показатели человека. RAG улучшает показатели LLaMA2-13B-Chat*, ChipNeMo-13B-Chat и LLaMA2-70B-Chat на 3,82, 2,19 и 5,05 соответственно. Обратите внимание, что оценки, как правило, выше даже при промахе RAG, особенно на моделях LLaMA2. Мы предполагаем, что дополнительный внутридоменный контекст помогает повысить производительность.
• ChipNeMo-13B-Chat превосходит LLaMA2-13B-Chat* аналогичного размера только в моделях и оценках RAG на 2,88 и 1,25 соответственно.
• ChipNeMo-13B-Chat с RAG получает тот же балл (7,4), что и в 5 раз более крупная модель LLaMA2-70B-Chat с RAG, где LLaMA2-70B-Chat лучше справляется с получением ответов при обращениях; однако адаптация предметной области компенсирует промахи.
• Домен SFT позволяет повысить производительность ChipNeMo-13B-Chat на 0,28 (с RAG) и 0,33 (без RAG).
Полные результаты оценки всех моделей показаны в Приложении D.
F. Генерация сценария EDA
Чтобы оценить нашу модель в задаче создания сценария EDA, мы создали два разных типа тестов. Первый представляет собой набор задач сложности «Легкий» и «Средний» (решения 1–4 строк), которые можно оценить без вмешательства человека путем сравнения с золотым ответом. Из-за работы, необходимой для создания и оценки этих тестов, у нас есть только этот набор оценок для нашей задачи Python. Второй набор задач («Сложные») основан на реальных сценариях использования, выбранных нашими инженерами. Эти задачи намного сложнее, для решения требуются десятки строк. Поскольку их трудно оценить автоматически, мы попросили инженеров-людей оценить правильность от 0% до 100%. Размер этих тестов описан в Таблице V. Продолжается работа по увеличению размера и объема этих тестов, чтобы мы могли дальше совершенствовать эти модели.
Мы обнаружили, что наши модели не смогли ответить на некоторые из наших более сложных задач. Задачи требовали знания многих API-интерфейсов инструментов, и модель, казалось, не могла выбрать правильные из них, сохраняя при этом должным образом организованный поток управления. Чтобы смягчить эту проблему, мы добавили к подсказке контекст, созданный человеком, специфичный для каждого вопроса. Этот контекст содержал объяснения различных функций или атрибутов, необходимых для правильного написания желаемого сценария. Мы предоставили это только для категории тестов «Hard with Context». Это также позволяет нам изучить возможный эффект решения, основанного на поиске, что мы оставим для будущей работы.
Как видно из результатов абляции на рисунке 9, для нашей проблемы были важны как DAPT, так и домен SFT. Без DAPT модель практически не понимала базовые API и плохо работала в автоматически оцениваемых тестах. Домен SFT еще больше улучшил результаты. Мы считаем, что это связано с тем, что данные SFT нашей предметной области помогают модели представить окончательный сценарий наиболее применимым образом.
Одним из интересных результатов является процент прохождения LLaMA2-70B тестов «Hard with Context». Он работает лучше, чем большинство моделей с инструментом Python, но плохо с инструментом Tcl. Вероятно, это связано с тем, что при наличии правильного контекста превосходные общие способности LLaMA2-70B к программированию на Python способны решать новые проблемы, которым он не обучался. Однако модель LLaMA2-70B не может обобщить свои возможности кодирования для инструмента Tcl, вероятно, потому, что она не подвергалась воздействию большого объема кода Tcl. Это подчеркивает преимущество DAPT, когда речь идет о небольших объемах или проприетарных языках программирования.
G. Обобщение и анализ ошибок
Для оценки наших моделей обобщения и анализа ошибок у нас есть набор из 40 ошибок, которые являются идеальными кандидатами для обобщения. Это включает в себя наличие длинной истории комментариев или других данных, из-за которых человеку сложно быстро суммировать ошибки. Затем мы просим людей оценить оба режима обобщения, а также присвоение ошибок, предлагаемое LLM. Метрика оценки основана на 7-балльной шкале Лайкерта. Наши результаты представлены на рисунке 10.
Модели ChipNeMo-13B-Chat превосходят базовую модель LLaMA2-13B-Chat* по всем трем задачам, улучшая 7-балльную оценку Лайкерта на 0,82, 1,09 и 0,61 за техническое резюме, управленческое резюме и рекомендации по назначению соответственно. Домен SFT также значительно улучшает производительность по управленческому обобщению и распределению задач по сравнению с доменом SFT.
Мы предполагаем, что в отличие от задачи технического обобщения, качество и техническое содержание которой в большей степени зависят от понимания моделью семантики естественного языка, управленческое резюме требует, чтобы модель понимала, как суммировать входные данные, сохраняя при этом имена ключевых сотрудников/инженеров. Это требует более тщательной настройки LLM на основе инструкций.
Модель LLaMA2-70B-Chat также очень хорошо справляется со всеми тремя задачами, превосходя по всем задачам модель ChipNeMo-13B. Обратите внимание, что модель LLaMA2-70B-Chat также страдает от проблем с длинным контекстом из-за размера контекста 4096. Мы считаем эффективными схемы фрагментирования и объединения (иерархические и инкрементные), выбор обучающих подсказок на различных этапах обобщения, выбор подсказок во время назначения задач, а форматирование/предварительная обработка необработанных данных помогает обойти проблему длинного контекста и позволяет LLaMA2-70B-Chat достигать высоких результатов даже без DAPT и доменного SFT.
Этот документ доступен на arxiv под лицензией CC 4.0.