SoTaNa: Der Open-Source-Softwareentwicklungsassistent
SoTaNa: The Open-Source Software Development Assistant
August 25, 2023
Autoren: Ensheng Shi, Fengji Zhang, Yanlin Wang, Bei Chen, Lun Du, Hongyu Zhang, Shi Han, Dongmei Zhang, Hongbin Sun
cs.AI
Zusammenfassung
Die Softwareentwicklung spielt eine entscheidende Rolle bei der Förderung von Innovation und Effizienz in modernen Gesellschaften. Um den Anforderungen dieses dynamischen Feldes gerecht zu werden, besteht ein zunehmender Bedarf an einem effektiven Softwareentwicklungsassistenten. Allerdings leiden bestehende große Sprachmodelle, wie beispielsweise ChatGPT, unter eingeschränkter Zugänglichkeit, einschließlich der Trainingsdaten und Modellgewichte. Obwohl andere große Open-Source-Modelle wie LLaMA vielversprechend sind, haben sie immer noch Schwierigkeiten, menschliche Absichten zu verstehen. In diesem Artikel stellen wir SoTaNa vor, einen Open-Source-Softwareentwicklungsassistenten. SoTaNa nutzt ChatGPT, um hochwertige, anweisungsbasierte Daten für den Bereich der Softwareentwicklung zu generieren, und setzt einen parameter-effizienten Feinabstimmungsansatz ein, um das Open-Source-Basismodell LLaMA zu verbessern. Wir bewerten die Effektivität von SoTaNa bei der Beantwortung von Stack-Overflow-Fragen und demonstrieren seine Fähigkeiten. Darüber hinaus diskutieren wir seine Fähigkeiten in der Code-Zusammenfassung und -Generierung sowie die Auswirkungen der Variation des Umfangs der generierten Daten auf die Modellleistung. Bemerkenswerterweise kann SoTaNa auf einer einzelnen GPU laufen, was es einer breiteren Palette von Forschern zugänglich macht. Unser Code, die Modellgewichte und die Daten sind öffentlich unter https://github.com/DeepSoftwareAnalytics/SoTaNa verfügbar.
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.