paint-brush
ChipNeMo: LLM adaptados al dominio para diseño de chips: métodos de adaptación de dominio de ChipNemopor@textmodels

ChipNeMo: LLM adaptados al dominio para diseño de chips: métodos de adaptación de dominio de ChipNemo

Demasiado Largo; Para Leer

Los investigadores presentan ChipNeMo, que utiliza la adaptación de dominio para mejorar los LLM para el diseño de chips, logrando una reducción del tamaño del modelo de hasta cinco veces con un mejor rendimiento.
featured image - ChipNeMo: LLM adaptados al dominio para diseño de chips: métodos de adaptación de dominio de ChipNemo
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

Autores:

(1) Mingjie Liu, NVIDIA {Contribución igual};

(2) Teodor-Dumitru Ene, NVIDIA {Contribución igual};

(3) Robert Kirby, NVIDIA {Contribución igual};

(4) Chris Cheng, NVIDIA {Contribución igual};

(5) Nathaniel Pinckney, NVIDIA {Contribución igual};

(6) Rongjian Liang, NVIDIA {Contribución igual};

(7) Jonás Alben, NVIDIA;

(8) Himyanshu Anand, NVIDIA;

(9) Sanmitra Banerjee, NVIDIA;

(10) Ismet Bayraktaroglu, NVIDIA;

(11) Bonita Bhaskaran, NVIDIA;

(12) Bryan Catanzaro, NVIDIA;

(13) Arjun Chaudhuri, NVIDIA;

(14) Sharon Clay, NVIDIA;

(15) Bill Dally, NVIDIA;

(16) Laura Dang, NVIDIA;

(17) Parikshit Deshpande, NVIDIA;

(18) Siddhanth Dhodhi, NVIDIA;

(19) Sameer Halepete, NVIDIA;

(20) Eric Hill, NVIDIA;

(21) Jiashang Hu, NVIDIA;

(22) Sumit Jain, NVIDIA;

(23) Brucek Khailany, NVIDIA;

(24) George Kokai, NVIDIA;

(25) Kishor Kunal, NVIDIA;

(26) Xiaowei Li, NVIDIA;

(27) Charley Lind, NVIDIA;

(28) Hao Liu, NVIDIA;

(29) Stuart Oberman, NVIDIA;

(30) Sujeet Omar, NVIDIA;

(31) Sreedhar Pratty, NVIDIA;

(23) Jonathan Raiman, NVIDIA;

(33) Ambar Sarkar, NVIDIA;

(34) Zhengjiang Shao, NVIDIA;

(35) Hanfei Sun, NVIDIA;

(36) Pratik P. Suthar, NVIDIA;

(37) Varun Tej, NVIDIA;

(38) Walker Turner, NVIDIA;

(39) Kaizhe Xu, NVIDIA;

(40) Haoxing Ren, NVIDIA.

Tabla de enlaces

III. MÉTODOS DE ADAPTACIÓN DEL DOMINIO CHIPNEMO

ChipNeMo implementa múltiples técnicas de adaptación de dominios para adaptar los LLM al dominio de diseño de chips. Estas técnicas incluyen tokenizadores personalizados para datos de diseño de chips, preentrenamiento adaptativo de dominio con un gran corpus de datos de dominio, ajuste supervisado con tareas específicas de dominio y generación de recuperación aumentada con un modelo de recuperación ajustado. Ilustraremos los detalles de cada técnica en esta sección.


A. Tokenizador


Al adaptar un tokenizador previamente entrenado, los objetivos principales son mejorar la eficiencia de la tokenización en datos específicos del dominio, mantener la eficiencia y el rendimiento del modelo de lenguaje en conjuntos de datos generales y minimizar el esfuerzo de reentrenamiento/ajuste. Para lograr esto, hemos desarrollado un enfoque de cuatro pasos:


• Paso 1: entrenar un tokenizador desde cero utilizando datos específicos del dominio.


• Paso 2: A partir del vocabulario del nuevo tokenizador, identificar los tokens que están ausentes en el tokenizador de propósito general y que rara vez se encuentran en conjuntos de datos de propósito general.


TABLA I: Desglose de datos por fuente. Recuento de tokens medido con el tokenizador LLaMA2 original.


TABLA II: Desglose de datos de OFV de dominio.


TABLA III: Punto de referencia de evaluación de dominio específico.


• Paso 3: Ampliar el tokenizador de uso general con los tokens recién identificados en el Paso 2.


• Paso 4: Inicializar las incorporaciones de los nuevos tokens utilizando el tokenizador de uso general.


Específicamente para el Paso 4, cuando se encuentra un nuevo token, se tokeniza utilizando el tokenizador de propósito general previamente entrenado. La incorporación del nuevo token se determina promediando las incorporaciones de los tokens generadas por el tokenizador de propósito general [24] y los pesos de la capa de salida inicializados a cero.


El paso 2 ayuda a mantener el rendimiento del LLM previamente entrenado en conjuntos de datos generales al introducir selectivamente nuevos tokens que rara vez se encuentran en conjuntos de datos de propósito general. Y el Paso 4 reduce el esfuerzo requerido para volver a capacitar/afinar el LLM mediante la inicialización de la incorporación de nuevos tokens guiados por el tokenizador de propósito general.


B. Preentrenamiento adaptativo de dominio


