ChatPaper.aiChatPaper

¿Está resuelta la programación por ejemplos mediante modelos de lenguaje grandes?

Is Programming by Example solved by LLMs?

June 12, 2024
Autores: Wen-Ding Li, Kevin Ellis
cs.AI

Resumen

La Programación por Ejemplos (PBE, por sus siglas en inglés) tiene como objetivo generar un algoritmo a partir de ejemplos de entrada-salida. Estos sistemas son importantes tanto desde un punto de vista práctico como teórico: desde la perspectiva del usuario final, se implementan para millones de personas, y desde la perspectiva de la IA, la PBE corresponde a una forma muy general de inferencia inductiva con pocos ejemplos. Dado el éxito de los Modelos de Lenguaje de Gran Escala (LLMs, por sus siglas en inglés) en tareas de generación de código, investigamos aquí hasta qué punto se puede decir que los LLMs han "resuelto" la PBE. Experimentamos en dominios clásicos como listas y cadenas de texto, y en un dominio poco común de programación gráfica que no está bien representado en los datos típicos de preentrenamiento. Descubrimos que los modelos preentrenados no son efectivos en PBE, pero que pueden ajustarse para obtener un rendimiento mucho mayor, siempre que los problemas de prueba estén dentro de la distribución. Analizamos empíricamente qué hace que estos modelos tengan éxito o fracasen, y damos pasos hacia la comprensión de cómo lograr una mejor generalización fuera de la distribución. Colectivamente, estos resultados sugieren que los LLMs avanzan significativamente hacia la resolución del conjunto típico de tareas de PBE, lo que podría aumentar la flexibilidad y aplicabilidad de los sistemas de PBE, al mismo tiempo que identifican áreas en las que los LLMs aún tienen limitaciones.
English
Programming-by-Examples (PBE) aims to generate an algorithm from input-output examples. Such systems are practically and theoretically important: from an end-user perspective, they are deployed to millions of people, and from an AI perspective, PBE corresponds to a very general form of few-shot inductive inference. Given the success of Large Language Models (LLMs) in code-generation tasks, we investigate here the extent to which LLMs can be said to have `solved' PBE. We experiment on classic domains such as lists and strings, and an uncommon graphics programming domain not well represented in typical pretraining data. We find that pretrained models are not effective at PBE, but that they can be fine-tuned for much higher performance, provided the test problems are in-distribution. We analyze empirically what causes these models to succeed and fail, and take steps toward understanding how to achieve better out-of-distribution generalization. Collectively these results suggest that LLMs make strong progress toward solving the typical suite of PBE tasks, potentially increasing the flexibility and applicability of PBE systems, while also identifying ways in which LLMs still fall short.

Summary

AI-Generated Summary

PDF131November 29, 2024