paint-brush
ChipNeMo : LLM adaptés au domaine pour la conception de puces : résumé et introductionpar@textmodels
177 lectures

ChipNeMo : LLM adaptés au domaine pour la conception de puces : résumé et introduction

Trop long; Pour lire

Les chercheurs présentent ChipNeMo, qui utilise l'adaptation de domaine pour améliorer les LLM pour la conception de puces, permettant ainsi de réduire la taille du modèle jusqu'à 5 fois avec de meilleures performances.
featured image - ChipNeMo : LLM adaptés au domaine pour la conception de puces : résumé et introduction
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

Auteurs:

(1) Mingjie Liu, NVIDIA {Contribution égale} ;

(2) Teodor-Dumitru Ene, NVIDIA {Contribution égale} ;

(3) Robert Kirby, NVIDIA {Contribution égale} ;

(4) Chris Cheng, NVIDIA {Contribution égale} ;

(5) Nathaniel Pinckney, NVIDIA {Contribution égale} ;

(6) Rongjian Liang, NVIDIA {Contribution égale} ;

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

Tableau des liens


Abstrait

ChipNeMo vise à explorer les applications des grands modèles de langage (LLM) pour la conception de puces industrielles. Au lieu de déployer directement des LLM commerciaux ou open source prêts à l'emploi, nous adoptons plutôt les techniques d'adaptation de domaine suivantes : tokeniseurs personnalisés, préformation continue adaptative au domaine, réglage fin supervisé (SFT) avec des instructions spécifiques au domaine et domaine- modèles de récupération adaptés. Nous évaluons ces méthodes sur trois applications LLM sélectionnées pour la conception de puces : un chatbot assistant d'ingénierie, la génération de scripts EDA et la synthèse et l'analyse des bogues. Nos résultats montrent que ces techniques d'adaptation de domaine permettent des améliorations significatives des performances LLM par rapport aux modèles de base à usage général dans les trois applications évaluées, permettant une réduction jusqu'à 5 fois de la taille du modèle avec des performances similaires ou meilleures sur une gamme de tâches de conception. Nos résultats indiquent également qu'il y a encore place à l'amélioration entre nos résultats actuels et les résultats idéaux. Nous pensons qu’une étude plus approfondie des approches LLM adaptées au domaine contribuera à combler cette lacune à l’avenir.

INTRODUCTION

Au cours des dernières décennies, les algorithmes et outils d’automatisation de la conception électronique (EDA) ont permis d’énormes gains de productivité en matière de conception de puces. Associée à l'augmentation exponentielle des densités de transistors fournie par la loi de Moore, l'EDA a permis le développement de conceptions de SoC complexes et riches en fonctionnalités, comportant des milliards de transistors. Plus récemment, les chercheurs ont exploré les moyens d'appliquer l'IA aux algorithmes EDA et au processus de conception de puces pour améliorer encore la productivité de la conception de puces [1] [2] [3]. Cependant, de nombreuses tâches fastidieuses de conception de puces impliquant une interface avec des langages naturels ou des langages de programmation n’ont toujours pas été automatisées. Les dernières avancées en matière de grands modèles de langage (LLM) commerciaux (ChatGPT, Bard, etc.) et open source (Vicuna [4], LLaMA2 [5], etc.) offrent une opportunité sans précédent d'aider à automatiser ces tâches de conception de puces liées au langage. En effet, les premières recherches universitaires [6] [7] [8] ont exploré les applications des LLM pour générer des RTL capables d'effectuer des tâches simples dans de petits modules de conception ainsi que de générer des scripts pour les outils EDA.


Nous pensons que les LLM ont le potentiel d'aider à la productivité de la conception de puces en utilisant l'IA générative pour automatiser de nombreuses tâches de conception de puces liées au langage telles que la génération de code, les réponses aux questions d'ingénierie via une interface en langage naturel, l'analyse §Contribution égale et génération de rapports, et tri des bogues. . Dans cette étude, nous nous concentrons sur ces trois applications LLM spécifiques : un chatbot assistant d'ingénierie pour les ingénieurs de conception GPU ASIC et Architecture, qui comprend les conceptions matérielles internes et est capable d'expliquer des sujets de conception complexes ; Génération de scripts EDA pour deux outils spécifiques à un domaine basés sur Python et Tcl pour les tâches d'analyse temporelle VLSI spécifiées en anglais ; résumé et analyse des bogues dans le cadre d’un système interne de suivi des bogues et des problèmes.


