微调大语言模型以回答带代码片段的编程问题
1. 引言
现代自然语言处理(NLP)广泛使用大语言模型(LLMs),这些模型通过预训练隐式地从文本中提取知识,然后可以在不访问任何外部上下文或知识的情况下执行开放域问答(QA)。对于非常大的模型,如GPT - 3,这种方法甚至可以在不进行任何微调的情况下,在开放域QA上取得与基于检索的方法相竞争的结果。
最近,Codex在程序合成方面的成功表明,预训练的LLMs可以成功地从NLP领域适应到源代码领域。然而,现实中程序员在编程相关问答网站上的问题并不局限于定义功能,这就引出了我们的研究问题:预训练的LLMs在回答现实中程序员的问题(即使是用代码片段回答的问题)时效果如何?
2. 数据集
我们关注具有以下属性的编程相关问答数据:
- “API使用”类问题。
- 问题由简短的文本描述(≤200字符)组成,且不包含显式的源代码。
- 答案包含显式的代码片段,为问题提供解决方案。
- 研究主要集中在Python这一流行的编程语言。
2.1 CoNaLa数据集
这是一个现有的公开数据集,包含2879个示例,其中训练集有2379个,测试集有500个。该数据集是从Stack Overflow爬取并经过人工注释整理的。
2.2 自定义Stack Overflow数据集
基于原始的公开Stack Overflow数据准备。具体操作步骤如下:
1. 选择带有“Python”标签的问题,并仅使用标题文本作为问题。
2. 根据Stack Overflow数据选择得分最高的答案作为真实答案。 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



