MultiPL-E : une approche évolutive et polyglotte pour l'évaluation comparative de la génération de code neuronal
Author
Venue
IEEE Transactions on Software Engineering (TSE) 2023
Abstract
Les grands modèles linguistiques ont démontré leur capacité à générer à la fois du texte en langage naturel et en langage de programmation. Ces modèles ouvrent la voie à la génération de code multilingue : les modèles de génération de code pourraient-ils généraliser les connaissances d'un langage à un autre ? Bien que les modèles de génération de code actuels puissent générer du code Python sémantiquement correct, on en sait peu sur leurs capacités avec d'autres langages. Nous proposons MultiPL-E, un système permettant de traduire des benchmarks de génération de code pilotés par des tests unitaires vers de nouveaux langages. Nous créons le premier benchmark de génération de code massivement multilingue en utilisant MultiPL-E pour traduire deux benchmarks populaires de génération de code Python vers 18 langages de programmation supplémentaires.
Nous utilisons MultiPL-E pour étendre les benchmarks HumanEval et MBPP à 18 langages couvrant un large éventail de paradigmes de programmation et de popularité. À l’aide de ces nouveaux benchmarks parallèles, nous évaluons les performances multilingues de trois modèles de génération de code de pointe : Codex, CodeGen et InCoder. Nous constatons que Codex égale, voire dépasse, ses performances en Python pour plusieurs autres langages. La gamme de langages de programmation représentés dans MultiPL-E nous permet d'explorer l'impact de la fréquence et des caractéristiques des langages sur les performances des modèles. Enfin, l'approche MultiPL-E consistant à compiler des benchmarks de génération de code vers de nouveaux langages de programmation est à la fois évolutive et extensible, ce qui facilite l'évaluation de nouveaux modèles, benchmarks et langages.
