Mejorando Modelos de Lenguaje con Método de Iteración de Código
CodeIt mejora el rendimiento de los modelos de IA en tareas de razonamiento complejo.
― 7 minilectura
Tabla de contenidos
- El Desafío de ARC
- Resumen de Code Iteration
- Resultados de Usar CodeIt
- La Estructura de las Tareas de ARC
- Cómo Funciona CodeIt
- Muestreo de Programas
- Reetiquetado Retroactivo
- Etapa de Aprendizaje
- Perspectivas de Rendimiento
- Comparando CodeIt con Otros Métodos
- Importancia de la Iteración Experta
- El Rol del Pre-entrenamiento
- Evaluando el Rendimiento de CodeIt
- Desafíos y Limitaciones
- Conclusión
- Fuente original
- Enlaces de referencia
Los grandes modelos de lenguaje están mejorando en tareas que muchos piensan que necesitan un pensamiento a nivel humano. Aun así, estos modelos tienen problemas con medidas de inteligencia general, como el Abstraction and Reasoning Corpus (ARC). Este artículo habla sobre un nuevo método llamado Code Iteration (CodeIt), diseñado para ayudar a los modelos de lenguaje a mejorar en tareas como las que se encuentran en ARC.
El Desafío de ARC
ARC es una prueba para la inteligencia artificial que presenta una variedad de tareas para ver qué tan bien puede generalizar su conocimiento. Las tareas en ARC son difíciles porque requieren razonar sobre objetos, acciones, números y espacio. A diferencia de los humanos, que pueden resolver muchas de estas tareas rápidamente, los modelos de IA a menudo quedan rezagados. Por ejemplo, los participantes humanos pueden resolver alrededor del 80% de las tareas en estudios, mientras que algunos de los mejores modelos de IA solo tienen un 12% de aciertos.
Cada tarea en ARC viene con ejemplos, que incluyen rejillas de entrada y salida. El objetivo es predecir la salida para nuevas entradas basándose en los ejemplos dados. Los modelos efectivos deben reconocer patrones y usar conocimiento general para conectar ideas. Por ejemplo, pueden notar que las celdas cercanas del mismo color forman un grupo o que diferentes formas pueden interactuar entre sí.
Resumen de Code Iteration
La manera en que lo vemos es considerar ARC como un desafío de programación donde un modelo aprende de ejemplos. CodeIt es nuestra técnica que mejora los modelos de lenguaje a través de dos pasos principales:
- Muestreo de Programas y Reetiquetado Retroactivo: En esta etapa, generamos programas basados en pares de entrada-salida, a veces corrigiéndolos después de hecho usando las salidas que realmente obtenemos.
- Aprendiendo de la Experiencia Repriorizada: Esto implica volver a aprender de las experiencias que recogemos, centrándonos en las más significativas.
Al ajustar las salidas para reflejar lo que el programa realmente produjo, incluso cuando no coincide con el objetivo original, CodeIt ayuda a abordar el problema de las recompensas escasas en tareas de programación.
Resultados de Usar CodeIt
Cuando aplicamos CodeIt al conjunto de datos de ARC, mostró grandes resultados. Al combinar la experiencia repriorizada con el pre-entrenamiento y la augmentación de datos, logramos una buena generalización en las tareas. CodeIt fue el primer método que pudo manejar el conjunto de datos completo de evaluación de ARC.
CodeIt logró resolver 59 de 400 tareas, superando a otros métodos, ya sean neuronales o simbólicos. Esto mostró un rendimiento de vanguardia aprovechando tanto el conocimiento previo como las experiencias aprendidas.
La Estructura de las Tareas de ARC
En ARC, cada tarea consiste en ejemplos de demostración emparejados con entradas de prueba que necesitan predicciones. Un modelo sólido usará su entendimiento de los cuatro sistemas de conocimiento fundamentales-objetos, acciones, números y espacio-para generalizar a partir de los ejemplos proporcionados.
Por ejemplo, si una tarea implica formas de colores en diferentes arreglos, el modelo debe reconocer que las formas del mismo color podrían agruparse o interactuar de manera diferente que las formas de otros colores.
Cómo Funciona CodeIt
Muestreo de Programas
Durante la etapa de muestreo, obtenemos nuevos programas basados en una política conectada a pares de entrada-salida. El sistema traduce las entradas y salidas objetivo en una forma textual y genera un programa, que luego se ejecuta para ver qué salida crea. Si la salida es válida, se registra en un buffer para aprender más tarde.
Reetiquetado Retroactivo
El reetiquetado retroactivo es crucial. Nos permite tomar las salidas que genera el programa-aunque difieran de lo que queríamos-y usarlas para mejorar el aprendizaje. Este método crea una forma de aprender de experiencias que no se vieron inicialmente como éxitos.
Etapa de Aprendizaje
En la etapa de aprendizaje, entrenamos la política usando información de nuestro buffer, centrándonos en entradas y salidas correctas, y los programas correspondientes. El objetivo es minimizar los errores mejorando la capacidad de predecir salidas correctamente.
Perspectivas de Rendimiento
A través de un ajuste cuidadoso de nuestro enfoque, logramos un rendimiento notable al resolver tareas en ARC. El método mostró que al revisar experiencias basadas en prioridad, el modelo podría retener mejor información crítica y evitar olvidar experiencias importantes.
Comparando CodeIt con Otros Métodos
Al comparar CodeIt con métodos existentes, descubrimos que sobresalía en comparación con enfoques tradicionales, que o bien dependen de redes neuronales que predicen salidas directamente o métodos simbólicos que primero crean una representación de la tarea.
CodeIt utiliza eficazmente una combinación de redes neuronales y representaciones simbólicas, permitiéndole procesar tanto el conocimiento previo como las experiencias recién aprendidas. Esta combinación demostró ser poderosa para generar y refinar soluciones.
Importancia de la Iteración Experta
La Iteración Experta (ExIt) es un concepto que implica mejorar el proceso de aprendizaje de una IA alternando entre reunir nuevas experiencias y mejorar su política subyacente a partir de esas experiencias. Los métodos actuales suelen depender de técnicas poderosas, pero pueden no escalar bien al manejar múltiples tareas.
Al seguir un enfoque similar a un experto mientras se tienen en cuenta las limitaciones de tiempo y computación, CodeIt puede generar experiencias de un modelo sin requerir una búsqueda computacional pesada. Esto resulta en un aprendizaje más eficiente manteniendo la calidad.
El Rol del Pre-entrenamiento
El pre-entrenamiento es un aspecto esencial de nuestro enfoque. Al usar un modelo pre-entrenado, CodeIt se beneficia del conocimiento existente, facilitando el aprendizaje de nuevas tareas sin empezar desde cero. Esto aumenta la eficiencia y efectividad del proceso de aprendizaje.
Incluso cuando intentamos reiniciar los pesos de la política pre-entrenada, CodeIt aún demostró una capacidad de aprendizaje, aunque más lenta. Esto muestra que comenzar desde una base sólida con conocimiento pre-entrenado ayuda significativamente al proceso de aprendizaje.
Evaluando el Rendimiento de CodeIt
Evaluar el rendimiento de CodeIt involucró medir qué tan bien podía resolver tareas en comparación con métodos anteriores. Mientras que los métodos de referencia a menudo flaqueaban al enfrentarse a una variedad de tareas, CodeIt mostró una capacidad más sostenida para encontrar soluciones.
Al rastrear el rendimiento a lo largo de múltiples ejecuciones, recopilamos información sobre la efectividad de nuestro enfoque. Por ejemplo, vimos mejoras en la calidad de las soluciones con el tiempo, con muchos casos en los que CodeIt refinó soluciones anteriores para que fueran más cortas y efectivas.
Desafíos y Limitaciones
A pesar de sus éxitos, CodeIt todavía enfrenta algunos desafíos. El enfoque depende de un lenguaje personalizado, lo que significa que su efectividad puede depender del diseño de este lenguaje. La necesidad de un intérprete para evaluar los programas también añade complejidad al sistema.
Si bien CodeIt puede aprender de nuevas experiencias, actualmente necesita algún conocimiento fundamental, ya sea de un DSL o de un modelo pre-entrenado, para sobresalir realmente.
Conclusión
En resumen, CodeIt presenta un enfoque prometedor para mejorar los modelos de lenguaje para tareas como las que se encuentran en ARC. Al usar una combinación de muestreo de programas, reetiquetado retroactivo y experiencia repriorizada, logra un rendimiento impresionante.
Este método no solo avanza en cómo podemos abordar tareas de programación, sino que también destaca el valor de combinar conocimiento preexistente con aprendizaje continuo. A medida que modelos como CodeIt continúan evolucionando, prometen desbloquear nuevas posibilidades en inteligencia artificial, mejorando nuestra capacidad para resolver problemas complejos.
Título: CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay
Resumen: Large language models are increasingly solving tasks that are commonly believed to require human-level reasoning ability. However, these models still perform very poorly on benchmarks of general intelligence such as the Abstraction and Reasoning Corpus (ARC). In this paper, we approach ARC as a programming-by-examples problem, and introduce a novel and scalable method for language model self-improvement called Code Iteration (CodeIt). Our method iterates between 1) program sampling and hindsight relabeling, and 2) learning from prioritized experience replay. By relabeling the goal of an episode (i.e., the target program output given input) to the realized output produced by the sampled program, our method effectively deals with the extreme sparsity of rewards in program synthesis. Applying CodeIt to the ARC dataset, we demonstrate that prioritized hindsight replay, along with pre-training and data-augmentation, leads to successful inter-task generalization. CodeIt is the first neuro-symbolic approach that scales to the full ARC evaluation dataset. Our method solves 15% of ARC evaluation tasks, achieving state-of-the-art performance and outperforming existing neural and symbolic baselines. Our code is available at https://github.com/Qualcomm-AI-research/codeit .
Autores: Natasha Butt, Blazej Manczak, Auke Wiggers, Corrado Rainone, David W. Zhang, Michaël Defferrard, Taco Cohen
Última actualización: 2024-07-01 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2402.04858
Fuente PDF: https://arxiv.org/pdf/2402.04858
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.