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.
Evaluamos nuestra metodología de capacitación y el rendimiento de la aplicación en esta sección. Estudiamos los modelos 7B y 13B en la evaluación de la metodología de capacitación, y solo los modelos 13B en la evaluación del desempeño de la aplicación. A modo de comparación, también evaluamos dos modelos de chat básicos: LLaMA2-13B-Chat* y LLaMA2-70B-Chat. LLaMA2-13B-Chat* es la base del modelo base LLaMA2 13B ajustado con nuestro conjunto de datos de instrucciones de chat de propósito general, que es diferente del modelo LLaMA2-13B-Chat original entrenado con aprendizaje reforzado a partir de retroalimentación humana (RLHF). Elegimos hacerlo para una comparación justa de los modelos adaptados al dominio y los modelos base bajo el mismo enfoque de alineación de modelos. LLaMA2-70B-Chat es el modelo LLaMA2-Chat lanzado públicamente y entrenado con RLHF, que se considera el modelo de chat de código abierto de última generación (SOTA).
A. Tokenizador
Adaptamos el tokenizador LLaMA2 (que contiene 32.000 tokens) a conjuntos de datos de diseño de chips mediante el proceso de cuatro pasos descrito anteriormente. Se agregan aproximadamente 9.000 tokens nuevos al tokenizador LLaMA2. Los tokenizadores adaptados pueden mejorar la eficiencia de la tokenización entre un 1,6 % y un 3,3 % en varios conjuntos de datos de diseño de chips, como se muestra en la Figura 5. No observamos ninguna evidencia obvia.
cambios en la eficiencia del tokenizador en datos públicos. Es importante destacar que no hemos observado una disminución significativa en la precisión del LLM en los puntos de referencia públicos cuando se utilizan tokenizadores aumentados personalizados incluso antes de DAPT.
B. Preentrenamiento adaptativo de dominio
La Figura 6 presenta los resultados de los modelos ChipNeMo en el punto de referencia AutoEval para el dominio de diseño de chips y los puntos de referencia académicos de dominio abierto. Los resultados de nuestra investigación se pueden resumir de la siguiente manera:
Los modelos DAPT exhiben una ligera degradación en la precisión en los puntos de referencia académicos de dominio abierto.
DAPT ejerce un impacto positivo sustancial en las tareas dentro del propio dominio. Este efecto se manifiesta en mejoras significativas en el conocimiento del diseño interno, así como en el conocimiento general del diseño de circuitos.
El uso de modelos fundamentales más grandes y con mayor rendimiento produce mejores resultados cero en tareas de dominios específicos. Además, el empleo de modelos base superiores da como resultado modelos de dominio mejorados después de DAPT, lo que conduce a un mayor rendimiento en las tareas del dominio.
Las mejoras atribuidas a DAPT con tareas en el dominio exhiben una correlación positiva con el tamaño del modelo, y los modelos más grandes demuestran mejoras más pronunciadas en el desempeño de tareas específicas del dominio después de DAPT.
C. Estudios de ablación de entrenamiento
Para nuestros estudios de ablación, realizamos múltiples rondas de preentrenamiento adaptativo de dominio. Proporcionamos resúmenes breves y nos referimos al Apéndice B para obtener más detalles.
Las diferencias entre el entrenamiento con el tokenizador aumentado y el tokenizador original parecían insignificantes. Por lo tanto, atribuimos principalmente la degradación de la precisión en los puntos de referencia académicos a los datos de dominio. Además, la eliminación del conjunto de datos públicos solo tuvo un ligero retroceso en la mayoría de las tareas, incluidos los puntos de referencia académicos, con la excepción de la codificación Verilog, donde observamos una diferencia notable. Esto sugiere que la inclusión de datos de GitHub Verilog contribuyó a mejorar las capacidades de codificación de Verilog, particularmente cuando los modelos básicos carecían de datos suficientes en este dominio.
En nuestra exploración, experimentamos empleando una tasa de aprendizaje mayor, como en CodeLLaMA [32]. Observamos grandes picos en la pérdida de entrenamiento en los pasos iniciales del entrenamiento. Aunque este enfoque eventualmente condujo a una mejor capacitación y pérdida de validación, notamos degradaciones sustanciales en todos los puntos de referencia académicos y específicos de dominio, excepto en la codificación. Nuestra hipótesis es que una tasa de aprendizaje más pequeña jugó un doble papel, facilitando la destilación del conocimiento del dominio a través de DAPT y al mismo tiempo manteniendo un equilibrio que no se desvió demasiado del modelo base, preservando así las capacidades generales del lenguaje natural.
También exploramos la aplicación del ajuste fino eficiente de parámetros (PEFT) en el contexto del preentrenamiento adaptativo de dominio (DAPT). En esta búsqueda, realizamos dos experimentos que involucraron la incorporación de adaptadores LoRA [16], introduciendo parámetros adicionales de 26,4 millones (pequeños) y 211,2 millones (grandes) respectivamente. En ambos casos, nuestros hallazgos revelaron una brecha significativa en la precisión de las tareas en el dominio en comparación con el enfoque DAPT de parámetros completos. Además, al comparar los resultados entre los modelos PEFT pequeños y grandes, observamos una mejora marginal en la precisión de las tareas en el dominio, y los modelos grandes mostraron una ligera mejora.
D. Costo de capacitación
Todos los modelos han sido entrenados utilizando 128 GPU A100. Estimamos los costos asociados con el preentrenamiento adaptativo del dominio para ChipNeMo como se ilustra en la Tabla IV. Vale la pena señalar que DAPT representa menos del 1,5 % del costo total del entrenamiento previo de un modelo fundamental desde cero.
E. RAG y Chatbot asistente de ingeniería
Creamos un punto de referencia para evaluar el rendimiento de la asistencia por chat de diseño, que utiliza el método RAG. Este punto de referencia incluye 88 preguntas en tres categorías: arquitectura/diseño/especificaciones de verificación (Specs), documentación de regresión del banco de pruebas (Testbench) y documentación de construcción de infraestructura (Build). Para cada pregunta, especificamos la respuesta de oro, así como los párrafos del documento de diseño que contienen el conocimiento relevante para la respuesta. Estas preguntas son creadas manualmente por los diseñadores basándose en un conjunto de documentos de diseño como almacén de datos para su recuperación. Incluye alrededor de 1,8 000 documentos, que se segmentaron en 67 000 pasajes, cada uno de unos 512 caracteres.
Primero, comparamos nuestro modelo de recuperación adaptado al dominio con Sentence Transformer [33] y e5_small_unsupervised [30] en cada categoría. Cada modelo recupera sus 8 pasajes principales del almacén de datos.
Las consultas en la categoría Especificaciones se derivan directamente de pasajes de los documentos, por lo que sus respuestas a menudo están bien contenidas en un pasaje conciso y abordan claramente la consulta.
Por otro lado, las consultas de las categorías Testbench y Build no se derivan directamente de los pasajes, por lo que sus respuestas a menudo no eran tan evidentes en los pasajes obtenidos y requerían más contexto (consulte el Apéndice C para ejemplos detallados). Esto contribuye significativamente a la diferencia en la calidad de recuperación entre las categorías.
Realizamos una evaluación de múltiples modelos ChipNeMo y modelos LLaMA2 con y sin RAG. Luego, evaluadores humanos calificaron los resultados en una escala de 10 puntos y se muestran en la Figura 8.
Hicimos las siguientes observaciones:
• RAG aumenta significativamente las puntuaciones humanas. RAG mejora las puntuaciones de LLaMA2-13B-Chat*, ChipNeMo-13B-Chat y LLaMA2-70B-Chat en 3,82, 2,19 y 5,05, respectivamente. Tenga en cuenta que las puntuaciones son generalmente más altas incluso con fallas RAG, particularmente en los modelos LLaMA2. Nuestra hipótesis es que el contexto adicional en el dominio ayuda a mejorar el rendimiento.
• ChipNeMo-13B-Chat supera a LLaMA2-13B-Chat* de tamaño similar en evaluaciones de modelo únicamente y RAG en 2,88 y 1,25, respectivamente.
• ChipNeMo-13B-Chat con RAG logra la misma puntuación (7,4) que el modelo 5 veces más grande LLaMA2-70B-Chat con RAG, donde LLaMA2-70B-Chat obtiene mejores resultados en la extracción de respuestas a los aciertos; sin embargo, la adaptación del dominio compensa los fallos.
• Domain SFT ayuda a mejorar el rendimiento de ChipNeMo-13B-Chat en 0,28 (con RAG) y 0,33 (sin RAG).
Los resultados completos de la evaluación de todos los modelos se muestran en el Apéndice D.
F. Generación de guiones EDA
Para evaluar nuestro modelo en la tarea de generación de scripts EDA, creamos dos tipos diferentes de puntos de referencia. La primera es un conjunto de tareas de dificultad “fácil” y “media” (soluciones de 1 a 4 líneas) que se pueden evaluar sin intervención humana comparándolas con una respuesta dorada. Debido al trabajo requerido para construir y evaluar estos puntos de referencia, solo tenemos esta evaluación configurada para nuestra tarea de Python. El segundo conjunto de tareas ("Difíciles") provienen de escenarios de casos de uso reales que eligieron nuestros ingenieros. Estas tareas son mucho más difíciles y requieren decenas de líneas para resolverlas. Debido a que son difíciles de evaluar de forma automática, hicimos que ingenieros humanos juzgaran la exactitud entre 0% y 100%. El tamaño de estos puntos de referencia se describe en la Tabla V. Se está trabajando para aumentar el tamaño y el alcance de estos puntos de referencia para permitirnos mejorar aún más estos modelos.
Descubrimos que nuestros modelos no podían responder a algunas de nuestras tareas más difíciles. Las tareas requerían conocimiento de muchas API de herramientas y el modelo parecía incapaz de decidir cuáles eran las adecuadas manteniendo el flujo de control correctamente organizado. Para mitigar esto, agregamos un contexto seleccionado por humanos al mensaje, específico para cada pregunta. Este contexto contenía explicaciones de diferentes funciones o atributos necesarios para escribir correctamente el guión deseado. Solo proporcionamos esto para la categoría de referencia "Difícil con el contexto". Esto también nos permite estudiar el posible efecto de una solución basada en la recuperación, que dejamos para trabajos futuros.
Como se puede ver en los resultados de la ablación en la Figura 9, tanto DAPT como SFT de dominio para nuestro problema fueron importantes. Sin DAPT, el modelo tenía poca o ninguna comprensión de las API subyacentes y tuvo un rendimiento deficiente en los puntos de referencia evaluados automáticamente. Domain SFT mejoró aún más los resultados. Creemos que esto se debe a que los datos SFT de nuestro dominio ayudan a guiar el modelo para presentar el guión final de la manera más directamente aplicable.
Un resultado interesante es la tasa de aprobación del LLaMA2-70B en los puntos de referencia "Difíciles con el contexto". Funciona mejor que la mayoría de los modelos en la herramienta Python pero mal en la herramienta Tcl. Esto probablemente se deba a que, cuando se le proporciona el contexto correcto, la capacidad superior de codificación general de Python de LLaMA2-70B es capaz de resolver problemas novedosos en los que no ha sido entrenado. Sin embargo, el modelo LLaMA2-70B no puede generalizar su capacidad de codificación a la herramienta Tcl, probablemente porque no ha estado expuesto a un gran volumen de código Tcl. Esto resalta el beneficio de DAPT cuando se trata de lenguajes de programación propietarios o de bajo volumen.
G. Resumen y análisis de errores
Para evaluar nuestros modelos de resumen y análisis de errores, tenemos un conjunto de 40 errores que son candidatos ideales para el resumen. Esto incluye tener un largo historial de comentarios u otros datos que hagan que los errores sean difíciles de resumir rápidamente para un humano. Luego pedimos a los humanos que califiquen ambos modos de resumen, así como la tarea de error que sugiere el LLM. La métrica de evaluación se basa en una escala Likert de 7 puntos. Nuestros resultados se incluyen en la Figura 10.
Los modelos ChipNeMo-13B-Chat superan al modelo base LLaMA2-13B-Chat* en las tres tareas, mejorando la puntuación Likert de 7 puntos en 0,82, 1,09 y 0,61 para resumen técnico, resumen gerencial y recomendación de tarea, respectivamente. Domain SFT también mejora significativamente el rendimiento sin dominio SFT en resumen gerencial y asignación de tareas.
Nuestra hipótesis es que, a diferencia de la tarea de resumen técnico, cuya calidad y contenido técnico dependen más de la comprensión del modelo de la semántica del lenguaje natural, el resumen gerencial requiere que el modelo comprenda cómo resumir los datos de entrada conservando al mismo tiempo los nombres clave del personal/ingenieros. Esto necesita un ajuste más cuidadoso del LLM basado en instrucciones.
El modelo LLaMA2-70B-Chat también funciona muy bien en las tres tareas, superando al modelo ChipNeMo-13B en todas las tareas. Tenga en cuenta que el modelo LLaMA2-70B-Chat también sufre desafíos de contexto largo con un tamaño de contexto de 4096, creemos que son esquemas efectivos de fragmentación y combinación (jerárquicos e incrementales), elección de indicaciones de instrucción en varias etapas de resumen, elección de indicaciones durante la asignación de tareas, y el formato/preprocesamiento de datos sin procesar ayudan a sortear el desafío del contexto largo y permiten que LLaMA2-70B-Chat alcance puntajes altos incluso sin DAPT y SFT de dominio.
Este documento está disponible en arxiv bajo licencia CC 4.0.