SoTaNa: De Open-Source Softwareontwikkelingsassistent
SoTaNa: The Open-Source Software Development Assistant
August 25, 2023
Auteurs: Ensheng Shi, Fengji Zhang, Yanlin Wang, Bei Chen, Lun Du, Hongyu Zhang, Shi Han, Dongmei Zhang, Hongbin Sun
cs.AI
Samenvatting
Softwareontwikkeling speelt een cruciale rol in het stimuleren van innovatie en efficiëntie in moderne samenlevingen. Om aan de eisen van dit dynamische vakgebied te voldoen, is er een groeiende behoefte aan een effectieve softwareontwikkelingsassistent. Bestaande grote taalmodelmodellen, vertegenwoordigd door ChatGPT, hebben echter te kampen met beperkte toegankelijkheid, waaronder trainingsdata en modelgewichten. Hoewel andere grote open-source modellen zoals LLaMA veelbelovend zijn gebleken, hebben ze nog steeds moeite met het begrijpen van menselijke intenties. In dit artikel presenteren we SoTaNa, een open-source softwareontwikkelingsassistent. SoTaNa maakt gebruik van ChatGPT om hoogwaardige instructiegebaseerde data te genereren voor het domein van software engineering en past een parameter-efficiënte fine-tuning aanpak toe om het open-source basismodel, LLaMA, te verbeteren. We evalueren de effectiviteit van SoTaNa in het beantwoorden van Stack Overflow-vragen en demonstreren de mogelijkheden ervan. Daarnaast bespreken we de mogelijkheden op het gebied van codesamenvatting en -generatie, evenals de impact van het variëren van het volume gegenereerde data op de modelprestaties. Opmerkelijk is dat SoTaNa op een enkele GPU kan draaien, waardoor het toegankelijk is voor een breder scala aan onderzoekers. Onze code, modelgewichten en data zijn openbaar beschikbaar op 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.