数据集:
Muennighoff/mbpp
任务:
文生文语言:
en计算机处理:
monolingual大小:
n<1K源数据集:
original预印本库:
arxiv:2108.07732其他:
code-generation许可:
cc-by-4.0这个基准数据集包含约1,000个众包Python编程问题,旨在供初级程序员解决,涵盖编程基础、标准库功能等内容。每个问题包含任务描述、代码解决方案和3个自动化测试用例。如论文中所述,我们手动验证了数据的一个子集。
作为 Program Synthesis with Large Language Models, Austin et. al., 2021 的一部分,于 here 发布。
这个数据集用于评估代码生成。
英语 - Python代码
dataset_full = load_dataset("mbpp") DatasetDict({ test: Dataset({ features: ['task_id', 'text', 'code', 'test_list', 'test_setup_code', 'challenge_test_list'], num_rows: 974 }) }) dataset_sanitized = load_dataset("mbpp", "sanitized") DatasetDict({ test: Dataset({ features: ['source_file', 'task_id', 'prompt', 'code', 'test_imports', 'test_list'], num_rows: 427 }) })
{ '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\r\nC = 3\r\ndef min_cost(cost, m, n): \r\n\ttc = [[0 for x in range(C)] for x in range(R)] \r\n\ttc[0][0] = cost[0][0] \r\n\tfor i in range(1, m+1): \r\n\t\ttc[i][0] = tc[i-1][0] + cost[i][0] \r\n\tfor j in range(1, n+1): \r\n\t\ttc[0][j] = tc[0][j-1] + cost[0][j] \r\n\tfor i in range(1, m+1): \r\n\t\tfor j in range(1, n+1): \r\n\t\t\ttc[i][j] = min(tc[i-1][j-1], tc[i-1][j], tc[i][j-1]) + cost[i][j] \r\n\treturn 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': [] }mbpp - 已去除敏感信息的
{ '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):\n res = tuple(set(test_tup1) & set(test_tup2))\n 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))' ] }
数据集有两个版本(完整版和已去除敏感信息版),每个版本只有一个划分(测试)。
请参阅原始 paper 中的2.1节。
为了评估代码生成功能,需要一组简单编程任务以及其解决方案,而这个数据集提供了这样的内容。
该数据集是从头开始手动创建的。
语言源生产者是谁?该数据集是由谷歌的内部众包项目创建的。
先创建完整数据集,然后对其中的一个子集进行第二轮改进,以提高任务描述的质量。
注释者是谁?该数据集是由谷歌的内部众包项目创建的。
没有。
在使用此数据集进行评估时,请确保在安全的环境中执行生成的Python代码,以防生成的代码可能会造成危害。
使用这个数据集可以更好地评估代码生成模型,从而减少在使用这些模型时出现的问题。
由于任务描述可能不足以解决任务,因此“已去除敏感信息”版旨在通过让第二轮注释者改进数据集来解决这个问题。
谷歌研究团队
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 添加了这个数据集。