Autor:
(1) Brandon T. Willard, Computación normal; (2) R´emi Louf, Computación Normal.
Tabla de enlaces
5. Discusión
La indexación de vocabulario presentada en este artículo elimina una barrera prohibitiva de escalado en tiempo de ejecución en la generación guiada. Naturalmente, se hace un compromiso entre procesamiento y memoria, pero creemos que los costos de la memoria son relativamente bajos en promedio y, cuando no, pueden reducirse mediante medios convencionales.
En nuestras pruebas utilizando una versión ligeramente aumentada de la gramática de Python, encontramos que incluso los índices construidos ingenuamente (es decir, los que contienen configuraciones de estado FSM y analizador redundante y no utilizado) todavía pesan solo alrededor de 50 MB. Además, estos índices se construyeron con DFA no reducidos, lo que implica que hay numerosos estados redundantes que aumentan innecesariamente el tamaño de los índices. Del mismo modo, si la representación exacta de las máquinas de estados es alguna vez un problema, es posible que otras formulaciones de máquinas de estados con menores requisitos de memoria sean suficientes (por ejemplo, NFA).
Las implicaciones de este trabajo no se limitan a la generación de texto neuronal. Por ejemplo, se podría utilizar el enfoque de indexación que se describe aquí para ayudar con la capacitación o el ajuste de los LLM cuando se requieren resultados estructurados. También podemos especular que la generación asistida durante el entrenamiento puede reducir la necesidad de que un modelo aprenda detalles sintácticos.
Además, este método proporciona una forma alternativa de evaluar los modelos actuales. Por ejemplo, se podría intentar cuantificar la discrepancia entre los logits enmascarados generados por nuestro método y los logits brutos generados por el modelo. Lo que a su vez podría informar el objetivo de entrenamiento de un modelo.
También es posible "levantar" las máscaras calculadas mediante este enfoque en los propios modelos de lenguaje. Básicamente, las máscaras determinan implícitamente qué cálculos no es necesario realizar. Nuestra formulación actual solo aplica las máscaras en el nivel más bajo, pero, al elevar las máscaras hacia la arquitectura del modelo, podemos modular qué porciones de los parámetros del modelo se necesitan antes de realizar operaciones innecesarias en ellas. Esto tiene el potencial de reducir aún más los costos computacionales.
Referencias
Luca Beurer-Kellner, Marc Fischer y Martin Vechev. La solicitud es programación: un lenguaje de consulta para modelos de lenguaje grandes. Actas de la ACM sobre lenguajes de programación, 7 (PLDI): 1946–1969, 2023.
Yihong Dong, Ge Li y Zhi Jin. CODEP: Modelo gramatical Seq2Seq para generación de código de propósito general. En Actas del 32º Simposio internacional ACM SIGSOFT sobre pruebas y análisis de software, ISSTA 2023, páginas 188–198, Nueva York, NY, EE. UU., julio de 2023. Association for Computing Machinery. ISBN 9798400702211. doi: 10.1145/3597926. 3598048.
Saibo Geng, Martin Josifosky, Maxime Peyrard y Robert West. Decodificación restringida flexible basada en gramática para modelos de lenguaje, mayo de 2023.
Michael Kuchnik, Virginia Smith y George Amvrosiadis. Validación de modelos de lenguaje grandes con relm. Actas de Machine Learning and Systems, 5, 2023.
Alexander K. Lew, Tan Zhi-Xuan, Gabriel Grand y Vikash K. Mansinghka. Dirección secuencial Monte Carlo de modelos de lenguaje grandes utilizando programas probabilísticos. Preimpresión de arXiv arXiv:2306.03081, 2023.
R´emi Louf y Brandon T. Willard. Esquemas: Programación de modelos generativos. URL //github.com/normal-computing/outlines.
Microsoft. Guía. Microsoft, julio de 2023. URL //github.com/microsoft/guidance.
Gabriel Poesia, Oleksandr Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek y Sumit Gulwani. Synchromesh: generación de código confiable a partir de modelos de lenguaje previamente entrenados. Preimpresión de arXiv arXiv:2201.11227, 2022a.
Gabriel Poesia, Oleksandr Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek y Sumit Gulwani. Synchromesh: generación de código confiable a partir de modelos de lenguaje previamente entrenados, enero de 2022b.
Maxim Rabinovich, Mitchell Stern y Dan Klein. Redes de sintaxis abstracta para generación de código y análisis semántico. Preimpresión de arXiv arXiv:1704.07535, 2017.
Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei e Ilya Sutskever. Los modelos de lenguaje son estudiantes multitarea sin supervisión. Blog de OpenAI, 1(8):9, 2019.
Matt Rickard. parserLLM, julio de 2023a. URL //github.com/r2d4/parserllm.
Matt Rickard. R2d4/rellm: Estructura exacta a partir de la finalización de cualquier modelo de lenguaje., 2023b. URL //github.com/r2d4/rellm.
Torsten Scholak, Nathan Schucher y Dzmitry Bahdanau. PICARD: análisis incremental de decodificación autorregresiva restringida a partir de modelos de lenguaje. Preimpresión de arXiv arXiv:2109.05093, 2021.
Rico Sennrich, Barry Haddow y Alexandra Birch. Traducción automática neuronal de palabras raras con unidades de subpalabras. Preimpresión de arXiv arXiv:1508.07909, 2015.
Michael Sipser. Introducción a la Teoría de la Computación. Editorial Internacional Thomson, 1996.
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser e Illia Polosukhin. Atención es todo lo que necesitas. Avances en los sistemas de procesamiento de información neuronal, 30, 2017.
Bailin Wang, Zi Wang, Xuezhi Wang, Yuan Cao, Rif A. Saurous y Yoon Kim. Solicitudes gramaticales para la generación de lenguajes de dominio específico con modelos de lenguaje grandes, mayo de 2023.
Lilian Weng. Generación de texto neuronal controlable, enero de 2021. URL //lilianweng.github.io/posts/ 2021-01-02-controllable-text-generación/.
Expresiones de gratitud
Nos gustaría agradecer a Dan Gerlanc y Dan Simpson por su apoyo y comentarios constructivos.
Este documento está bajo licencia CC 4.0.