five

google-research-datasets/mbpp|Python编程数据集|代码生成数据集

收藏
hugging_face2024-01-04 更新2024-06-15 收录
Python编程
代码生成
下载链接:
https://hf-mirror.com/datasets/google-research-datasets/mbpp
下载链接
链接失效反馈
资源简介:
Mostly Basic Python Problems (mbpp)数据集包含约1,000个由众包和专家生成的Python编程问题,旨在评估代码生成模型。每个问题包括任务描述、代码解决方案和3个自动化测试用例。数据集分为两个版本:完整版和清理版,每个版本包含训练、测试、验证和提示四个部分。数据集的创建目的是为了评估代码生成功能,并通过内部众包努力在Google进行创建和注释。
提供机构:
google-research-datasets
原始信息汇总

数据集概述

基本信息

  • 数据集名称: Mostly Basic Python Problems (mbpp)
  • 语言: 英语
  • 许可证: CC-BY-4.0
  • 多语言性: 单语种
  • 大小类别: n<1K
  • 源数据集: 原始数据
  • 任务类别: 文本到文本生成
  • 标签: 代码生成

数据集结构

配置

  • full:

    • 特征:
      • task_id: int32
      • text: string
      • code: string
      • test_list: sequence of string
      • test_setup_code: string
      • challenge_test_list: sequence of string
    • 分割:
      • train: 374个样本, 176879字节
      • test: 500个样本, 244104字节
      • validation: 90个样本, 42405字节
      • prompt: 10个样本, 4550字节
    • 下载大小: 236069字节
    • 数据集大小: 467938字节
  • sanitized:

    • 特征:
      • source_file: string
      • task_id: int32
      • prompt: string
      • code: string
      • test_imports: sequence of string
      • test_list: sequence of string
    • 分割:
      • train: 120个样本, 63453字节
      • test: 257个样本, 132720字节
      • validation: 43个样本, 20050字节
      • prompt: 7个样本, 3407字节
    • 下载大小: 115422字节
    • 数据集大小: 219630字节

数据实例

  • full: json { "task_id": 1, "text": "Write a function to find the minimum cost path to reach (m, n) from (0, 0) for the given cost matrix cost[][] and a position (m, n) in cost[][].", "code": "R = 3 C = 3 def min_cost(cost, m, n): tc = [[0 for x in range(C)] for x in range(R)] tc[0][0] = cost[0][0] for i in range(1, m+1): tc[i][0] = tc[i-1][0] + cost[i][0] for j in range(1, n+1): tc[0][j] = tc[0][j-1] + cost[0][j] for i in range(1, m+1): for j in range(1, n+1): tc[i][j] = min(tc[i-1][j-1], tc[i-1][j], tc[i][j-1]) + cost[i][j] return tc[m][n]", "test_list": [ "assert min_cost([[1, 2, 3], [4, 8, 2], [1, 5, 3]], 2, 2) == 8", "assert min_cost([[2, 3, 4], [5, 9, 3], [2, 6, 4]], 2, 2) == 12", "assert min_cost([[3, 4, 5], [6, 10, 4], [3, 7, 5]], 2, 2) == 16" ], "test_setup_code": "", "challenge_test_list": [] }

  • sanitized: json { "source_file": "Benchmark Questions Verification V2.ipynb", "task_id": 2, "prompt": "Write a function to find the shared elements from the given two lists.", "code": "def similar_elements(test_tup1, test_tup2): res = tuple(set(test_tup1) & set(test_tup2)) return (res) ", "test_imports": [], "test_list": [ "assert set(similar_elements((3, 4, 5, 6),(5, 7, 4, 10))) == set((4, 5))", "assert set(similar_elements((1, 2, 3, 4),(5, 4, 3, 7))) == set((3, 4))", "assert set(similar_elements((11, 12, 14, 13),(17, 15, 14, 13))) == set((13, 14))" ] }

数据字段

  • source_file: 未知
  • text/prompt: 编程任务描述
  • code: 编程任务的解决方案
  • test_setup_code/test_imports: 执行测试所需的代码导入
  • test_list: 验证解决方案的测试列表
  • challenge_test_list: 进一步探测解决方案的更具挑战性的测试列表

数据分割

  • fullsanitized 版本各有四个分割:
    • train
    • evaluation
    • test
    • prompt (用于少样本提示,不用于训练)

数据集创建

  • 创建理由: 为了评估代码生成功能,需要一组简单的编程任务及其解决方案,该数据集提供了这一点。
  • 源数据: 数据集是从零开始手动创建的,由Google内部的众包努力创建。
  • 注释: 完整数据集首先创建,然后一部分经过第二轮改进任务描述。

