SoTaNa: O Assistente de Desenvolvimento de Software de Código Aberto
SoTaNa: The Open-Source Software Development Assistant
August 25, 2023
Autores: Ensheng Shi, Fengji Zhang, Yanlin Wang, Bei Chen, Lun Du, Hongyu Zhang, Shi Han, Dongmei Zhang, Hongbin Sun
cs.AI
Resumo
O desenvolvimento de software desempenha um papel crucial na promoção da inovação e da eficiência nas sociedades modernas. Para atender às demandas desse campo dinâmico, há uma necessidade crescente de um assistente eficaz de desenvolvimento de software. No entanto, os modelos de linguagem de grande escala existentes, representados pelo ChatGPT, sofrem com acessibilidade limitada, incluindo dados de treinamento e pesos do modelo. Embora outros modelos de código aberto de grande escala, como o LLaMA, tenham mostrado potencial, eles ainda enfrentam dificuldades para compreender a intenção humana. Neste artigo, apresentamos o SoTaNa, um assistente de desenvolvimento de software de código aberto. O SoTaNa utiliza o ChatGPT para gerar dados de alta qualidade baseados em instruções para o domínio da engenharia de software e emprega uma abordagem de ajuste fino eficiente em parâmetros para aprimorar o modelo de base de código aberto, o LLaMA. Avaliamos a eficácia do SoTaNa em responder a perguntas do Stack Overflow e demonstramos suas capacidades. Além disso, discutimos suas habilidades em sumarização e geração de código, bem como o impacto da variação do volume de dados gerados no desempenho do modelo. Notavelmente, o SoTaNa pode ser executado em uma única GPU, tornando-o acessível a uma gama mais ampla de pesquisadores. Nosso código, pesos do modelo e dados estão disponíveis publicamente em https://github.com/DeepSoftwareAnalytics/SoTaNa.
English
Software development plays a crucial role in driving innovation and
efficiency across modern societies. To meet the demands of this dynamic field,
there is a growing need for an effective software development assistant.
However, existing large language models represented by ChatGPT suffer from
limited accessibility, including training data and model weights. Although
other large open-source models like LLaMA have shown promise, they still
struggle with understanding human intent. In this paper, we present SoTaNa, an
open-source software development assistant. SoTaNa utilizes ChatGPT to generate
high-quality instruction-based data for the domain of software engineering and
employs a parameter-efficient fine-tuning approach to enhance the open-source
foundation model, LLaMA. We evaluate the effectiveness of in answering
Stack Overflow questions and demonstrate its capabilities. Additionally, we
discuss its capabilities in code summarization and generation, as well as the
impact of varying the volume of generated data on model performance. Notably,
SoTaNa can run on a single GPU, making it accessible to a broader range of
researchers. Our code, model weights, and data are public at
https://github.com/DeepSoftwareAnalytics/SoTaNa.