ChatPaper.aiChatPaper

Améliorer la génération de code pour les langues à faibles ressources : Pas de solution miracle

Enhancing Code Generation for Low-Resource Languages: No Silver Bullet

January 31, 2025
Auteurs: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota
cs.AI

Résumé

L'avènement des Grands Modèles de Langage (GML) a considérablement fait progresser le domaine de la génération automatique de code. Les GML s'appuient sur des ensembles de données vastes et diversifiés pour apprendre la syntaxe, la sémantique et les schémas d'utilisation des langages de programmation. Pour les langues à faibles ressources (c'est-à-dire, des langages de programmation de niche caractérisés par la rareté des données d'entraînement), la disponibilité limitée de telles données entrave la capacité des modèles à généraliser efficacement, ce qui se traduit par des performances de génération de code moins bonnes par rapport aux langues à ressources élevées. Pour cette raison, il existe une quête de techniques capables de combler cet écart de performance. Nous présentons une étude empirique examinant l'efficacité de plusieurs approches pour améliorer les performances des GML sur les langues à faibles ressources, à savoir : (i) un réglage fin classique, limité en taille par la rareté des données d'entraînement ; (ii) trois variantes d'apprentissage en contexte, avec des invitations conçues pour fournir au GML des informations supplémentaires sur la langue à faibles ressources (par exemple, des exemples à quelques tirs mettant en valeur les caractéristiques de la langue ciblée) ; et (iii) un objectif de pré-entraînement enseignant au modèle comment traduire entre les langues à ressources élevées et à faibles ressources. Le cadre de notre étude concerne deux langues à faibles ressources (R et Racket) et six GML ayant des architectures et des tailles différentes. Nos résultats révèlent qu'un réglage fin est généralement le meilleur choix pour les GML plus petits, probablement en raison du fait qu'un petit ensemble de données est suffisant pour entraîner leur nombre limité de paramètres. Avec l'augmentation de la taille des modèles, l'apprentissage en contexte devient de plus en plus efficace, représentant un choix sûr et économique (c'est-à-dire, cela aide toujours, mais avec des magnitudes différentes). En revanche, les GML très grands peuvent voir leurs performances se détériorer sur les langues à faibles ressources lorsqu'un réglage fin est effectué, probablement en raison du manque de données nécessaires pour mettre à jour efficacement leurs poids.
English
The advent of Large Language Models (LLMs) has significantly advanced the field of automated code generation. LLMs rely on large and diverse datasets to learn syntax, semantics, and usage patterns of programming languages. For low-resource languages (i.e., niche programming languages characterized by the scarcity of training data), the limited availability of such data hampers the models' ability to generalize effectively, resulting in poorer code generation performance as compared to high-resource languages. For this reason, there is a quest for techniques able to close this performance gap. We present an empirical study investigating the effectiveness of several approaches for boosting LLMs' performance on low-resource languages, namely: (i) a classic fine-tuning, which is however capped in size by the scarcity of training data; (ii) three variants of in-context learning, with prompts crafted to provide the LLM with additional information about the low-resource language (e.g., few-shot examples showcasing features of the targeted language); and (iii) a pre-training objective teaching the model how to translate between high- and low-resource languages. The context of our study are two low-resource languages (R and Racket) and six LLMs having different architectures and sizes. Our findings reveal that a fine-tuning is usually the best choice for smaller LLMs, possibly due to the fact that even a small dataset is sufficient to train their limited number of parameters. With the increase in size of the models, in-context learning becomes more and more effective, representing a safe and cheap bet (i.e., it always helps, but with different magnitudes). Differently, very large LLMs may deteriorate their performance on low-resource languages when fine-tuning is performed, possibly due to the lack of enough data needed to effectively update their weights.

Summary

AI-Generated Summary

PDF52February 7, 2025