ChatPaper.aiChatPaper

Por Que a Personalização de Ferramentas de Conclusão de Código Baseadas em Aprendizado Profundo é Importante

Why Personalizing Deep Learning-Based Code Completion Tools Matters

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

Resumo

Ferramentas de conclusão de código baseadas em deep learning (DL) transformaram o desenvolvimento de software ao permitir a geração avançada de código. Essas ferramentas utilizam modelos treinados em grandes quantidades de código de diversos repositórios, capturando padrões gerais de codificação. No entanto, o impacto do ajuste fino desses modelos para organizações ou desenvolvedores específicos, a fim de melhorar seu desempenho nesses contextos, permanece inexplorado. Neste trabalho, preenchemos essa lacuna apresentando evidências empíricas sólidas que respondem a essa questão. Mais especificamente, consideramos 136 desenvolvedores de duas organizações (Apache e Spring), duas arquiteturas de modelos (T5 e Code Llama) e três tamanhos de modelos (60M, 750M e 7B parâmetros treináveis). Os modelos T5 (60M, 750M) foram pré-treinados e ajustados em mais de 2.000 projetos de código aberto, excluindo os dados das organizações em estudo, e comparados com versões ajustadas em conjuntos de dados específicos das organizações e dos desenvolvedores. Para o modelo Code Llama (7B), comparamos o desempenho do modelo já pré-treinado disponível publicamente online com o mesmo modelo ajustado via ajuste fino eficiente em parâmetros em conjuntos de dados específicos das organizações e dos desenvolvedores. Nossos resultados mostram que há um aumento nas capacidades de previsão proporcionado tanto por um ajuste fino adicional específico da organização quanto por um ajuste fino específico do desenvolvedor, com o primeiro sendo particularmente eficiente. Tal descoberta se generaliza para (i) as duas organizações em estudo (ou seja, Apache e Spring) e (ii) modelos de magnitudes completamente diferentes (de 60M a 7B parâmetros treináveis). Por fim, mostramos que modelos DL ajustados em um conjunto de dados específico da organização alcançam o mesmo desempenho de conclusão de modelos de código pré-treinados usados diretamente e que são aproximadamente 10 vezes maiores, com consequente economia em termos de custos de implantação e inferência (por exemplo, GPUs menores necessárias).
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