MBPP(Mostly Basic Programming Problems)数据集概述
| 项目 | 内容 | 说明 |
|---|---|---|
| 全称 | Mostly Basic Programming Problems(亦称 “Mostly Basic Python Problems”) | 主要面向 Python 编程任务的基准数据集 |
| 发布机构 | Google Research(Jacob Austin 等) | 2021 年首次公开发布 |
| 规模 | 约 1 000 条(公开的 sanitized 版本为 974 条) | 每条包含自然语言描述、函数签名、参考代码以及 3 条自动化测试用例 |
| 任务类型 | 基础算法、字符串处理、列表操作、数学计算、控制流等,适合入门‑中级程序员 | 任务设计强调“基础编程概念”,如循环、条件判断等 |
| 数据结构 | JSONL 每行一个样本,常见字段包括 task_id、prompt(或 text)、code、test_list、test_setup_code 等 |
|
| 使用场景 | - 评估大语言模型(LLM)在代码生成/程序合成上的能力 - 编程教育与自动化辅导系统 - 代码自动补全、错误修复等研发 |
被广泛用于 HumanEval、CodeX、GPT‑4 等模型的基准测试 |
| 许可证 | CC‑BY‑4.0(可自由使用、再分发并注明来源) | |
| 获取方式 | - GitHub(官方仓库) https://github.com/google-research/google-research/tree/master/mbpp - HuggingFace 数据集页面 https://huggingface.co/datasets/mbpp - TensorFlow Datasets(full 与 sanitized 两个子集) https://tensorflow.google.cn/datasets/community_catalog/huggingface/mbpp |
|
| 评价指标 | 常用 pass@k(k = 1、10、100)衡量在一次或多次生成中至少有一个答案通过全部测试用例 |
关键特点简述
- 任务设计简洁:每个问题只需实现一个自包含的 Python 函数,避免 I/O 与交互复杂性,便于自动化评估。
- 测试用例驱动:每题配有 3 条
assert语句,确保生成代码的功能正确性,是代码生成模型的“单元测试”。 - 两种版本:
- full:全部 974 条 crowd‑sourced 题目。
- sanitized(hand‑verified):经过人工审校,质量更高,常用于学术评测。
- 跨平台支持:已在 HuggingFace、TensorFlow Datasets、PyTorch‑datasets 等生态中提供加载接口,方便研究者快速集成。
推荐阅读与资源
- 原始论文/报告(arXiv): “Mostly Basic Programming Problems” (Austin et al., 2021) – 详细阐述数据集构建流程与基准实验。
- 官方 GitHub: 包含数据文件、README、使用示例。
- HuggingFace 数据集卡: 提供
datasets.load_dataset("mbpp")的一键加载方式,并列出字段说明。 - TensorFlow Datasets 文档: 演示
tfds.load('huggingface:mbpp/full')与sanitized的区别。
通过上述链接即可直接下载或在线浏览 MBPP 数据集,进而用于模型训练、评估或教学实验。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!