Bien que les LLM à usage général formés sur de grandes quantités de données Internet présentent des capacités remarquables dans les tâches d'IA générative dans divers domaines (comme l'ont démontré Bubeck et al. dans [9]), des travaux récents tels que BloombergGPT [10] et BioMedLLM [11] démontrent que les modèles LLM spécifiques à un domaine peuvent surpasser un modèle à usage général sur des tâches spécifiques à un domaine. Dans le domaine de la conception matérielle, [6] [12] ont montré que les LLM open source (CodeGen [13]) affinés sur des données Verilog supplémentaires peuvent surpasser les modèles OpenAI de pointe. La personnalisation des LLM de cette manière évite également les risques de sécurité associés à l'envoi de données de conception de puces propriétaires à des LLM tiers via des API. Cependant, il serait prohibitif de former des modèles spécifiques à un domaine pour chaque domaine à partir de zéro, car cela nécessite souvent des millions d'heures de formation sur le GPU. Pour former de manière rentable des modèles spécifiques à un domaine, nous proposons plutôt de combiner les techniques suivantes : DAPT (Domain-Adaptive PreTraining) [14] des modèles de base avec des tokenizers adaptés au domaine, l'alignement du modèle à l'aide d'instructions générales et spécifiques au domaine et la récupération- génération augmentée (RAG) [15] avec un modèle de récupération adapté au domaine formé.


Comme le montre la figure 1, notre approche consiste à commencer par un modèle fondamental de base et à appliquer le DAPT suivi d'un réglage fin supervisé (SFT). DAPT, également connu sous le nom de pré-formation continue avec des données dans le domaine, s'est avéré efficace dans des domaines tels que les publications, les actualités et les critiques biomédicales et informatiques. Dans notre cas, nous construisons notre ensemble de données de pré-formation spécifique au domaine à partir d'une collection de codes propriétaires liés au matériel (par exemple, logiciels, RTL, bancs de test de vérification, etc.) et d'ensembles de données en langage naturel (par exemple, spécifications matérielles, documentation, etc.). Nous nettoyons et prétraitons l'ensemble de données brutes, puis continuons à pré-entraîner un modèle de base avec les données spécifiques au domaine. Nous appelons le modèle résultant un ChipNeMo


Figure 1 : Flux de formation ChipNeMo


Modèle de fondation. DAPT est réalisé sur une fraction des jetons utilisés lors de la pré-formation et est beaucoup moins cher, ne nécessitant que quelques milliers d'heures GPU. Comme décrit dans la section V, nous trouvons que cette approche est plus efficace que les techniques de formation efficace aux paramètres (PEFT) telles que LoRA [16] pour nos cas d'utilisation.


Les tokeniseurs LLM convertissent le texte en séquences de jetons pour la formation LLM. Un tokeniseur spécifique au domaine améliore l'efficacité de la tokenisation en adaptant les règles et les modèles aux termes spécifiques au domaine, tels que les mots-clés couramment trouvés dans RTL. Pour DAPT, nous ne pouvons pas recycler un nouveau tokeniseur spécifique au domaine à partir de zéro, car cela rendrait le modèle de base invalide. Au lieu de limiter ChipNeMo au tokeniseur à usage général pré-entraîné utilisé par le modèle de base, nous adaptons plutôt le tokenizer pré-entraîné à notre ensemble de données de conception de puces, en ajoutant uniquement de nouveaux jetons pour les termes spécifiques au domaine.


Les modèles de base ChipNeMo sont des modèles d'achèvement qui nécessitent un réglage fin supervisé (SFT) pour s'adapter à des tâches telles que le chat. Nous utilisons des ensembles de données d'instructions de chat à usage général largement accessibles au public pour le chat multi-tours, ainsi qu'une petite quantité d'ensembles de données d'instructions spécifiques à un domaine pour effectuer SFT sur le modèle de base ChipNeMo, qui produit le modèle ChipNeMo Chat. Nous observons que SFT avec un ensemble de données d'instructions de discussion à usage général est adéquat pour aligner les modèles de base ChipNeMo avec les requêtes dans le domaine de la conception de puces. Nous avons également ajouté une petite quantité de données d'instructions SFT spécifiques à une tâche, ce qui améliore encore l'alignement. Nous avons formé plusieurs modèles ChipNeMo Foundation et Chat basés sur des variantes des modèles LLaMA2 utilisés comme modèle de base de base.


