HumanEval Pro and MBPP Pro
收藏数据集概述
数据集名称
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}, }
致谢
评估代码灵感来源于 Magicoder 和 WaveCoder,并感谢 Evalplus 提供的原始 HumanEval 和 MBPP 评估。




