SoTaNa: Помощник для разработки программного обеспечения с открытым исходным кодом
SoTaNa: The Open-Source Software Development Assistant
August 25, 2023
Авторы: Ensheng Shi, Fengji Zhang, Yanlin Wang, Bei Chen, Lun Du, Hongyu Zhang, Shi Han, Dongmei Zhang, Hongbin Sun
cs.AI
Аннотация
Разработка программного обеспечения играет ключевую роль в стимулировании инноваций и повышении эффективности в современных обществах. Чтобы удовлетворить требования этой динамичной области, возрастает потребность в эффективном помощнике для разработки программного обеспечения. Однако существующие крупные языковые модели, представленные ChatGPT, страдают от ограниченной доступности, включая данные для обучения и веса модели. Хотя другие крупные модели с открытым исходным кодом, такие как LLaMA, показали перспективность, они всё ещё испытывают трудности с пониманием человеческих намерений. В данной статье мы представляем SoTaNa — помощника для разработки программного обеспечения с открытым исходным кодом. SoTaNa использует ChatGPT для генерации высококачественных данных на основе инструкций в области программной инженерии и применяет параметрически эффективный подход тонкой настройки для улучшения базовой модели с открытым исходным кодом, LLaMA. Мы оцениваем эффективность SoTaNa в ответах на вопросы Stack Overflow и демонстрируем её возможности. Кроме того, мы обсуждаем её способности в области суммирования и генерации кода, а также влияние изменения объёма сгенерированных данных на производительность модели. Примечательно, что SoTaNa может работать на одном графическом процессоре, что делает её доступной для более широкого круга исследователей. Наш код, веса модели и данные доступны по адресу 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.