ChatPaper.aiChatPaper

La programmation par l'exemple est-elle résolue par les LLM ?

Is Programming by Example solved by LLMs?

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

Résumé

La programmation par exemples (PBE) vise à générer un algorithme à partir de paires d'entrées-sorties. Ces systèmes revêtent une importance à la fois pratique et théorique : du point de vue de l'utilisateur final, ils sont déployés auprès de millions de personnes, et du point de vue de l'intelligence artificielle, la PBE correspond à une forme très générale d'inférence inductive en few-shot. Compte tenu du succès des modèles de langage à grande échelle (LLMs) dans les tâches de génération de code, nous étudions ici dans quelle mesure on peut dire que les LLMs ont « résolu » la PBE. Nous expérimentons sur des domaines classiques tels que les listes et les chaînes de caractères, ainsi que sur un domaine moins courant de programmation graphique, peu représenté dans les données de pré-entraînement typiques. Nous constatons que les modèles pré-entraînés ne sont pas efficaces pour la PBE, mais qu'ils peuvent être affinés pour obtenir des performances bien supérieures, à condition que les problèmes de test soient dans la distribution. Nous analysons empiriquement ce qui fait réussir ou échouer ces modèles, et nous avançons vers une meilleure compréhension de la manière d'améliorer la généralisation hors distribution. Collectivement, ces résultats suggèrent que les LLMs font des progrès significatifs vers la résolution des tâches typiques de PBE, augmentant potentiellement la flexibilité et l'applicabilité des systèmes PBE, tout en identifiant les domaines où les LLMs restent encore limités.
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