ChatPaper.aiChatPaper

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

PDF42March 21, 2025