paint-brush
ChipNeMo: Адаптированные к предметной области LLM для проектирования микросхем: Методы адаптации предметной области ChipNemoк@textmodels

ChipNeMo: Адаптированные к предметной области LLM для проектирования микросхем: Методы адаптации предметной области ChipNemo

Слишком долго; Читать

Исследователи представляют ChipNeMo, использующую адаптацию предметной области для улучшения LLM при проектировании микросхем, достигая пятикратного уменьшения размера модели и повышения производительности.
featured image - ChipNeMo: Адаптированные к предметной области LLM для проектирования микросхем: Методы адаптации предметной области ChipNemo
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

Авторы:

(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.

Таблица ссылок

III. МЕТОДЫ АДАПТАЦИИ ДОМЕНА ЧИПНЕМО

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


А. Токенизатор


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


• Шаг 1. Обучение токенизатора с нуля с использованием данных, специфичных для предметной области.


• Шаг 2. Из словаря нового токенизатора выявление токенов, которые отсутствуют в токенизаторе общего назначения и редко встречаются в наборах данных общего назначения.


ТАБЛИЦА I: Разбивка данных по источникам. Количество токенов измерено с помощью оригинального токенизатора LLaMA2.


ТАБЛИЦА II: Разбивка данных SFT по домену.


ТАБЛИЦА III: Эталонная оценка для конкретной предметной области.


• Шаг 3. Расширение токенизатора общего назначения новыми токенами, идентифицированными на шаге 2.


• Шаг 4. Инициализация внедрения новых токенов с помощью токенизатора общего назначения.


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


Шаг 2 помогает поддерживать производительность предварительно обученного LLM на общих наборах данных за счет выборочного введения новых токенов, которые нечасто встречаются в наборах данных общего назначения. А шаг 4 уменьшает усилия, необходимые для переобучения/тонкой настройки LLM, за счет инициализации внедрения новых токенов под управлением токенизатора общего назначения.


B. Адаптивная предварительная подготовка предметной области


В нашем исследовании мы применяем DAPT к предварительно подготовленным базовым моделям LLaMA2 7B/13B. Каждая модель DAPT инициализируется с использованием весов соответствующих предварительно обученных базовых базовых моделей. Мы называем наши модели DAPT ChipNeMo . Мы используем расширение токенизатора, как показано в разделе III-A, и соответствующим образом инициализируем вес внедрения [24]. Мы проводим дальнейшее предварительное обучение на данных, специфичных для конкретной предметной области, используя стандартную цель моделирования авторегрессионного языка. Все процедуры обучения модели проводятся с использованием платформы NVIDIA NeMo [25], включающей такие методы, как тензорный параллелизм [26] и мгновенное внимание [27] для повышения эффективности.



Рис. 2. Сглаженные потери при обучении для ChipNeMo с усилением токенизатора.


Рисунок 2 иллюстрирует потери обучения ChipNeMo при указанных гиперпараметрах. Мы наблюдаем резкие скачки потерь при обучении. В отличие от гипотезы в [28], мы постулируем, что в нашем сценарии эти всплески можно отнести к «плохим данным», поскольку эти нарушения, по-видимому, постоянно возникают на аналогичных этапах обучения для одной и той же модели, даже для моделей разных размеров. Мы решили не решать эту проблему, поскольку эти аномалии, по-видимому, не существенно затрудняют последующие этапы обучения (без заметного ухудшения потерь при проверке), возможно, из-за применения нами низкой скорости обучения.


C. Контролируемая точная настройка


После DAPT мы выполняем выравнивание модели с контролируемой точной настройкой (SFT). Мы используем ту же конфигурацию обучения гиперпараметров, что и DAPT, для всех моделей, за исключением использования уменьшенного глобального размера пакета, равного 128. Все данные SFT структурированы в соответствии с шаблоном чата, приведенным ниже:


<extra_id_0>система\n{система}

<extra_id_1>Пользователь\n{user_utterance}

<extra_id_1>Ассистент\n{chipnemo_response}


Мы используем цель авторегрессионной оптимизации, реализуя стратегию, в которой маскируются потери, связанные с токенами, исходящими из системы, и пользовательскими подсказками [5]. Такой подход гарантирует, что во время обратного распространения ошибки наше внимание будет направлено исключительно на оптимизацию токенов ответа.


Мы объединяем наш набор данных SFT по домену, содержащий примерно 1,1 тыс. образцов, с более обширным набором данных SFT общего чата, состоящим из 128 тыс. образцов. Затем мы занялись точной настройкой для одной эпохи после применения случайного перемешивания к данным. Мы провели эксперименты, включающие пополнение набора данных SFT для конкретной предметной области более чем за одну эпоху. Однако стало очевидно, что модель быстро проявляла признаки переоснащения, когда ей предлагались вопросы внутри предметной области, часто повторяя нерелевантные ответы из набора данных SFT предметной области.


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


  1. ChipNeMo-Chat: модели, настроенные как для доменных, так и для общих данных чата;


  2. ChipNeMo-Chat (noDSFT): модели, настроенные исключительно на общие данные чата.


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


D. Генерация с расширенным поиском


Хорошо известно, что LLM могут генерировать неточный текст, так называемые галлюцинации [29]. Хотя это явление до конца не изучено, нам все равно необходимо смягчать галлюцинации, поскольку они особенно проблематичны в контексте чат-бота-помощника инженера, где точность имеет решающее значение. Наше предложение — использовать метод дополненной генерации (RAG). RAG пытается извлечь соответствующие отрывки из базы данных для включения в подсказку вместе с вопросом, что позволяет LLM давать более точные ответы. Мы обнаружили, что использование языковой модели, адаптированной к предметной области, для RAG значительно улучшает качество ответов на вопросы, специфичные для нашей предметной области. Кроме того, мы обнаружили, что точная настройка готовой неконтролируемой предварительно обученной модели плотного поиска с небольшим количеством обучающих данных для конкретной предметной области значительно повышает точность поиска. Схема реализации RAG, адаптированная к предметной области, показана на рисунке 3.


Рис. 3. Варианты реализации RAG


Мы создали нашу адаптированную к предметной области модель поиска путем тонкой настройки модели e5_small_unsupervised [30] с 3000 автоматически сгенерированными выборками для конкретной предметной области с использованием структуры Tevatron [31]. Процесс формирования выборки и обучения описан в Приложении C.


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


Этот документ доступен на arxiv под лицензией CC 4.0.