巴黎大学:Python代码数据集提升LLM表现

在这里插入图片描述

📖标题:CodeInsight: A Curated Dataset of Practical Coding Solutions from Stack Overflow
🌐来源:arXiv, 2409.16819

摘要

🔸我们介绍了一种为代码生成量身定制的新数据集,旨在帮助开发人员完成常见任务。我们的数据集提供了示例,其中包括明确的意图、相关的代码片段以及三个相关单元测试的平均值。它包括一系列库,如Pandas、Numpy和Regex,以及70多个从Stack Overflow派生的Python代码标准库。我们的数据集由Python专家精心制作的3409个示例组成,专为模型微调和独立评估而设计。
🔸为了完成单元测试评估,我们对示例进行分类,以获得更细粒度的分析,从而加深对模型在特定编码任务中的优缺点的理解。这些示例已经过改进,以减少数据污染,这一过程得到了三个领先型号的性能证实:Mistral 7B、CodeLLaMa 13B和Starcoder 15B。我们进一步研究了数据污染测试GPT-4在我们数据集的一部分上的性能。基准测试可以在https://github/NathanaelBeau/CodeInsight上访问。

🛎️文章简介

🔸研究问题:现有代码生成数据集在精确性、上下文感知和语法准确性方面仍有不足,能充分反映开发者实际面临的编程挑战。
🔸主要贡献:论文引入了CodeInsight数据集,这是一个专门为Python代码生成任务设计的高质量、专家标注的数据集,涵盖了从基础编程到复杂数据科学的广泛内容。

📝重点思路

🔺相关工作

🔸HumanEval、MBPP和APPS等强调解决综合编程挑战。
🔸DSP、DS-1000和ODEX等数据科学数据集的单元测试用例较少,原因是数据科学通常需要更少但更复杂的测试用例。

🔺论文方案

🔸数据来源:使用了CoNaLa数据集,还从Stack Overflow上额外收集了600个样本,特别强调了Pandas、Numpy和Regex等包的使用。
🔸数据筛选:从初始的7300个示例中筛选出2707个独特的编程问题,包括从CoNaLa数据集中保留1,993个示例,以及从Pandas、Numpy和Regex类别中分别保留294、242和178个示例。
🔸数据标注:从Stack Overflow中提取代码解决方案,并将其转换为标准化的Python函数。当一个问题有多个有效答案时,标注者需要捕捉所有可能的解决方案,并将其标准化为Python函数。此外,还为每个示例创建了单元测试,以确保代码的正确性。
🔸统计分析:包括代码行数、AST深度、问题描述的词数等,以评估数据集的多样性和复杂性。
🔸模型评估:使用最先进的LLM对数据集进行了评估,采用了零样本评估框架和多种数据分区策略,以测试模型在不同任务上的表现。

🔎分析总结

🔸数据集的多样性和复杂性:CodeInsight数据集展示了从基础编程到复杂数据科学挑战的广泛内容,涵盖了多种编程任务和库的使用。
🔸标注质量:通过专家标注和单元测试,数据集的标注质量得到了保证,减少了模型在训练过程中简单复制训练数据的可能性。
🔸模型性能:CodeInsight数据集能够有效地训练和评估LLM在Python代码生成任务上的表现,特别是在处理复杂数据科学任务时,模型的性能得到了显著提升。
🔸与其他数据集的比较:CodeInsight数据集在平均单元测试数量上超过了其他专注于数据科学的数据集,表明其在代码生成任务上的实用性和有效性。

💡个人观点

论文的核心是专门为Python代码生成设计了一个高质量、专家标注的数据集。

附录

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型任我行

随意啦,喜欢就好~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值