Autoren:
(1) Mingjie Liu, NVIDIA {Gleicher Beitrag};
(2) Teodor-Dumitru Ene, NVIDIA {Gleicher Beitrag};
(3) Robert Kirby, NVIDIA {Gleicher Beitrag};
(4) Chris Cheng, NVIDIA {Gleicher Beitrag};
(5) Nathaniel Pinckney, NVIDIA {Gleicher Beitrag};
(6) Rongjian Liang, NVIDIA {Gleicher Beitrag};
(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.
A. Überlegungen zur Domänenanpassung
Obwohl domänenangepasste ChipNeMo-Modelle erhebliche Verbesserungen gegenüber ihren entsprechenden Basismodellen erzielen, beobachten wir auch, dass das größere LLaMA2 70B manchmal eine ähnliche Genauigkeit wie ChipNeMo erreichen kann, wie in den Abbildungen 8, 9 und 10 zu sehen ist. In jüngsten Arbeiten wurden diese leistungsstarken Modelle zur Durchführung von Chipdesignaufgaben genutzt.
Es ist jedoch wichtig, die Kosteneffizienzvorteile zu berücksichtigen, die sich aus der Verwendung eines kleineren Modells ergeben. Pope et al. zeigen, dass die Inferenzkosten bei einem 8B-Modell bei gleichen Latenzzielen 8-12x niedriger sind als bei einem 62B-Modell [34]. Darüber hinaus kann die Reduzierung der Modellgröße zu einer dramatischen Steigerung der Inferenzgeschwindigkeit führen, indem ein Modell in eine einzelne GPU oder einen einzelnen Knoten passt, wo dies sonst nicht möglich wäre [35]. Unser ChipNeMo 13B-Modell kann im Gegensatz zum LLaMA2 70B-Modell ohne Quantisierung in den Speicher einer einzelnen A100-GPU geladen werden. Dies führt zu einer deutlichen Steigerung der Inferenzgeschwindigkeit bei normalem GPU-Betrieb, die gegen eine deutliche Reduzierung der Inferenzkosten eingetauscht werden kann, falls die GPU untertaktet wird.
Bei der Entscheidung zwischen der Verwendung eines größeren Allzweckmodells und eines kleineren spezialisierten Modells in einer Produktionsumgebung müssen daher die folgenden Kriterien berücksichtigt werden:
• Kompromiss zwischen Training und Inferenz: Kleinere, an die Domäne angepasste Modelle können die Genauigkeit größerer Allzweckmodelle erreichen. Während die Domänenanpassung zusätzliche Vorlaufkosten verursacht, führt die Verwendung kleinerer Modelle zu deutlich geringeren Betriebskosten.
• Einzigartigkeit des Anwendungsfalls: Wie aus den Abbildungen 6, 9 und 10 ersichtlich ist, zeigen domänenangepasste Modelle die größte Verbesserung bei Aufgaben, die selten in der öffentlichen Domäne vorkommen, wie etwa das Schreiben von Code in proprietären Sprachen oder Bibliotheken. Tatsächlich zeigen unsere Daten, dass große Allzweckmodelle selbst dann, wenn sie mit handverlesenen Kontexten versehen werden, Schwierigkeiten haben, die Genauigkeit domänenangepasster Modelle in solchen Szenarien zu erreichen.
• Verfügbarkeit von Domänendaten: Domänenanpassung funktioniert am besten, wenn große Mengen an Trainingsdaten vorhanden sind, d. h. Milliarden von Trainingstoken. Dies ist häufig bei großen Unternehmen und Projekten der Fall, bei denen eine große Menge an internen Dokumenten und Code angesammelt ist, gilt aber nicht unbedingt für kleinere Unternehmen oder Projekte.
• Vielfalt der Endanwendungsfälle: Es ist möglich, ein allgemeines Modell für eine bestimmte Aufgabe zu optimieren, aber domänenangepasste Modelle eignen sich für eine Vielzahl von Aufgaben in einer Domäne. Obwohl wir in dieser Arbeit nur drei Anwendungsfälle für ChipNeMo-Modelle demonstrieren, können sie mit ausreichenden SFT-Daten problemlos für andere Anwendungsfälle wiederverwendet werden.
B. Leistungslücke
Obwohl ChipNeMo in unseren ausgewählten Anwendungen, wie in Anhang E dargestellt, beeindruckende Ergebnisse erzielt, zeigen die Bewertungsergebnisse für alle Anwendungen immer noch eine erhebliche Lücke zur Leistung menschlicher Experten. Wir erwägen die folgenden Ansätze, um diese Leistungslücke zu schließen:
1) Datensammlung: Wir können den DAPT-Datensatz erweitern, um weitere interne, proprietäre Daten aufzunehmen. Darüber hinaus planen wir, weitere aufgabenspezifische Befehlssätze für SFT hinzuzufügen, da nachweislich aufgabenspezifisches SFT die Auswertungsergebnisse erheblich verbessert.
2) Basismodell: Wir erwarten, dass bessere und größere Basismodelle die Leistung verbessern können, wie z. B. LLaMA2 70B. Wir können auch die Anwendung von DAPT auf codespezifische Basismodelle wie Code LLaMA [32] für Codegenerierungsaufgaben untersuchen.
3) Training: Wir planen auch, Reinforcement Learning aus menschlichem Feedback (RLHF) [36] über das ChipNeMo-Chat-Modell durchzuführen, um es vielseitiger zu machen. Wir planen, vorab trainierte Belohnungsmodelle zu nutzen, die über allgemeine Datensätze trainiert wurden. Wir planen auch, Langkontexttraining [37] durchzuführen, um die Herausforderung zu bewältigen, bei der ein langer Kontext benötigt wird, z. B. in der Anwendung zur Fehlerzusammenfassung. Im Allgemeinen würde eine längere Kontextunterstützung dazu beitragen, abrufbasierte Methoden für die Chat-Unterstützung sowie die Codegenerierung zu verbessern.
4) Abruf: Wir werden bessere RAG-Methoden sowohl für den Engineering-Assistant-Chatbot als auch für die EDA-Skriptgenerierung weiter untersuchen. Für den Engineering-Assistant-Chatbot können wir verschiedene Datenspeicher für verschiedene Anwendungsbereiche erstellen. Wir können auch Unternehmenssuchmaschinen mit RAG integrieren, um relevanten Kontext für eine Vielzahl von Problemen zu finden. Für die Codegenerierung können wir den automatischen Abruf von Kontext aus vorhandenem Code und Dokumentation untersuchen.
C. Agentenbasierte Designmethoden
Die Anwendungsfälle, die wir in dieser Arbeit erprobt haben, sind direkte Anwendungen der Eingabeaufforderungs- und Reaktionsfähigkeit von LLMs. Agenten beziehen sich auf die Verwendung eines LLMs zur Auswahl einer Abfolge von auszuführenden Aktionen, wobei ein LLM als Argumentationsmaschine fungiert, um externe Tools anzutreiben. Chipdesignprozesse beinhalten viele vorhandene EDA-Tools und -Methoden. Wir glauben, dass einige dieser Methoden von Agenten gesteuert werden können, die von domänenangepassten LLMs wie ChipNeMo-Modellen angetrieben werden. Wir planen, in Zukunft an agentenbasierten Designmethoden zur Verifizierung und Optimierung zu arbeiten.
Dieses Dokument ist auf Arxiv unter der CC 4.0-Lizenz verfügbar .