数据集:
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节。
为评估代码生成功能,需要一组简单的编程任务以及解决方案,而该数据集提供了这些。
数据集是通过人工从头创建的。
源语言生产者是谁?数据集是由Google的内部众包努力创建的。
首先创建了完整数据集,然后对其中的一个子集进行了第二轮以改进任务描述。
注释者是谁?数据集是由Google的内部众包努力创建的。
无。
在对比此数据集进行评估时,请确保在安全环境中执行生成的Python代码,因为生成的代码可能具有安全风险。
通过该数据集,可以更好地评估代码生成模型,减少使用此类模型时引入的问题。
由于任务描述可能不足以解决任务,因此“清理过的”拆分旨在通过由第二轮注释者改进数据集来解决此问题。
Google研究团队
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 添加了该数据集。