Pour améliorer les performances de l'application chatbot d'assistant d'ingénierie, nous exploitons également la génération augmentée de récupération (RAG). RAG est une approche à livre ouvert permettant de donner aux LLM un contexte précis pour les requêtes des utilisateurs. Il récupère les connaissances pertinentes dans le domaine de son magasin de données pour augmenter la génération de réponses à la requête d'un utilisateur. Cette méthode montre une amélioration significative dans l’ancrage du modèle au contexte d’une question particulière. Nous avons surtout observé des améliorations significatives du taux de réussite de la récupération lors du réglage fin d'un modèle de récupération pré-entraîné avec des données de domaine. Cela a conduit à des améliorations encore plus importantes de la qualité du modèle.


Nous mettons en évidence les contributions et conclusions suivantes liées à l’adaptation des LLM au domaine de la conception de puces :


• Nous démontrons l'efficacité du LLM adapté au domaine sur trois cas d'utilisation : un chatbot d'assistant d'ingénierie, la génération de scripts d'outil EDA et la synthèse et l'analyse des bogues. Nous obtenons un score de 7,4 sur 10 pour les réponses du chatbot de l'assistant d'ingénierie sur la base d'évaluations d'experts, obtenons plus de 50 % d'exactitude dans la génération de scripts EDA et une note d'évaluation d'expert de 4 à 5 sur 7 pour les résumés et l'identification des tâches. Tâches.


• Les modèles ChipNeMo adaptés au domaine surpassent considérablement tous les LLM vanille évalués à la fois sur les benchmarks AutoEval spécifiques au domaine à choix multiples et sur les évaluations humaines des applications.


• Pour les tâches où il est possible pour le modèle de générer du texte à partir du contexte d'invite (par exemple, discussion avec des appels RAG, résumé, génération de code avec la documentation fournie), l'adaptation de domaine comble l'écart entre un modèle LLaMA2 70B de pointe et un modèle 13B beaucoup plus petit (un faible coût de formation supplémentaire permet une réduction des paramètres jusqu'à 5 fois pour un coût d'inférence réduit).


• Les tokeniseurs personnalisés réduisent le nombre de jetons DAPT jusqu'à 3,3 % sans nuire à l'efficacité des applications.


• SFT sur 1,1K instructions supplémentaires spécifiques au domaine améliore considérablement la maîtrise des applications jusqu'à 0,33 sur une échelle de 10 points, 18 % d'exactitude et 0,79 sur une échelle de 7 points dans le chatbot d'assistant d'ingénierie, la génération de scripts EDA et la synthèse des bogues. analyse, respectivement.


• Le réglage fin de notre modèle de récupération ChipNeMo avec des données spécifiques au domaine améliore le taux de réussite du retriever de 30 % par rapport à un retriever de pointe pré-entraîné, améliorant ainsi la qualité globale des réponses RAG.


L'article est organisé de la manière suivante. La section II décrit notre ensemble de données et nos critères d'évaluation automatique pour la vérification des connaissances du domaine. La section III décrit l'adaptation du domaine et les méthodes de formation utilisées, notamment le tokenizer adapté, DAPT, SFT et RAG. La section IV fournit des détails sur chaque application et la configuration expérimentale. La section V décrit les résultats expérimentaux, y compris les évaluations humaines pour chaque application. La section VI traite des limitations de ChipNeMo et des travaux futurs. La section VII décrit les méthodes LLM pertinentes et d'autres travaux ciblant les LLM pour la conception de puces. Enfin, les résultats complets ainsi que des détails supplémentaires sur la formation du modèle et des exemples de texte générés par les cas d'utilisation de l'application sont illustrés en annexe.


Cet article est disponible sur arxiv sous licence CC 4.0.