ChatPaper.aiChatPaper

Warum die Personalisierung von Deep-Learning-basierten Code-Vervollständigungswerkzeugen wichtig ist

Why Personalizing Deep Learning-Based Code Completion Tools Matters

March 18, 2025
Autoren: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota
cs.AI

Zusammenfassung

Deep-Learning (DL)-basierte Code-Vervollständigungswerkzeuge haben die Softwareentwicklung revolutioniert, indem sie fortschrittliche Code-Generierung ermöglichen. Diese Werkzeuge nutzen Modelle, die auf großen Mengen von Code aus zahlreichen Repositories trainiert wurden und dabei allgemeine Codierungsmuster erfassen. Der Einfluss einer Feinabstimmung dieser Modelle für spezifische Organisationen oder Entwickler, um deren Leistung in solchen Kontexten zu steigern, bleibt jedoch unerforscht. In dieser Arbeit schließen wir diese Lücke, indem wir solide empirische Beweise präsentieren, die diese Frage beantworten. Konkret betrachten wir 136 Entwickler aus zwei Organisationen (Apache und Spring), zwei Modellarchitekturen (T5 und Code Llama) und drei Modellgrößen (60M, 750M und 7B trainierbare Parameter). T5-Modelle (60M, 750M) wurden auf über 2.000 Open-Source-Projekten vortrainiert und feinabgestimmt, wobei die Daten der betrachteten Organisationen ausgeschlossen wurden, und mit Versionen verglichen, die auf organisations- und entwicklerspezifische Datensätze feinabgestimmt wurden. Für das Code-Llama-Modell (7B) verglichen wir die Leistung des bereits vortrainierten, öffentlich verfügbaren Modells mit demselben Modell, das durch parameter-effiziente Feinabstimmung auf organisations- und entwicklerspezifische Datensätze angepasst wurde. Unsere Ergebnisse zeigen, dass sowohl eine organisationsspezifische als auch eine entwicklerspezifische zusätzliche Feinabstimmung die Vorhersagefähigkeiten steigern, wobei erstere besonders leistungsfähig ist. Dieser Befund verallgemeinert sich über (i) die beiden betrachteten Organisationen (d.h. Apache und Spring) und (ii) Modelle völlig unterschiedlicher Größenordnung (von 60M bis 7B trainierbaren Parametern). Schließlich zeigen wir, dass DL-Modelle, die auf einen organisationsspezifischen Datensatz feinabgestimmt wurden, die gleiche Vervollständigungsleistung erzielen wie vortrainierte Code-Modelle, die ohne Anpassung verwendet werden und etwa 10-mal größer sind, was zu Einsparungen in Bezug auf Bereitstellungs- und Inferenzkosten führt (z.B. kleinere GPUs benötigt).
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

PDF32March 21, 2025