使用数据的注意事项

  • 确保在安全环境中执行生成的Python代码,因为生成的代码可能有害。
  • 社会影响: 该数据集可以更好地评估代码生成模型,从而在使用此类模型时减少问题。
  • 已知限制: 任务描述可能不够表达,不足以解决任务。sanitized 分割旨在通过第二轮注释者改进数据集来解决此问题。

附加信息

  • 数据集策展人: Google Research

  • 许可证信息: CC-BY-4.0

  • 引用信息:

    @article{austin2021program, title={Program Synthesis with Large Language Models}, author={Austin, Jacob and Odena, Augustus and Nye, Maxwell and Bosma, Maarten and Michalewski, Henryk and Dohan, David and Jiang, Ellen and Cai, Carrie and Terry, Michael and Le, Quoc and others}, journal={arXiv preprint arXiv:2108.07732}, year={2021} }

  • 贡献者: @lvwerra

AI搜集汇总
数据集介绍
main_image_url
构建方式
该数据集由Google Research团队通过内部众包方式构建,旨在为代码生成模型提供评估基准。数据集包含约1000个Python编程问题,每个问题均由任务描述、代码解决方案和三个自动化测试用例组成。部分数据经过人工验证,以确保其质量和准确性。数据集的构建过程包括初始数据收集和规范化,以及后续的任务描述改进。
特点
该数据集的特点在于其专注于基础Python编程问题,适合入门级程序员使用。每个问题都包含详细的任务描述、代码解决方案和测试用例,能够有效评估代码生成模型的性能。数据集分为完整版和净化版两个版本,净化版通过第二轮注释改进了任务描述的清晰度。此外,数据集还提供了用于少样本提示的样本,增强了其在实际应用中的灵活性。
使用方法
使用该数据集时,首先通过Hugging Face的`load_dataset`函数加载数据集,可以选择完整版或净化版。加载后,数据集将包含训练集、验证集、测试集和提示集四个部分。用户可以通过分析任务描述、代码解决方案和测试用例,评估代码生成模型的性能。需要注意的是,生成的Python代码应在安全环境中执行,以避免潜在的安全风险。
背景与挑战
背景概述
Mostly Basic Python Problems (mbpp) 数据集由Google Research于2021年发布,旨在为代码生成模型提供基准测试。该数据集包含约1000个由众包和专家生成的Python编程问题,涵盖编程基础、标准库功能等内容。每个问题包括任务描述、代码解决方案和三个自动化测试用例。该数据集的发布与论文《Program Synthesis with Large Language Models》密切相关,旨在推动大语言模型在程序合成领域的应用。通过提供这些基础编程问题,mbpp数据集为评估代码生成模型的性能提供了标准化的测试环境,对编程教育和自动化代码生成研究具有重要影响。
当前挑战
mbpp数据集在构建和应用过程中面临多重挑战。首先,代码生成任务本身具有复杂性,要求模型不仅能够理解自然语言描述,还需生成符合语法和逻辑的代码。其次,数据集的构建依赖于众包和专家标注,如何确保任务描述的准确性和代码解决方案的正确性是一个关键问题。尽管部分数据经过人工验证,但仍可能存在描述不清晰或测试用例不充分的情况。此外,数据集中的任务描述可能不足以涵盖所有编程场景,导致模型在实际应用中表现不佳。最后,生成的代码可能包含安全隐患,如何在评估过程中确保代码执行的安全性也是一个不容忽视的挑战。
常用场景
经典使用场景
在编程教育和代码生成领域,Mostly Basic Python Problems (mbpp) 数据集被广泛用于评估和训练代码生成模型。该数据集包含约1,000个入门级Python编程问题,每个问题都配有任务描述、代码解决方案和自动化测试用例。这些问题的设计旨在覆盖编程基础知识和标准库功能,适合用于测试模型在生成代码时的准确性和鲁棒性。
解决学术问题
mbpp数据集解决了代码生成模型评估中的关键问题,即如何有效地衡量模型在生成代码时的性能。通过提供一系列标准化的编程任务和测试用例,研究人员可以系统地评估模型在不同编程场景下的表现。这不仅有助于推动代码生成技术的发展,还为模型优化提供了明确的方向。
衍生相关工作
mbpp数据集衍生了许多相关研究,特别是在代码生成和程序合成领域。例如,基于该数据集的研究工作推动了大型语言模型在代码生成中的应用,如OpenAI的Codex模型。此外,mbpp数据集还被用于开发新的评估方法和基准测试,进一步推动了代码生成技术的进步。这些研究不仅扩展了数据集的应用范围,还为未来的研究提供了宝贵的参考。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作