Press "Enter" to skip to content

让ChatGPT成为更好的软件开发人员:SoTaNa是一个面向软件开发的开源AI助手

让ChatGPT成为更好的软件开发人员:SoTaNa是一个面向软件开发的开源AI助手 四海 第1张让ChatGPT成为更好的软件开发人员:SoTaNa是一个面向软件开发的开源AI助手 四海 第2张

我们做事的方式在最近几年发生了快速变化。我们已经开始使用虚拟助手来完成我们大部分的任务,并发现自己处于一种需要将任务委派给AI代理的位置。

有一把钥匙可以解锁推动所有这些进步的力量:软件。在一个日益技术驱动的世界中,软件开发是创新的关键,涵盖了从医疗保健到娱乐等各个领域。然而,软件开发的过程往往充满了复杂性和挑战,要求开发人员快速解决问题和创造性思考。

这就是为什么AI应用程序在软件开发领域迅速找到了自己的位置。它们简化了这个过程,为开发人员提供了及时的编码查询答案,并在他们的努力中支持他们。我的意思是,你可能也在使用它。你上次去StackOverflow而不是ChatGPT是什么时候?或者当你安装了GitHub协作者时,你按Tab键的次数有多少?

ChatGPT和Copilot都不错,但它们在软件开发中仍然需要有良好的指导才能发挥更好的作用。今天,我们见到了一个新的参与者;SoTaNa

SoTaNa是一个利用LLM的能力来提高软件开发效率的软件开发助手。像ChatGPT和GPT4这样的LLM已经展示了它们在理解人类意图和生成类似人类的回应方面的能力。它们在包括文本摘要和代码生成在内的各个领域都变得有价值。然而,由于某些限制,它们的可用性受到了限制,而SoTaNa旨在解决这些限制。

SoTaNa作为一个开源软件开发助手,致力于弥合开发者和LLM的巨大潜力之间的鸿沟。这个倡议的主要目标是使基础LLM能够在有限的计算资源下理解开发者的意图。这项研究采用了多步骤的方法来实现这一目标,利用ChatGPT来生成面向软件工程任务的高质量基于指令的数据。

让ChatGPT成为更好的软件开发人员:SoTaNa是一个面向软件开发的开源AI助手 四海 第3张
SoTaNa概述。来源:https://arxiv.org/pdf/2308.13416.pdf

该过程通过引导ChatGPT进行具体提示,详细说明生成新实例的要求来开始。为了确保准确性和与期望输出的对齐,手动注释的软件工程相关实例的种子池作为参考。这个池子涵盖了各种软件工程任务,为生成新数据奠定了基础。通过巧妙的采样技术,这种方法有效地使演示实例多样化,并确保创建满足规定要求的高质量数据。

为了更好地提高模型对人类意图的理解,SoTaNa采用了Lora,一种参数高效的微调方法,使用有限的计算资源来增强开源基础模型,特别是LLaMA。这个微调过程使模型在软件工程领域内更好地理解人类意图。

让ChatGPT成为更好的软件开发人员:SoTaNa是一个面向软件开发的开源AI助手 四海 第4张
生成数据使用的提示。来源:https://arxiv.org/pdf/2308.13416.pdf

SoTaNa的能力是使用Stack Overflow问题回答数据集进行评估的,包括人工评估在内的结果强调了该模型在协助开发人员方面的有效性。

SoTaNa向世界介绍了一个基于LLMs构建的开源软件开发助手,能够理解开发人员的意图并生成相关的响应。此外,它通过发布模型权重和专为软件工程而设计的高质量基于指令的数据集,对社区做出了重要贡献。这些资源有望加速未来在该领域的研究和创新。

Leave a Reply

Your email address will not be published. Required fields are marked *