SoTaNa: L'Assistente Open-Source per lo Sviluppo del Software
SoTaNa: The Open-Source Software Development Assistant
August 25, 2023
Autori: Ensheng Shi, Fengji Zhang, Yanlin Wang, Bei Chen, Lun Du, Hongyu Zhang, Shi Han, Dongmei Zhang, Hongbin Sun
cs.AI
Abstract
Lo sviluppo software svolge un ruolo cruciale nel guidare l'innovazione e l'efficienza nelle società moderne. Per soddisfare le esigenze di questo campo dinamico, c'è una crescente necessità di un assistente efficace per lo sviluppo software. Tuttavia, i modelli linguistici di grandi dimensioni esistenti, rappresentati da ChatGPT, soffrono di un'accessibilità limitata, inclusi i dati di addestramento e i pesi del modello. Sebbene altri modelli open-source di grandi dimensioni come LLaMA abbiano mostrato promesse, continuano a lottare con la comprensione dell'intento umano. In questo articolo, presentiamo SoTaNa, un assistente open-source per lo sviluppo software. SoTaNa utilizza ChatGPT per generare dati di alta qualità basati su istruzioni per il dominio dell'ingegneria del software e impiega un approccio di fine-tuning efficiente in termini di parametri per migliorare il modello di base open-source, LLaMA. Valutiamo l'efficacia di SoTaNa nel rispondere alle domande di Stack Overflow e ne dimostriamo le capacità. Inoltre, discutiamo le sue capacità nella sintesi e generazione di codice, nonché l'impatto della variazione del volume di dati generati sulle prestazioni del modello. È degno di nota che SoTaNa possa essere eseguito su una singola GPU, rendendolo accessibile a una gamma più ampia di ricercatori. Il nostro codice, i pesi del modello e i dati sono pubblici all'indirizzo 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.