Почему персонализация инструментов автодополнения кода на основе глубокого обучения имеет значение
Why Personalizing Deep Learning-Based Code Completion Tools Matters
March 18, 2025
Авторы: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota
cs.AI
Аннотация
Инструменты автодополнения кода на основе глубокого обучения (DL) произвели революцию в разработке программного обеспечения, обеспечивая продвинутую генерацию кода. Эти инструменты используют модели, обученные на огромных объемах кода из множества репозиториев, что позволяет им улавливать общие паттерны программирования. Однако влияние тонкой настройки (fine-tuning) таких моделей для конкретных организаций или разработчиков с целью повышения их производительности на соответствующих задачах остается малоизученным. В данной работе мы восполняем этот пробел, предоставляя убедительные эмпирические данные, отвечающие на этот вопрос. В частности, мы рассмотрели 136 разработчиков из двух организаций (Apache и Spring), две архитектуры моделей (T5 и Code Llama) и три размера моделей (60 млн, 750 млн и 7 млрд обучаемых параметров). Модели T5 (60 млн, 750 млн) были предварительно обучены и тонко настроены на более чем 2000 открытых проектов, исключая данные целевых организаций, и сравнены с версиями, тонко настроенными на наборах данных, специфичных для организаций и разработчиков. Для модели Code Llama (7 млрд) мы сравнили производительность предварительно обученной модели, доступной в открытом доступе, с той же моделью, тонко настроенной с помощью параметрически эффективной тонкой настройки на наборах данных, специфичных для организаций и разработчиков. Наши результаты показывают, что дополнительная тонкая настройка как на данных организации, так и на данных разработчика повышает предсказательные способности модели, причем первая демонстрирует особенно высокую производительность. Этот вывод обобщается для (i) двух целевых организаций (Apache и Spring) и (ii) моделей совершенно разного масштаба (от 60 млн до 7 млрд обучаемых параметров). Наконец, мы показываем, что модели DL, тонко настроенные на наборе данных организации, достигают той же производительности автодополнения, что и предварительно обученные модели кода, используемые "из коробки", но при этом в 10 раз меньше, что приводит к значительной экономии на развертывании и затратах на вывод (например, требуются менее мощные GPU).
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