Less Basic Python Problems (LBPP)
收藏arXiv2024-07-11 更新2024-07-11 收录
下载链接:
https://huggingface.co/datasets/CohereForAI/lbpp
下载链接
链接失效反馈官方服务:
资源简介:
Less Basic Python Problems (LBPP)数据集由Cohere机构创建,包含161个代码生成问题的提示及其Python解决方案。该数据集旨在评估大型语言模型在代码生成方面的能力,特别设计以减少数据泄露的风险。LBPP数据集的创建过程严格,由具有竞争编程经验的标注者手工制作,确保问题的新颖性和难度。该数据集主要应用于评估和防止模型在代码生成任务中的过拟合问题。
提供机构:
Cohere
创建时间:
2024-07-10
原始信息汇总
数据集详情
- 名称: Less Basic Python Programming
- 描述: 包含161个Python程序及其配套单元测试的集合。旨在保持新颖性(创建时未泄露)且难度高于类似数据集(如HumanEval和MBPP)。可作为这些数据集的直接替代或补充,结构上与之等效。
- 特殊条目:
lbbp/41包含一个_canary_条目,用于未来检测数据泄露,测试时应忽略。
标注过程
- 标注者被要求提供原创解决方案,不得直接使用在线资源。允许参考编程书籍或现有资源,但必须进行显著修改。
数据集字段
task_id: 唯一标识符,格式为lbpp/{idx},与HumanEval和MBPP一致。language: 编程语言,本版本均为python。title: 唯一标识符,抽象问题标题。instruction: 明确描述任务的提示。completion: 提出的黄金解决方案。signature: 黄金解决方案的精确函数签名,用于单元测试。test_setup: 每个测试用例前应包含的语句。test_list: 测试列表,包含3到11个测试用例,73%的样本少于6个测试用例。categories: 问题分类标签列表。
引用
@misc{matton2024leakagecodegenerationevaluation, title={On Leakage of Code Generation Evaluation Datasets}, author={Alexandre Matton and Tom Sherborne and Dennis Aumiller and Elena Tommasone and Milad Alizadeh and Jingyi He and Raymond Ma and Maxime Voisin and Ellen Gilsenan-McMahon and Matthias Gallé}, year={2024}, eprint={2407.07565}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2407.07565}, }
搜集汇总
数据集介绍

构建方式
Less Basic Python Problems (LBPP) 数据集的构建旨在为代码生成能力提供一个更为纯净的评估环境。该数据集由161个编程问题及其对应的Python解决方案组成,这些问题由具有竞争性编程经验的人类标注员设计,确保它们既新颖又难以通过现有的大型语言模型解决。为了降低数据泄露的风险,标注员被指示不得从互联网上复制现有的解决方案,也不得使用任何大型语言模型。所有最终的问题-解决方案对都由作者手动审查,确保了数据集的质量和难度。
特点
LBPP数据集的特点在于其新颖性和难度。与HumanEval和MBPP等现有基准相比,LBPP的问题更加复杂,大多数模型只能解决不到50%的问题。这使得LBPP成为一个更具有挑战性的测试集,能够更好地衡量模型的代码生成能力。此外,LBPP的设计旨在降低数据泄露的风险,从而提供了一个更可靠的代码生成能力评估。
使用方法
LBPP数据集的使用方法与其他代码生成基准相似。研究者可以将其作为评估模型代码生成能力的测试集,或者将其与其他基准一起使用,以获得更全面的评估结果。为了使用LBPP,研究者需要从Hugging Face的CoherenceForAI/lbpp数据集存储库中下载数据集。然后,他们可以使用标准的评估指标,如通过率(pass@1),来评估模型在LBPP上的性能。通过将模型在LBPP上的表现与在HumanEval和MBPP上的表现进行比较,研究者可以了解模型是否对现有基准过度拟合,从而更好地理解模型的实际代码生成能力。
背景与挑战
背景概述
随着大型语言模型(LLMs)在代码生成方面的应用日益广泛,评估这些模型性能的基准数据集变得尤为重要。然而,现有的代码生成评估数据集,如HumanEval和MBPP,由于数据泄露的问题,其评估结果的有效性受到了质疑。为了解决这一问题,Alexandre Matton等人提出了Less Basic Python Problems(LBPP)数据集。LBPP是一个包含161个提示及其关联的Python解决方案的新数据集,旨在提供一个更加纯净的评估环境,以衡量当代LLMs在代码生成方面的能力。LBPP数据集的创建旨在减少数据泄露的可能性,从而确保评估结果的可靠性。该数据集已经在https://huggingface.co/datasets/CohereForAI/lbpp上公开发布,为研究者和开发者提供了一个新的评估工具。
当前挑战
LBPP数据集面临的挑战主要源于两个方面:一是数据泄露的问题。由于代码生成领域的数据集相对较少,导致模型训练过程中可能无意或有意地使用到评估数据,从而影响评估结果的客观性。二是模型可能对现有评估数据过度拟合,导致在解决新问题时表现不佳。为了应对这些挑战,LBPP数据集在创建过程中采取了严格的措施,确保数据的纯净性和评估的公正性。此外,LBPP数据集的难度较高,有助于筛选出那些真正具备代码生成能力的LLMs,从而提高评估结果的可靠性。
常用场景
经典使用场景
Less Basic Python Problems (LBPP)数据集主要用于评估大型语言模型在代码生成任务上的能力。它通过提供161个与Python解决方案相关的提示,用于评估模型在代码生成方面的性能。LBPP旨在作为一个真正独立的测试集,以测量当前代码生成能力,以及可能对HumanEval和MBPP的过度拟合。
实际应用
LBPP数据集在实际应用中可用于模型开发者和研究人员评估和比较不同代码生成模型的性能。通过LBPP的评估结果,可以更准确地了解模型在实际应用中的表现,以及它们对特定代码生成任务的适应性。LBPP的发布为代码生成领域的研究和应用提供了一个新的、更可靠的评估工具。
衍生相关工作
LBPP数据集的发布激发了相关领域的研究,例如Livecodebench(Jain et al., 2024)和SWE-bench(Jimenez et al., 2024)。这些工作旨在提供一个更全面和更无污染的评估框架,以评估大型语言模型在代码生成任务上的能力。LBPP的发布为这些研究提供了重要的参考数据和评估基准。
以上内容由遇见数据集搜集并总结生成



