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.
A. Consideraciones para la adaptación del dominio
Aunque los modelos ChipNeMo adaptados al dominio logran mejoras significativas con respecto a sus modelos básicos correspondientes, también observamos que el LLaMA2 70B más grande a veces puede lograr una precisión similar a la de ChipNeMo, como se ve en las Figuras 8, 9 y 10. Trabajos recientes han aprovechado estos poderosos modelos para realizar tareas de diseño de chips.
Sin embargo, es importante considerar los beneficios de rentabilidad que se obtienen con el uso de un modelo más pequeño. Papa y otros. demuestran que los costos de inferencia en un modelo 8B son entre 8 y 12 veces más bajos que en un modelo 62B para objetivos de latencia iguales [34]. Además, la reducción del tamaño del modelo puede generar aumentos dramáticos en la velocidad de inferencia al permitir que un modelo encaje dentro de una única GPU o nodo donde de otro modo no podría [35]. Nuestro modelo ChipNeMo 13B se puede cargar en la memoria de una única GPU A100 sin ninguna cuantificación, a diferencia del modelo LLaMA2 70B. Esto conduce a aumentos significativos en la velocidad de inferencia bajo el funcionamiento normal de la GPU, lo que puede compensarse con una reducción significativa del costo de inferencia si la GPU no está sincronizada.
Por lo tanto, al decidir entre el uso de un modelo de propósito general más grande o un modelo especializado más pequeño en un entorno de producción, se deben considerar los siguientes criterios:
• Compensación entre entrenamiento e inferencia: los modelos adaptados a dominios más pequeños pueden igualar la precisión de modelos más grandes de propósito general. Si bien la adaptación del dominio genera costos iniciales adicionales, el uso de modelos más pequeños conduce a costos operativos significativamente reducidos.
• Unicidad del caso de uso: como se puede ver en las Figuras 6, 9 y 10, los modelos adaptados al dominio muestran la mayor mejora en tareas que rara vez están presentes en el dominio público, como escribir código en lenguajes propietarios o bibliotecas. De hecho, nuestros datos muestran que incluso cuando se les proporciona contextos cuidadosamente seleccionados, los grandes modelos de propósito general tienen dificultades para igualar la precisión de los modelos adaptados al dominio en tales escenarios.
• Disponibilidad de datos de dominio: la adaptación del dominio funciona mejor cuando hay una gran cantidad de datos de entrenamiento, es decir, miles de millones de tokens de entrenamiento. Este suele ser el caso de grandes corporaciones y proyectos que han acumulado una gran cantidad de documentos y códigos internos, pero no necesariamente es cierto para empresas o proyectos más pequeños.
• Diversidad de casos de uso final: es posible ajustar un modelo de propósito general para una tarea particular, pero los modelos adaptados a un dominio son adecuados para un conjunto diverso de tareas en un dominio. Aunque en este trabajo solo demostramos tres casos de uso para los modelos ChipNeMo, se puede reutilizar fácilmente para otros casos de uso con suficientes datos SFT.
B. Brecha de desempeño
Aunque ChipNeMo logra resultados impresionantes en nuestras aplicaciones seleccionadas, como se muestra en el Apéndice E, los resultados de la evaluación para todas las aplicaciones aún muestran una brecha considerable con el desempeño humano experto. Estamos considerando los siguientes enfoques para cerrar esta brecha de desempeño:
1) Recopilación de datos: podemos ampliar el conjunto de datos DAPT para incluir más datos de propiedad interna. Además, planeamos agregar más conjuntos de instrucciones específicas para tareas para SFT, ya que la evidencia demuestra que SFT para tareas específicas mejora significativamente los resultados de la evaluación.
2) Modelo base: Esperamos que modelos base mejores y más grandes puedan mejorar el rendimiento, como el LLaMA2 70B. También podemos explorar la aplicación de DAPT a modelos base específicos de código, como Code LLaMA [32] para tareas de generación de código.
3) Capacitación: también planeamos realizar aprendizaje reforzado a partir de retroalimentación humana (RLHF) [36] sobre el modelo de chat ChipNeMo para hacerlo más versátil. Planeamos aprovechar modelos de recompensa previamente entrenados en conjuntos de datos de propósito general. También planeamos llevar a cabo capacitación de contexto prolongado [37] para superar el desafío donde se necesita un contexto prolongado, por ejemplo, en la aplicación de resumen de errores. En general, un soporte contextual más prolongado ayudaría a mejorar los métodos basados en la recuperación para la asistencia por chat, así como la generación de código.
4) Recuperación: investigaremos más a fondo mejores métodos RAG tanto para el chatbot asistente de ingeniería como para la generación de scripts EDA. Para el chatbot asistente de ingeniería, podemos crear diferentes almacenes de datos para diferentes áreas de aplicación. También podemos integrar motores de búsqueda empresariales con RAG para encontrar contexto relevante para un conjunto diverso de problemas. Para la generación de código, podemos investigar la recuperación automatizada de contexto a partir del código y la documentación existentes.
C. Metodologías de diseño basadas en agentes
Los casos de uso que experimentamos en este trabajo son aplicaciones sencillas de la capacidad de respuesta rápida de los LLM. Los agentes se refieren al uso de un LLM para elegir una secuencia de acciones a tomar, donde un LLM actúa como un motor de razonamiento para impulsar herramientas externas. Los procesos de diseño de chips involucran muchas herramientas y metodologías EDA existentes. Creemos que algunas de estas metodologías pueden ser impulsadas por agentes impulsados por LLM adaptados al dominio, como los modelos ChipNeMo. Planeamos trabajar en metodologías de diseño basadas en agentes para verificación y optimización en el futuro.
Este documento está disponible en arxiv bajo licencia CC 4.0.