Pourquoi la personnalisation des outils de complétion de code basés sur l'apprentissage profond est essentielle
Why Personalizing Deep Learning-Based Code Completion Tools Matters
March 18, 2025
Auteurs: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota
cs.AI
Résumé
Les outils de complétion de code basés sur l'apprentissage profond (DL) ont transformé le développement logiciel en permettant une génération de code avancée. Ces outils s'appuient sur des modèles entraînés sur de vastes quantités de code provenant de nombreux dépôts, capturant ainsi des modèles de codage généraux. Cependant, l'impact du réglage fin de ces modèles pour des organisations ou des développeurs spécifiques afin d'améliorer leurs performances sur ces sujets reste inexploré. Dans ce travail, nous comblons cette lacune en présentant des preuves empiriques solides répondant à cette question. Plus précisément, nous considérons 136 développeurs issus de deux organisations (Apache et Spring), deux architectures de modèles (T5 et Code Llama), et trois tailles de modèles (60M, 750M et 7B paramètres entraînables). Les modèles T5 (60M, 750M) ont été pré-entraînés et réglés fin sur plus de 2 000 projets open source, excluant les données des organisations étudiées, et comparés à des versions réglées fin sur des ensembles de données spécifiques à l'organisation et au développeur. Pour le modèle Code Llama (7B), nous avons comparé les performances du modèle déjà pré-entraîné disponible publiquement en ligne avec le même modèle réglé fin via un réglage fin efficace en paramètres sur des ensembles de données spécifiques à l'organisation et au développeur. Nos résultats montrent qu'il y a une amélioration des capacités de prédiction grâce à un réglage fin supplémentaire spécifique à l'organisation et au développeur, le premier étant particulièrement performant. Une telle conclusion se généralise à (i) les deux organisations étudiées (c'est-à-dire Apache et Spring) et (ii) des modèles de magnitudes complètement différentes (de 60M à 7B paramètres entraînables). Enfin, nous montrons que les modèles DL réglés fin sur un ensemble de données spécifique à une organisation atteignent les mêmes performances de complétion que les modèles de code pré-entraînés utilisés tels quels et étant environ 10 fois plus grands, avec des économies conséquentes en termes de déploiement et de coût d'inférence (par exemple, des GPU plus petits nécessaires).
English
Deep learning (DL)-based code completion tools have transformed software
development by enabling advanced code generation. These tools leverage models
trained on vast amounts of code from numerous repositories, capturing general
coding patterns. However, the impact of fine-tuning these models for specific
organizations or developers to boost their performance on such subjects remains
unexplored. In this work, we fill this gap by presenting solid empirical
evidence answering this question. More specifically, we consider 136 developers
from two organizations (Apache and Spring), two model architectures (T5 and
Code Llama), and three model sizes (60M, 750M, and 7B trainable parameters). T5
models (60M, 750M) were pre-trained and fine-tuned on over 2,000 open-source
projects, excluding the subject organizations' data, and compared against
versions fine-tuned on organization- and developer-specific datasets. For the
Code Llama model (7B), we compared the performance of the already pre-trained
model publicly available online with the same model fine-tuned via
parameter-efficient fine-tuning on organization- and developer-specific
datasets. Our results show that there is a boost in prediction capabilities
provided by both an organization-specific and a developer-specific additional
fine-tuning, with the former being particularly performant. Such a finding
generalizes across (i) the two subject organizations (i.e., Apache and Spring)
and (ii) models of completely different magnitude (from 60M to 7B trainable
parameters). Finally, we show that DL models fine-tuned on an
organization-specific dataset achieve the same completion performance of
pre-trained code models used out of the box and being sim10times larger,
with consequent savings in terms of deployment and inference cost (e.g.,
smaller GPUs needed).Summary
AI-Generated Summary