five

HumanEval Pro and MBPP Pro

收藏
github2025-01-02 更新2025-01-03 收录
下载链接:
https://github.com/CodeEval-Pro/CodeEval-Pro
下载链接
链接失效反馈
资源简介:
我们提出了HumanEval Pro和MBPP Pro,这是传统HumanEval和MBPP基准的扩展版本,用于评估大语言模型在自调用代码生成任务中的表现。自调用代码生成是一项新任务,旨在评估大语言模型的渐进推理和问题解决能力。在该任务中,模型会收到一个基础问题和一个相关的更复杂问题。它们必须解决基础问题,然后利用其解决方案来解决更复杂的问题。

We propose HumanEval Pro and MBPP Pro, which are extended versions of the traditional HumanEval and MBPP benchmarks, for evaluating Large Language Models (LLMs) on the self-invoking code generation task. Self-invoking code generation is a novel task designed to assess the progressive reasoning and problem-solving capabilities of LLMs. In this task, the model is provided with a base problem and a related, more complex problem. It must solve the base problem first, then leverage its solution to tackle the more complex problem.
创建时间:
2024-12-05
原始信息汇总

数据集概述

数据集名称

HumanEval Pro 和 MBPP Pro

数据集简介

HumanEval Pro 和 MBPP Pro 是传统 HumanEval 和 MBPP 基准的扩展版本,用于评估大语言模型(LLMs)在自调用代码生成任务中的表现。自调用代码生成任务旨在评估 LLMs 的渐进推理和问题解决能力。在该任务中,模型首先解决一个基础问题,然后利用其解决方案来解决一个更复杂的问题。

数据集特点

  • 任务类型:代码相关任务
  • 任务目标:评估 LLMs 在自调用代码生成任务中的表现
  • 数据集扩展:基于 HumanEval 和 MBPP 基准进行扩展

数据集使用

环境设置

推荐使用 Conda 管理环境,运行以下命令设置环境: sh conda create -n evalpro python==3.10 conda activate evalpro pip install -e .

模型评估

使用 vllm 生成解决方案,运行以下命令: sh set -ex OUTPUT_DIR=result MODEL=QwQ-32B-preview MODEL_PATH=Qwen/QwQ-32B-Preview TASK_TYPE=humaneval_pro # or mbpp_pro mkdir -p ${OUTPUT_DIR}/${MODEL}/${TASK_TYPE}/outputs/

python -m eval.inference --model_name_or_path $MODEL_PATH --save_path ${OUTPUT_DIR}/${MODEL}/${TASK_TYPE}/outputs/results.jsonl --dataset $TASK_TYPE --is_use_vllm true --do_sample false --temperature 0.0 --top_p 1.0 --max_new_tokens 4096 --n_problems_per_batch 28 --n_samples_per_problem 1 --n_batches 1

任务类型

可选任务类型包括:

["humaneval", "mbpp", "humaneval_pro", "mbpp_pro", "humaneval_pro_cot", "mbpp_pro_cot", "humaneval_pro_1shot", "mbpp_pro_1shot"]

结果获取

运行 eval/harness.py 获取 pass@k 分数: sh set -ex OUTPUT_DIR=result MODEL=Qwen2.5Coder-32B-base DATASET=humaneval_pro TASK_TYPE=humaneval_pro

python -m santize --model_name $MODEL --source_path ${OUTPUT_DIR}/${MODEL}/${TASK_TYPE}/outputs/

python -m harness --model_name $MODEL --dataset_path dataset/refined_${DATASET}.json --source_path ${OUTPUT_DIR}/${MODEL}/${TASK_TYPE}/outputs/ --save_path ${OUTPUT_DIR}/${MODEL}/${TASK_TYPE} --run_code

数据集许可证

MIT 许可证

引用

如果使用该数据集,请引用以下论文:

@misc{yu-2024, author = {Yu, Zhaojian and Zhao, Yilun and Cohan, Arman and Zhang, Xiao-Ping}, month = {12}, title = {{HumanEval Pro and MBPP Pro: Evaluating large language models on self-invoking code Generation}}, year = {2024}, url = {https://arxiv.org/abs/2412.21199}, }

致谢

评估代码灵感来源于 MagicoderWaveCoder,并感谢 Evalplus 提供的原始 HumanEval 和 MBPP 评估。

AI搜集汇总
数据集介绍
main_image_url
构建方式
HumanEval Pro和MBPP Pro是基于传统HumanEval和MBPP基准的扩展版本,旨在评估大语言模型在自调用代码生成任务中的表现。该数据集的构建通过设计一系列基础问题及其相关的复杂问题,要求模型首先解决基础问题,并利用其解决方案进一步处理复杂问题。这种设计不仅测试了模型的代码生成能力,还考察了其渐进推理和问题解决的能力。数据集的构建过程包括问题的精心设计、解决方案的验证以及模型的多次迭代测试,确保了数据集的科学性和实用性。
特点
HumanEval Pro和MBPP Pro数据集的特点在于其独特的自调用代码生成任务设计,能够全面评估大语言模型在复杂问题解决中的表现。数据集包含了多样化的编程问题,涵盖了从基础到高级的多个难度层次,确保了评估的全面性和深度。此外,数据集还提供了详细的评估管道和示例,帮助用户更好地理解任务要求和模型表现。通过这种设计,数据集不仅能够评估模型的代码生成能力,还能够揭示模型在渐进推理和问题解决中的潜力。
使用方法
使用HumanEval Pro和MBPP Pro数据集进行模型评估时,首先需要配置环境并安装相关依赖。用户可以通过命令行工具运行模型推理任务,生成解决方案并保存结果。随后,使用提供的评估脚本计算模型的pass@k分数,以量化模型的表现。数据集支持多种任务类型和模型配置,用户可以根据需求灵活调整评估参数。此外,数据集还提供了详细的错误统计和执行日志,帮助用户深入分析模型的表现和改进方向。通过这种系统化的评估流程,用户可以全面了解模型在自调用代码生成任务中的能力。
背景与挑战
背景概述
HumanEval Pro和MBPP Pro是由Zhaojian Yu、Yilun Zhao、Arman Cohan和Xiao-Ping Zhang等研究人员于2024年12月提出的两个扩展版本的数据集,旨在评估大型语言模型在自调用代码生成任务中的表现。自调用代码生成是一种新颖的任务,旨在评估模型在逐步推理和问题解决方面的能力。该任务要求模型首先解决一个基础问题,然后利用其解决方案来解决一个更复杂的问题。这一任务的提出,不仅扩展了传统HumanEval和MBPP基准的应用范围,还为评估大型语言模型在复杂代码生成任务中的表现提供了新的视角。
当前挑战
HumanEval Pro和MBPP Pro在解决自调用代码生成任务时面临多重挑战。首先,模型需要具备强大的逐步推理能力,能够将基础问题的解决方案有效地应用于更复杂的问题中,这对模型的逻辑推理和代码生成能力提出了更高的要求。其次,数据集的构建过程中,研究人员需要设计一系列具有递进关系的问题对,确保每个问题对在逻辑上紧密相关且难度逐步提升,这对数据集的构建质量和多样性提出了挑战。此外,评估模型的性能时,如何准确衡量模型在自调用任务中的表现,避免因代码执行错误或逻辑偏差导致的评估偏差,也是数据集面临的重要挑战之一。
常用场景
经典使用场景
HumanEval Pro和MBPP Pro数据集主要用于评估大语言模型在自调用代码生成任务中的表现。自调用代码生成任务要求模型在解决基础问题后,利用其解决方案进一步解决更复杂的问题。这一任务设计旨在测试模型的渐进推理和问题解决能力,广泛应用于代码生成领域的研究和开发中。
解决学术问题
该数据集解决了大语言模型在代码生成任务中面临的渐进推理和复杂问题解决的挑战。通过引入自调用代码生成任务,研究者能够更全面地评估模型的推理能力和代码生成质量,从而推动代码生成技术的进步。这一数据集为学术界提供了新的评估标准,有助于深入理解大语言模型在复杂任务中的表现。
衍生相关工作
基于HumanEval Pro和MBPP Pro数据集,研究者们开展了多项相关工作,包括改进代码生成模型的架构、优化推理算法以及开发新的评估方法。这些工作不仅推动了代码生成领域的技术进步,还为其他相关领域的研究提供了宝贵的参考和借鉴。该数据集的衍生工作进一步拓展了其在人工智能和编程领域的应用范围。
以上内容由AI搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作