
数据集模型评测【免费下载链接】mbpp项目地址https://ai.gitcode.com/hf_mirrors/google-research-datasets/mbpp点击查看免费下载MBPPMostly Basic Python Problems大多数基础 Python 问题是 Google Research 发布的LLM 代码生成基准数据集包含约 1000 道面向入门级开发者的 Python 编程题。每道题由「任务描述 参考代码 3 个自动化测试用例」组成是目前评测大语言模型LLM写代码能力最常用的基准之一。本文将带你快速认识 MBPP 数据集它的版本结构、数据字段、加载方法和常见使用注意事项。 MBPP 是什么一个代码生成评测基准MBPP 最早出自 Google Research 团队 2021 年的论文Program Synthesis with Large Language ModelsAustin et al., 2021用于回答一个关键问题大语言模型到底能不能写出能跑通的 Python 代码它的设计思路很清晰题目简单由 Google 内部众包创建覆盖编程基础语法、标准库使用等入门级程序员即可完成自动可验证每道题自带assert断言测试代码生成后直接运行断言即可判定对错无需人工评判规模适中约 1000 道题评测一轮成本低结果却具有广泛可比性因此被大量研究和开源模型引用。可以说MBPP 是 LLM 代码生成领域事实上的标准考场。数据集完整说明见 README.md。 MBPP 数据集结构解析full 与 sanitized 两大版本仓库提供两个配置版本config各含 4 个数据划分split数据以 Parquet 格式存放版本traintestvalidationprompt合计特点full默认3745009010974完整众包原始版本sanitized120257437427人工二次校订的精简版两个版本的差异值得重点理解full 版本任务描述text字段保留众包原始表述部分描述可能不够严谨或存在歧义sanitized 版本抽取子集后由人工进行第二轮标注重点改进了任务描述prompt字段并清理了测试相关字段适合作为更公平的评测集prompt 划分专门用于 few-shot少样本提示示例不用于训练这一点在复现论文时经常被忽略。对应数据文件如下可按 split 直接查看full 版本full/train-00000-of-00001.parquet、full/test-00000-of-00001.parquet、full/validation-00000-of-00001.parquet、full/prompt-00000-of-00001.parquetsanitized 版本sanitized/train-00000-of-00001.parquet、sanitized/test-00000-of-00001.parquet、sanitized/validation-00000-of-00001.parquet、sanitized/prompt-00000-of-00001.parquet 3 步快速上手加载 MBPP 数据集使用 Hugging Facedatasets库加载 MBPP 只需几行代码from datasets import load_dataset # 步骤1加载默认 full 版本 dataset_full load_dataset(mbpp) # 步骤2如需校订版指定 sanitized 配置 dataset_sanitized load_dataset(mbpp, sanitized) # 步骤3查看一条样本 print(dataset_sanitized[prompt][0][prompt])一条 sanitized 样本长这样节选自官方示例{ 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):\n res tuple(set(test_tup1) set(test_tup2))\n return (res) , test_list: [ assert set(similar_elements((3, 4, 5, 6),(5, 7, 4, 10))) set((4, 5)), ... ] }如果你更习惯克隆仓库离线使用 Parquet 文件git clone https://gitcode.com/hf_mirrors/google-research-datasets/mbpp MBPP 数据字段详解读懂每条样本两个版本的字段定义如下字段所属版本含义task_id两者题目唯一编号int32textfull编程任务的文字描述promptsanitized经人工校订的任务描述code两者该题的参考 Python 解答test_list两者3 条assert断言用于自动验证challenge_test_listfull附加的高难度测试进一步检验解答健壮性test_setup_codefull运行测试所需的额外代码test_importssanitized运行测试所需的 import 语句source_filesanitized该样本在原始标注 notebook 中的来源使用建议正式评测建议以test_list为主如果想区分碰巧通过和真正健壮的模型输出可以再加上challenge_test_list做二次筛选。✅ 如何用 MBPP 评测你的代码生成模型一个典型的 MBPP 评测流程分为 4 步取题从 test 划分中取出text或prompt作为输入生成让模型输出 Python 函数可结合 prompt 划分做 few-shot 提示验证把生成的代码与test_list中的断言一起执行全过即算通过汇总统计通过率业界常用 passk 指标跨模型横向对比。⚠️两条重要安全与公平性提示务必在沙箱/受限环境中执行生成的代码——模型输出可能包含危险操作切勿在生产环境直接运行full 版本部分题目描述可能信息不足或表述模糊若发现代码写对了但描述无法理解说明该题属于这类情况此时可改用 sanitized 版本以获得更干净的评测信号。 常见问题FAQQ1MBPP 适合训练代码模型吗MBPP 的定位是评测基准。train 划分full 版 374 条体量较小通常用于 few-shot 示例或辅助研究而非作为主要训练语料。Q2full 和 sanitized 我该选哪个做论文复现或追求与原文可比性用默认full版追求题目描述清晰、评测更公平用sanitized版。Q3MBPP 可以免费商用吗可以。数据集采用CC-BY-4.0许可标注方式为众包 专家校订英文单一语言总数据量不足 1000 条full 版 974 条属于轻量级基准下载和存储成本都很低。 写在最后MBPP 以小体量、可自动验证、描述清晰三个特点成为LLM 代码生成评测事实标准974 道入门级 Python 题、每题 3 个断言测试让任何模型都能在几分钟内完成一轮公平评测。无论你是想验证自家模型的代码能力还是复现经典论文从load_dataset(mbpp)开始就是最短路径。 参考Austin, J. et al.Program Synthesis with Large Language Models. arXiv:2108.07732, 2021. 数据集完整文档见 README.md。赞分享数据集模型评测【免费下载链接】mbpp项目地址https://ai.gitcode.com/hf_mirrors/google-research-datasets/mbpp点击查看免费下载相关推荐AIResource/aicode代码生成评估HumanEval与MBPP基准测试全指南AIResource/aicode代码生成评估HumanEval与MBPP基准测试全指南 你是否还在为选择合适的代码生成模型而烦恼面对市场上层出不穷的AI编文档知识库人工智能idiomatic.js代码生成器基于规范模板快速生成标准代码idiomatic.js代码生成器基于规范模板快速生成标准代码 想要写出风格一致、可读性强的JavaScript代码吗idiomatic.js项目为你提供了SQLite数据库开发入门使用sqlc工具快速生成Go代码SQLite数据库开发入门使用sqlc工具快速生成Go代码 前言 在Go语言开发中与SQLite数据库交互是一个常见需求。传统方式需要手动编写大量重复的SQ开发工具代码生成数据库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考