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.
In diesem Abschnitt bewerten wir unsere Trainingsmethodik und Anwendungsleistung. Bei der Bewertung der Trainingsmethodik untersuchen wir sowohl das 7B- als auch das 13B-Modell und bei der Bewertung der Anwendungsleistung nur das 13B-Modell. Zum Vergleich bewerten wir auch zwei Basis-Chatmodelle: LLaMA2-13B-Chat* und LLaMA2-70B-Chat. LLaMA2-13B-Chat* ist das grundlegende LLaMA2 13B-Basismodell, das mit unserem allgemeinen Chat-Anweisungsdatensatz optimiert wurde und sich vom ursprünglichen LLaMA2-13B-Chat-Modell unterscheidet, das mit bestärkendem Lernen aus menschlichem Feedback (RLHF) trainiert wurde. Wir haben uns dafür entschieden, um domänenangepasste Modelle und Basismodelle unter demselben Modellausrichtungsansatz fair vergleichen zu können. LLaMA2-70B-Chat ist das öffentlich veröffentlichte LLaMA2-Chat-Modell, das mit RLHF trainiert wurde und als hochmodernes (SOTA) Open-Source-Chat-Modell gilt.
Ein Tokenisierer
Wir passen den LLaMA2-Tokenizer (mit 32.000 Token) an Chipdesign-Datensätze an, indem wir den zuvor beschriebenen vierstufigen Prozess verwenden. Dem LLaMA2-Tokenizer werden ungefähr 9.000 neue Token hinzugefügt. Die angepassten Tokenizer können die Tokenisierungseffizienz in verschiedenen Chipdesign-Datensätzen um 1,6 % bis 3,3 % verbessern, wie in Abbildung 5 dargestellt. Wir beobachten keine offensichtlichen
Änderungen an der Effizienz des Tokenizers bei öffentlichen Daten. Wichtig ist, dass wir bei der Verwendung der benutzerdefinierten erweiterten Tokenizer selbst vor DAPT keinen signifikanten Rückgang der Genauigkeit des LLM bei öffentlichen Benchmarks festgestellt haben.
B. Domänenadaptives Vortraining
Abbildung 6 zeigt die Ergebnisse für ChipNeMo-Modelle im AutoEval-Benchmark für den Chipdesign-Bereich und in akademischen Open-Domain-Benchmarks. Unsere Forschungsergebnisse können wie folgt zusammengefasst werden:
DAPT-Modelle weisen bei Open-Domain-Benchmarks im akademischen Bereich eine leichte Verschlechterung der Genauigkeit auf.
DAPT hat einen erheblichen positiven Einfluss auf Aufgaben innerhalb der Domäne selbst. Dieser Effekt äußert sich in erheblichen Verbesserungen des internen Designwissens sowie des allgemeinen Schaltungsdesignwissens.
Die Verwendung größerer und leistungsfähigerer Basismodelle führt bei domänenspezifischen Aufgaben zu besseren Zero-Shot-Ergebnissen. Darüber hinaus führt der Einsatz besserer Basismodelle nach DAPT zu verbesserten Domänenmodellen, was zu einer höheren Leistung bei domäneninternen Aufgaben führt.
Verbesserungen, die DAPT bei domäneninternen Aufgaben zugeschrieben werden, weisen eine positive Korrelation mit der Modellgröße auf, wobei größere Modelle nach DAPT deutlichere Verbesserungen bei der Leistung domänenspezifischer Aufgaben aufweisen.
C. Trainingsablationsstudien
Für unsere Ablationsstudien haben wir mehrere Runden domänenadaptives Vortraining durchgeführt. Wir bieten kurze Zusammenfassungen und verweisen für Einzelheiten auf Anhang B.
Die Unterschiede zwischen dem Training mit dem erweiterten Tokenizer und dem ursprünglichen Tokenizer schienen vernachlässigbar zu sein. Wir führen die Verschlechterung der Genauigkeit bei akademischen Benchmarks daher hauptsächlich auf Domänendaten zurück. Darüber hinaus führte die Entfernung des öffentlichen Datensatzes bei den meisten Aufgaben, einschließlich akademischer Benchmarks, nur zu einem geringfügigen Rückgang, mit Ausnahme der Verilog-Codierung, bei der wir einen spürbaren Unterschied beobachteten. Dies deutet darauf hin, dass die Einbeziehung von GitHub-Verilog-Daten zu verbesserten Verilog-Codierungsfunktionen beitrug, insbesondere wenn den Basismodellen in diesem Bereich ausreichende Daten fehlten.
In unserer Untersuchung experimentierten wir mit dem Einsatz einer höheren Lernrate, wie in CodeLLaMA [32]. Wir beobachteten große Spitzen im Trainingsverlust bei den ersten Trainingsschritten. Obwohl dieser Ansatz letztendlich zu verbesserten Trainings- und Validierungsverlusten führte, stellten wir erhebliche Verschlechterungen bei allen domänenspezifischen und akademischen Benchmarks fest, mit Ausnahme der Codierung. Wir gehen davon aus, dass eine geringere Lernrate eine doppelte Rolle spielt, indem sie die Destillation von Domänenwissen durch DAPT erleichtert und gleichzeitig ein Gleichgewicht aufrechterhält, das nicht zu weit vom Basismodell abweicht und so die allgemeinen Fähigkeiten zur natürlichen Sprache bewahrt.
Wir haben auch die Anwendung von Parameter Efficient Fine-Tuning (PEFT) im Rahmen von Domain-Adaptive Pretraining (DAPT) untersucht. In diesem Zusammenhang haben wir zwei Experimente mit der Einbindung von LoRA-Adaptern [16] durchgeführt, bei denen zusätzliche Parameter von 26,4 Millionen (klein) bzw. 211,2 Millionen (groß) eingeführt wurden. In beiden Fällen zeigten unsere Ergebnisse eine erhebliche Genauigkeitslücke bei In-Domain-Aufgaben im Vergleich zum Vollparameter-DAPT-Ansatz. Darüber hinaus stellten wir beim Vergleich der Ergebnisse zwischen kleinen und großen PEFT-Modellen eine geringfügige Verbesserung der In-Domain-Aufgabengenauigkeit fest, wobei große Modelle eine leichte Verbesserung aufwiesen.
D. Schulungskosten
Alle Modelle wurden mit 128 A100-GPUs trainiert. Wir schätzen die Kosten für das domänenadaptive Vortraining für ChipNeMo wie in Tabelle IV dargestellt. Es ist erwähnenswert, dass DAPT weniger als 1,5 % der Gesamtkosten für das Vortraining eines grundlegenden Modells von Grund auf ausmacht.
E. RAG und Engineering Assistant Chatbot
Wir haben einen Benchmark erstellt, um die Leistung der Design-Chat-Unterstützung zu bewerten, die die RAG-Methode verwendet. Dieser Benchmark umfasst 88 Fragen in drei Kategorien: Architektur-/Design-/Verifizierungsspezifikationen (Spezifikationen), Testbench-Regressionsdokumentation (Testbench) und Build-Infrastrukturdokumentation (Build). Für jede Frage geben wir die goldene Antwort sowie die Absätze im Designdokument an, die das relevante Wissen für die Antwort enthalten. Diese Fragen werden von Designern manuell erstellt, basierend auf einer Reihe von Designdokumenten als Datenspeicher für den Abruf. Er umfasst etwa 1,8.000 Dokumente, die in 67.000 Abschnitte mit jeweils etwa 512 Zeichen segmentiert wurden.
Zunächst vergleichen wir unser domänenangepasstes Retrievalmodell mit Sentence Transformer [33] und e5_small_unsupervised [30] in jeder Kategorie. Jedes Modell holt seine Top-8-Passagen aus dem Datenspeicher.
Die Abfragen in der Kategorie „Spezifikationen“ werden direkt aus Passagen in den Dokumenten abgeleitet, sodass ihre Antworten oft gut in einer prägnanten Passage zusammengefasst sind und die Abfrage klar beantworten.
Andererseits sind die Abfragen der Kategorien Testbench und Build nicht direkt aus Textstellen abgeleitet, sodass ihre Antworten in den abgerufenen Textstellen oft nicht so offensichtlich waren und mehr Kontext erforderten (ausführliche Beispiele finden Sie in Anhang C). Dies trägt erheblich zum Unterschied in der Abrufqualität zwischen den Kategorien bei.
Wir haben mehrere ChipNeMo-Modelle und LLaMA2-Modelle mit und ohne RAG ausgewertet. Die Ergebnisse wurden dann von menschlichen Bewertern auf einer 10-Punkte-Skala bewertet und in Abbildung 8 dargestellt.
Wir haben folgende Beobachtungen gemacht:
• RAG steigert die menschlichen Ergebnisse erheblich. RAG verbessert die Ergebnisse von LLaMA2-13B-Chat*, ChipNeMo-13B-Chat und LLaMA2-70B-Chat um 3,82, 2,19 bzw. 5,05. Beachten Sie, dass die Ergebnisse im Allgemeinen auch bei RAG-Fehlern höher sind, insbesondere bei LLaMA2-Modellen. Wir gehen davon aus, dass der zusätzliche Kontext innerhalb der Domäne zur Leistungssteigerung beiträgt.
• ChipNeMo-13B-Chat übertrifft ähnlich große LLaMA2-13B-Chat* in reinen Modell- und RAG-Bewertungen um 2,88 bzw. 1,25.
• ChipNeMo-13B-Chat mit RAG erreicht dieselbe Punktzahl (7,4) wie das fünfmal größere Modell LLaMA2-70B-Chat mit RAG, wobei LLaMA2-70B-Chat bei Treffern bessere Antworten extrahiert; dies wird jedoch bei Fehlschlägen durch Domänenanpassung ausgeglichen.
• Domain SFT hilft, die Leistung von ChipNeMo-13B-Chat um 0,28 (mit RAG) und 0,33 (ohne RAG) zu verbessern.
Die vollständigen Bewertungsergebnisse aller Modelle sind in Anhang D aufgeführt.
F. EDA-Skriptgenerierung
Um unser Modell anhand der EDA-Skriptgenerierungsaufgabe zu bewerten, haben wir zwei verschiedene Arten von Benchmarks erstellt. Die erste ist eine Reihe von Aufgaben mit „einfachem“ und „mittlerem“ Schwierigkeitsgrad (1-4-Zeilen-Lösungen), die ohne menschliches Eingreifen durch Vergleich mit einer goldenen Antwort bewertet werden können. Aufgrund des Arbeitsaufwands, der zum Erstellen und Bewerten dieser Benchmarks erforderlich ist, haben wir diesen Bewertungssatz nur für unsere Python-Aufgabe. Der zweite Aufgabensatz („Schwer“) stammt aus realen Anwendungsszenarien, die unsere Ingenieure ausgewählt haben. Diese Aufgaben sind viel schwieriger und erfordern Dutzende von Zeilen zum Lösen. Da sie auf automatische Weise schwer zu bewerten sind, haben wir menschliche Ingenieure die Richtigkeit zwischen 0 % und 100 % beurteilen lassen. Die Größe dieser Benchmarks ist in Tabelle V beschrieben. Wir arbeiten daran, sowohl die Größe als auch den Umfang dieser Benchmarks zu erhöhen, damit wir diese Modelle weiter verbessern können.
Wir haben festgestellt, dass unsere Modelle einige unserer schwierigeren Aufgaben nicht beantworten konnten. Die Aufgaben erforderten Kenntnisse vieler Tool-APIs und das Modell schien nicht in der Lage zu sein, sich für die richtigen zu entscheiden und gleichzeitig den Kontrollfluss richtig zu organisieren. Um dies zu mildern, haben wir der Eingabeaufforderung einen von Menschen kuratierten Kontext hinzugefügt, der für jede Frage spezifisch ist. Dieser Kontext enthielt Erklärungen verschiedener Funktionen oder Attribute, die zum ordnungsgemäßen Schreiben des gewünschten Skripts erforderlich sind. Wir haben dies nur für die Benchmark-Kategorie „Schwer mit Kontext“ bereitgestellt. Dies ermöglicht es uns auch, die möglichen Auswirkungen einer auf Abruf basierenden Lösung zu untersuchen, was wir zukünftigen Arbeiten überlassen.
Wie aus den Ablationsergebnissen in Abbildung 9 ersichtlich ist, waren sowohl DAPT als auch Domain-SFT für unser Problem wichtig. Ohne DAPT hatte das Modell wenig bis gar kein Verständnis für die zugrunde liegenden APIs und schnitt bei automatisch ausgewerteten Benchmarks schlecht ab. Domain-SFT verbesserte die Ergebnisse weiter. Wir glauben, dass dies daran liegt, dass unsere Domain-SFT-Daten dem Modell dabei helfen, das endgültige Skript auf die am direktesten anwendbare Weise darzustellen.
Ein interessantes Ergebnis ist die Erfolgsquote von LLaMA2-70B bei den Benchmarks „Schwer mit Kontext“. Es schneidet beim Python-Tool besser ab als die meisten Modelle, beim Tcl-Tool jedoch schlecht. Dies liegt wahrscheinlich daran, dass LLaMA2-70B mit der besseren allgemeinen Python-Codierungsfähigkeit im richtigen Kontext in der Lage ist, neuartige Probleme zu lösen, für die es nicht trainiert wurde. Das LLaMA2-70B-Modell kann seine Codierungsfähigkeiten jedoch nicht auf das Tcl-Tool übertragen, wahrscheinlich weil es nicht mit einer großen Menge an Tcl-Code in Berührung gekommen ist. Dies unterstreicht den Nutzen von DAPT bei Programmiersprachen mit geringem Volumen oder proprietären Programmiersprachen.
G. Fehlerzusammenfassung und -analyse
Um unsere Modelle zur Fehlerzusammenfassung und -analyse zu bewerten, verfügen wir über einen Satz von 40 Fehlern, die sich ideal für eine Zusammenfassung eignen. Dazu gehören Fehler mit einem langen Kommentarverlauf oder anderen Daten, die es einem Menschen erschweren, die Fehler schnell zusammenzufassen. Anschließend bitten wir die Menschen, beide Zusammenfassungsmodi sowie die vom LLM vorgeschlagene Fehlerzuordnung zu bewerten. Die Bewertungsmetrik basiert auf einer 7-Punkte-Likert-Skala. Unsere Ergebnisse sind in Abbildung 10 enthalten.
ChipNeMo-13B-Chat-Modelle übertreffen das Basismodell LLaMA2-13B-Chat* bei allen drei Aufgaben und verbessern den 7-Punkte-Likert-Score um 0,82, 1,09 bzw. 0,61 für die technische Zusammenfassung, die Management-Zusammenfassung und die Aufgabenempfehlung. Domänen-SFT verbessert die Leistung auch bei der Management-Zusammenfassung und der Aufgabenzuweisung deutlich gegenüber ohne Domänen-SFT.
Wir gehen von der Hypothese aus, dass im Gegensatz zur technischen Zusammenfassungsaufgabe, deren Qualität und technischer Inhalt stärker vom Verständnis des Modells für die Semantik natürlicher Sprache abhängen, die Managementzusammenfassung erfordert, dass das Modell versteht, wie die Eingabedaten zusammengefasst werden, während die Namen der Schlüsselmitarbeiter/Ingenieure erhalten bleiben. Dies erfordert eine sorgfältigere, anweisungsbasierte Feinabstimmung des LLM.
Das Modell LLaMA2-70B-Chat schneidet bei allen drei Aufgaben ebenfalls sehr gut ab und schlägt das Modell ChipNeMo-13B bei allen Aufgaben. Beachten Sie, dass das Modell LLaMA2-70B-Chat auch unter Herausforderungen im Zusammenhang mit langen Kontexten mit einer Kontextgröße von 4096 leidet. Wir glauben, dass effektive Chunk-and-Combine-Schemata (hierarchisch und inkrementell), die Auswahl von Anweisungsaufforderungen in verschiedenen Phasen der Zusammenfassung, die Auswahl der Aufforderung während der Aufgabenzuweisung und die Formatierung/Vorverarbeitung der Rohdaten dabei helfen, die Herausforderungen im Zusammenhang mit langen Kontexten zu umgehen und es LLaMA2-70B-Chat ermöglichen, auch ohne DAPT und Domänen-SFT hohe Punktzahlen zu erzielen.
Dieses Dokument ist auf Arxiv unter der CC 4.0-Lizenz verfügbar .