Autor:
(1) Brandon T. Willard, Normal Computing; (2) R´emi Louf, Normal Computing.
Linktabelle
5. Diskussion
Die in diesem Artikel vorgestellte Vokabularindizierung beseitigt eine prohibitive Laufzeitskalierungsbarriere bei der geführten Generierung. Natürlich entsteht dabei ein Kompromiss zwischen Verarbeitung und Speicher, aber wir glauben, dass die Speicherkosten im Durchschnitt relativ niedrig sind und – wenn nicht – mit herkömmlichen Mitteln gesenkt werden können.
Bei unseren Tests mit einer leicht erweiterten Version der Python-Grammatik haben wir festgestellt, dass selbst naiv erstellte Indizes (d. h. solche, die ungenutzte und redundante Parser- und FSM-Zustandskonfigurationen enthalten) immer noch nur etwa 50 MB groß sind. Darüber hinaus wurden diese Indizes mit nicht reduzierten DFAs erstellt, was bedeutet, dass es zahlreiche redundante Zustände gibt, die die Größe der Indizes unnötig erhöhen. Sollte die genaue Darstellung der Zustandsmaschinen jemals ein Problem darstellen, ist es möglich, dass andere Zustandsmaschinenformulierungen mit geringerem Speicherbedarf ausreichen (z. B. NFAs).
Die Auswirkungen dieser Arbeit sind nicht auf die neuronale Textgenerierung beschränkt. Beispielsweise könnte man den hier beschriebenen Indexierungsansatz verwenden, um das Training oder die Feinabstimmung von LLMs zu unterstützen, wenn strukturierte Ausgaben erforderlich sind. Wir können auch spekulieren, dass die unterstützte Generierung während des Trainings die Notwendigkeit verringern kann, dass ein Modell syntaktische Details lernt.
Darüber hinaus bietet diese Methode eine alternative Möglichkeit, aktuelle Modelle zu bewerten. Man könnte beispielsweise versuchen, die Diskrepanz zwischen den von unserer Methode generierten maskierten Logits und den vom Modell generierten Roh-Logits zu quantifizieren. Dies könnte wiederum Aufschluss über das Trainingsziel eines Modells geben.
Es ist möglicherweise auch möglich, die mit diesem Ansatz berechneten Masken in die Sprachmodelle selbst zu „heben“. Im Grunde legen die Masken implizit fest, welche Berechnungen nicht durchgeführt werden müssen. Unsere aktuelle Formulierung wendet die Masken nur auf der untersten Ebene an, aber indem wir die Masken weiter nach oben in die Architektur des Modells heben, können wir möglicherweise modulieren, welche Teile der Modellparameter benötigt werden, bevor wir unnötige Operationen an ihnen durchführen. Dadurch können die Rechenkosten möglicherweise weiter gesenkt werden.
Verweise
Luca Beurer-Kellner, Marc Fischer und Martin Vechev. Prompting is programming: Eine Abfragesprache für große Sprachmodelle. Proceedings of the ACM on Programming Languages, 7(PLDI):1946–1969, 2023.
Yihong Dong, Ge Li und Zhi Jin. CODEP: Grammatisches Seq2Seq-Modell für allgemeine Codegenerierung. In Proceedings des 32. ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2023, Seiten 188–198, New York, NY, USA, Juli 2023. Association for Computing Machinery. ISBN 9798400702211. doi: 10.1145/3597926. 3598048.
Saibo Geng, Martin Josifosky, Maxime Peyrard und Robert West. Flexible Grammar-Based Constrained Decoding for Language Models, Mai 2023.
Michael Kuchnik, Virginia Smith und George Amvrosiadis. Validierung großer Sprachmodelle mit relm. Proceedings of Machine Learning and Systems, 5, 2023.
Alexander K. Lew, Tan Zhi-Xuan, Gabriel Grand und Vikash K. Mansinghka. Sequentielle Monte-Carlo-Steuerung großer Sprachmodelle mithilfe probabilistischer Programme. arXiv-Vorabdruck arXiv:2306.03081, 2023.
R´emi Louf und Brandon T. Willard. Outlines: Generative Model Programming. URL //github.com/normal-computing/outlines.
Microsoft. Anleitung. Microsoft, Juli 2023. URL //github.com/microsoft/guidance.
Gabriel Poesia, Oleksandr Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek und Sumit Gulwani. Synchromesh: Zuverlässige Codegenerierung aus vorab trainierten Sprachmodellen. arXiv-Preprint arXiv:2201.11227, 2022a.
Gabriel Poesia, Oleksandr Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek und Sumit Gulwani. Synchromesh: Zuverlässige Codegenerierung aus vorab trainierten Sprachmodellen, Januar 2022b.
Maxim Rabinovich, Mitchell Stern und Dan Klein. Abstrakte Syntaxnetzwerke für Codegenerierung und semantische Analyse. arXiv-Preprint arXiv:1704.07535, 2017.
Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei und Ilya Sutskever. Sprachmodelle sind unüberwachte Multitasking-Lerner. OpenAI Blog, 1(8):9, 2019.
Matt Rickard. parserLLM, Juli 2023a. URL //github.com/r2d4/ parserllm.
Matt Rickard. R2d4/rellm: Genaue Struktur aus jeder Sprachmodellvervollständigung., 2023b. URL //github.com/r2d4/rellm.
Torsten Scholak, Nathan Schucher und Dzmitry Bahdanau. PICARD: Inkrementelles Parsing für eingeschränkte auto-regressive Dekodierung aus Sprachmodellen. arXiv-Preprint arXiv:2109.05093, 2021.
Rico Sennrich, Barry Haddow und Alexandra Birch. Neuronale maschinelle Übersetzung seltener Wörter mit Unterworteinheiten. arXiv-Vorabdruck arXiv:1508.07909, 2015.
Michael Sipser. Einführung in die Theorie der Berechnung. International Thomson Publishing, 1996.
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, \Lukasz Kaiser und Illia Polosukhin. Aufmerksamkeit ist alles, was Sie brauchen. Fortschritte in neuronalen Informationsverarbeitungssystemen, 30, 2017.
Bailin Wang, Zi Wang, Xuezhi Wang, Yuan Cao, Rif A. Saurous und Yoon Kim. Grammar Prompting für die domänenspezifische Sprachgenerierung mit großen Sprachmodellen, Mai 2023.
Lilian Weng. Kontrollierbare neuronale Textgenerierung, Januar 2021. URL //lilianweng.github.io/posts/ 2021-01-02-controllable-text-generation/.
Danksagung
Wir möchten Dan Gerlanc und Dan Simpson für ihre Unterstützung und ihr konstruktives Feedback danken.
Dieses Dokument ist .