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。我們評估了在回答Stack Overflow問題方面的效果,並展示了其能力。此外,我們討論了它在代碼摘要和生成方面的能力,以及生成數據量變化對模型性能的影響。值得注意的是,SoTaNa可以在單個GPU上運行,使更廣泛的研究人員可以使用。我們的代碼、模型權重和數據可在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.