ChatPaper.aiChatPaper

Почему персонализация инструментов автодополнения кода на основе глубокого обучения имеет значение

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

PDF42March 21, 2025