Une étude sur les modèles de langage pour le code
A Survey on Language Models for Code
November 14, 2023
Auteurs: Ziyin Zhang, Chaoyu Chen, Bingchang Liu, Cong Liao, Zi Gong, Hang Yu, Jianguo Li, Rui Wang
cs.AI
Résumé
Dans ce travail, nous passons en revue de manière systématique les avancées récentes dans le traitement du code avec des modèles de langage, couvrant plus de 50 modèles, 30 tâches d'évaluation et 500 travaux connexes. Nous classons les modèles de traitement du code en deux catégories : les modèles de langage généraux, représentés par la famille GPT, et les modèles spécialisés, pré-entraînés spécifiquement sur du code avec des objectifs adaptés. Nous discutons des relations et des différences entre ces modèles, et mettons en lumière la transition historique de la modélisation du code, passant des modèles statistiques et des RNN aux Transformers pré-entraînés et aux LLMs, un parcours identique à celui suivi par le domaine du NLP. Nous abordons également les caractéristiques spécifiques au code, telles que l'AST, le CFG et les tests unitaires, ainsi que leur application dans l'entraînement des modèles de langage pour le code. Nous identifions les défis majeurs et les directions futures potentielles dans ce domaine. Nous maintenons cette étude ouverte et mise à jour sur un dépôt GitHub à l'adresse suivante : https://github.com/codefuse-ai/Awesome-Code-LLM.
English
In this work we systematically review the recent advancements in code
processing with language models, covering 50+ models, 30+ evaluation tasks, and
500 related works. We break down code processing models into general language
models represented by the GPT family and specialized models that are
specifically pretrained on code, often with tailored objectives. We discuss the
relations and differences between these models, and highlight the historical
transition of code modeling from statistical models and RNNs to pretrained
Transformers and LLMs, which is exactly the same course that had been taken by
NLP. We also discuss code-specific features such as AST, CFG, and unit tests,
along with their application in training code language models, and identify key
challenges and potential future directions in this domain. We keep the survey
open and updated on github repository at
https://github.com/codefuse-ai/Awesome-Code-LLM.