En nuestro estudio, aplicamos DAPT en modelos de base de cimentación previamente entrenados LLaMA2 7B/13B. Cada modelo DAPT se inicializa utilizando los pesos de sus correspondientes modelos base fundamentales previamente entrenados. Llamamos a nuestros modelos DAPT ChipNeMo . Empleamos el aumento del tokenizador como se muestra en la Sección III-A e inicializamos el peso de incrustación en consecuencia [24]. Llevamos a cabo una capacitación previa adicional sobre datos de dominios específicos empleando el objetivo de modelado de lenguaje autorregresivo estándar. Todos los procedimientos de entrenamiento del modelo se llevan a cabo utilizando el marco NVIDIA NeMo [25], incorporando técnicas como el paralelismo tensorial [26] y la atención flash [27] para mejorar la eficiencia.



Fig. 2: Pérdida de entrenamiento suavizada para ChipNeMo con aumento de tokenizador.


La Figura 2 ilustra la pérdida de entrenamiento de ChipNeMo bajo los hiperparámetros especificados. Observamos picos en la pérdida de entrenamiento. En contraste con la hipótesis de [28], postulamos que en nuestro escenario, estos picos pueden atribuirse a "datos incorrectos", ya que estas irregularidades parecen ocurrir consistentemente en pasos de entrenamiento similares para el mismo modelo, incluso en modelos de diferentes tamaños. Decidimos no abordar este problema, ya que estas anomalías no parecían impedir significativamente los pasos de entrenamiento posteriores (sin una degradación notable en la pérdida de validación), posiblemente debido a nuestra aplicación de una tasa de aprendizaje baja.


C. Ajuste supervisado


Después de DAPT, realizamos la alineación del modelo con ajuste fino supervisado (SFT). Adoptamos la misma configuración de entrenamiento de hiperparámetros que DAPT para todos los modelos, con la excepción de utilizar un tamaño de lote global reducido de 128. Todos los datos de SFT están estructurados de acuerdo con la plantilla de chat a continuación:


<extra_id_0>sistema\n{sistema}

<extra_id_1>Usuario\n{user_utterance}

<extra_id_1>Asistente\n{chipnemo_response}


Empleamos un objetivo de optimización autorregresivo, implementando una estrategia en la que se enmascaran las pérdidas asociadas con los tokens que se originan en el sistema y las indicaciones del usuario [5]. Este enfoque garantiza que durante la retropropagación, nuestro enfoque se dirija exclusivamente a la optimización de los tokens de respuesta.


Combinamos nuestro conjunto de datos SFT de dominio, que comprende aproximadamente 1,1 mil muestras, con el conjunto de datos SFT de chat general más extenso de 128 mil muestras. Luego realizamos ajustes para una única época después de aplicar una mezcla aleatoria a los datos. Realizamos experimentos que implicaron el aumento del conjunto de datos SFT de dominio específico durante más de una época. Sin embargo, se hizo evidente que el modelo rápidamente mostraba signos de sobreajuste cuando se le presentaban preguntas dentro del dominio, repitiendo a menudo respuestas irrelevantes del conjunto de datos SFT del dominio.


Además, realizamos una SFT adicional utilizando únicamente el conjunto de datos de chat general, excluyendo cualquier dato SFT específico del dominio. Para mayor claridad, designamos todos nuestros modelos ChipNeMo de la siguiente manera:


  1. ChipNeMo-Chat: Modelos ajustados con datos de dominio y de chat generales;


  2. ChipNeMo-Chat (noDSFT): Modelos ajustados exclusivamente con datos generales del chat.


También experimentamos con DAPT directamente en un modelo alineado con el chat, como el modelo LLaMA2-Chat. Descubrimos que DAPT degradó significativamente la alineación del modelo, haciendo que el modelo resultante fuera inútil para tareas posteriores.


D. Generación aumentada de recuperación


Es bien sabido que los LLM pueden generar textos inexactos, las llamadas alucinaciones [29]. Aunque el fenómeno no se comprende completamente, aún debemos mitigar las alucinaciones, ya que son particularmente problemáticas en el contexto de un chatbot asistente de ingeniería, donde la precisión es fundamental. Nuestra propuesta es aprovechar el método de generación aumentada de recuperación (RAG). RAG intenta recuperar pasajes relevantes de una base de datos para incluirlos en la pregunta junto con la pregunta, lo que permite al LLM producir respuestas más precisas. Descubrimos que el uso de un modelo de lenguaje adaptado al dominio para RAG mejora significativamente la calidad de las respuestas a nuestras preguntas específicas del dominio. Además, encontramos que ajustar un modelo de recuperación denso previamente entrenado y no supervisado disponible en el mercado con una cantidad modesta de datos de entrenamiento específicos del dominio mejora significativamente la precisión de la recuperación. Nuestro diagrama de implementación de RAG adaptado al dominio se ilustra en la Figura 3.


Fig. 3: Variaciones de implementación de RAG


Creamos nuestro modelo de recuperación adaptado al dominio ajustando el modelo e5_small_unsupervised [30] con 3000 muestras generadas automáticamente de dominio específico utilizando el marco Tevatron [31]. El proceso de generación de muestras y capacitación se tratan en el Apéndice C.


Incluso con los importantes beneficios que se obtienen al perfeccionar un modelo de recuperación, el hecho es que la recuperación todavía tiene problemas con consultas que no se asignan directamente a pasajes del corpus del documento o que requieren más contexto que no está presente en el pasaje. Desafortunadamente, estas consultas también son más representativas de las consultas que formularán los ingenieros en situaciones reales. Combinar la recuperación con un modelo de lenguaje adaptado al dominio es una forma de abordar este problema.


Este documento está disponible en arxiv bajo licencia CC 4.0.