Los programadores ahora pueden usar grandes modelos de lenguaje (LLM) para generar código de computadora más rápidamente. Sin embargo, esto solo facilita la vida de los programadores si ese código sigue las reglas del lenguaje de programación y no hace que una computadora se bloquee.
Existen algunos métodos para garantizar que los LLM se ajusten a las reglas de cualquier lenguaje en el que estén generando texto, pero muchos de estos métodos distorsionan el significado previsto del modelo o requieren demasiado tiempo para ser factible para tareas complejas.
Un nuevo enfoque desarrollado por los investigadores del MIT y en otros lugares guía automáticamente un LLM para generar texto que se adhiera a las reglas del lenguaje relevante, como un lenguaje de programación en particular, y también está libre de errores. Su método permite que una LLM asigne esfuerzos hacia salidas que tengan más probabilidades de ser válidos y precisos, al tiempo que descartan las salidas poco prometedoras al principio del proceso. Este enfoque probabilístico aumenta la eficiencia computacional.
Debido a estas ganancias de eficiencia, la arquitectura de los investigadores permitió que los pequeños LLM superan los modelos mucho más grandes para generar resultados precisos y adecuadamente estructurados para varios casos de uso del mundo real, incluida la biología molecular y la robótica.
A la larga, esta nueva arquitectura podría ayudar a los no extraterrestres a controlar el contenido generado por la IA. Por ejemplo, podría permitir que los empresarios escriban consultas complejas en SQL, un lenguaje para la manipulación de la base de datos, utilizando solo indicaciones de lenguaje natural.
«Este trabajo tiene implicaciones más allá de la investigación. Podría mejorar los asistentes de programación, el análisis de datos con IA y las herramientas de descubrimiento científico al garantizar que los resultados generados por IA sigan siendo útiles y correctos», dice João Loula, un estudiante graduado del MIT y co-líder de un artículo sobre este marco.
A Loula se une al documento por los autores co-líder Benjamin LeBrun, asistente de investigación en el Instituto de Inteligencia Artificial de Mila-Quebec, y Li Du, un estudiante graduado en la Universidad John Hopkins; Los autores co-senior Vikash Mansinghka ’05, Meng ’09, PhD ’09, científico principal de investigación y líder del Proyecto de Computación Probabilística en el Departamento de Ciencias del Cerebro y Cognitivo del MIT; Alexander K. Lew SM ’20, profesor asistente en la Universidad de Yale; Tim Vieira, un postdoc en ETH Zurich; y Timothy J. O’Donnell, profesor asociado en la Universidad de McGill y presidente de CIFAR AI en Mila, quien dirigió el equipo internacional; así como varios otros. La investigación se presentará en la Conferencia Internacional sobre Representaciones de Aprendizaje.
Hacer cumplir la estructura y el significado
Un enfoque común para controlar el texto estructurado generado por las LLM implica verificar una salida completa, como un bloque de código de computadora, para asegurarse de que sea válido y ejecutará sin error. Si no, el usuario debe comenzar de nuevo, acumulando recursos computacionales.
Por otro lado, un programador podría detenerse para verificar la salida en el camino. Si bien esto puede garantizar que el código se adhiera al lenguaje de programación y sea estructuralmente válido, la corrección incremental del código puede hacer que se deriva del significado que el usuario pretendía, perjudicando su precisión a largo plazo.
«Es mucho más fácil hacer cumplir la estructura que el significado. Podemos verificar rápidamente si algo está en el lenguaje de programación correcto, pero para verificar su significado tiene que ejecutar el código. Nuestro trabajo también se trata de tratar con estos diferentes tipos de información», dice Loula.
El enfoque de los investigadores implica el conocimiento de la ingeniería en el LLM para dirigirlo hacia los resultados más prometedores. Es más probable que estas salidas sigan las restricciones estructurales definidas por un usuario y tengan el significado que el usuario pretende.
«No estamos tratando de capacitar a una LLM para que haga esto. En cambio, estamos ingeniería de algún conocimiento que un experto tendría y combinándolo con el conocimiento de la LLM, que ofrece un enfoque muy diferente para el escala de lo que ve en el aprendizaje profundo», agrega Mansinghka.
Lo logran utilizando una técnica llamada secuencial Monte Carlo, que permite la generación paralela de un LLM para competir entre sí. El modelo asigna dinámicamente recursos a diferentes hilos de cálculo paralelo en función de cómo aparece su salida prometedora.
Cada salida recibe un peso que representa la probabilidad de que sea estructuralmente válido y semánticamente preciso. En cada paso del cálculo, el modelo se centra en aquellos con pesos más altos y tira el resto.
En cierto sentido, es como si el LLM tuviera un experto que mira por encima del hombro para asegurarse de que tome las decisiones correctas en cada paso, al tiempo que lo mantiene enfocado en el objetivo general. El usuario especifica su estructura y significado deseados, así como cómo verificar la salida, luego la arquitectura de los investigadores guía el LLM para hacer el resto.
«Hemos resuelto las matemáticas duras para que, para cualquier tipo de limitaciones que desee incorporar, obtendrá los pesos adecuados. Al final, obtenga la respuesta correcta», dice Loula.
Aumentando modelos pequeños
Para probar su enfoque, aplicaron el marco a LLM encargados de generar cuatro tipos de salidas: código Python, consultas de base de datos SQL, estructuras moleculares y planes para que el robot siga.
En comparación con los enfoques existentes, el método de los investigadores funcionó con mayor precisión al tiempo que requirió menos cálculo.
En Python Code Generation, por ejemplo, la arquitectura de los investigadores permitió que un modelo pequeño de código abierto supera a un modelo especializado y comercial de código cerrado que es más del doble de su tamaño.
«Estamos muy emocionados de poder permitir que estos pequeños modelos golpeen por encima de su peso», dice Loula.
En el futuro, los investigadores quieren usar su técnica para controlar trozos más grandes de texto generado, en lugar de trabajar una pequeña pieza a la vez. También quieren combinar su método con el aprendizaje, de modo que a medida que controlan las salidas que genera un modelo, aprende a ser más preciso.
A la larga, este proyecto podría tener aplicaciones más amplias para usuarios no técnicos. Por ejemplo, podría combinarse con sistemas para el modelado de datos automatizado y consultar modelos generativos de bases de datos.
El enfoque también podría habilitar sistemas de análisis de datos asistidos por máquina, donde el usuario puede conversar con un software que modela con precisión el significado de los datos y las preguntas formuladas por el usuario, agrega Mansinghka.
«Una de las preguntas fundamentales de la lingüística es cómo el significado de las palabras, frases y oraciones puede basarse en modelos del mundo, explicando la incertidumbre y la vaguedad en el significado y la referencia. La lingüística y la inteligencia artificial necesaria para comprender cómo las máquinas pueden comunicarse sobre el mundo como nosotros «, dice O’Donnell.
Esta investigación es financiada, en parte, por el Programa de Presidentes de AI CIFAR de Canadá, y por la Fundación Familiar Siegel a través de Gift to the MIT Siegel Family Quest for Intelligence