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