MarianCG : un modèle de transformation pour la génération de code inspiré de la traduction automatique
L'idée selon laquelle les ordinateurs pourraient élaborer leurs propres programmes est extrêmement significative, et de nombreux chercheurs s'attellent à relever ce défi. La génération de code est définie comme le processus de création de code exécutable pouvant être directement exécuté sur un ordinateur tout en répondant à des exigences exprimées en langage naturel. Il s'agit d'un sujet fascinant qui pourrait aider les développeurs à apprendre une nouvelle technologie logicielle ou un nouveau langage de programmation, ou encore constituer une méthode simple pour faciliter la rédaction de code à partir de descriptions en langage naturel. Dans cet article, nous présentons MarianCG, un modèle Transformer de génération de code conçu pour relever le défi de la génération de code Python à partir de descriptions en langage naturel. Notre moteur de traduction du langage naturel vers le code repose sur Marian, un modèle de traduction automatique neuronale (NMT) au cœur du système Microsoft Translator, qui constitue le modèle enseignant dans notre approche. MarianMT est le modèle linguistique enseignant de notre étude, et il s'agit l'un des plus performants modèles de traduction automatique basés sur les Transformers. Dans notre méthode, nous utilisons une technique d'encodage positionnel sinusoidal pour représenter la position de chaque jeton dans le texte, tout en n'employant pas d'encodage de normalisation par couche. Notre approche de génération de code, MarianCG, repose sur le fine-tuning d'un modèle pré-entraîné de traduction automatique. Cela nous permet de démontrer que le modèle pré-entraîné de traduction peut également fonctionner efficacement comme modèle de génération de code. Le modèle proposé dépasse les modèles d'état de l'art récents dans le domaine de la génération de code lorsqu'il est entraîné sur les jeux de données CoNaLa et DJANGO. Sur le jeu de données CoNaLa, MarianCG obtient un score BLEU de 34,43 et une précision d'exact match de 10,2 %. Sur le jeu de données DJANGO, le modèle atteint un score BLEU de 90,41 et une précision d'exact match de 81,83 %. L'implémentation du modèle MarianCG ainsi que les ressources associées sont disponibles à l'adresse suivante : https://www.github.com/AhmedSSoliman/MarianCG-NL-to-Code.