five

HumanEval

收藏
github2024-11-19 更新2024-11-28 收录
下载链接:
https://github.com/richardodliu/OpenCodeEval
下载链接
链接失效反馈
官方服务:
资源简介:
标准代码生成基准,包含函数完成任务和Python编程问题,并提供自动化测试用例。

A standard code generation benchmark that includes function completion tasks and Python programming problems, along with automated test cases.
创建时间:
2024-10-29
原始信息汇总

OpenCodeEval 数据集概述

概述

OpenCodeEval 是一个用于评估大型语言模型(LLMs)在代码生成任务上的综合框架。它提供标准化的基准测试、灵活的配置选项和强大的评估指标,以评估模型在不同编程挑战中的性能。

特点

  • 多基准数据集支持

    • HumanEval & HumanEvalPlus
    • MBPP & MBPPPlus
    • BigCodeBench & BigCodeBench-Hard
    • LeetCode
  • 灵活的模型支持

    • 基础模型
    • 聊天模型
  • 后端支持

    • vLLM 加速
    • OpenAI API 集成(即将推出)
  • 全面的评估工具

    • Pass@k 指标
    • 多样本评估
    • 并行处理

快速开始

  1. 克隆仓库: bash git clone https://github.com/richardodliu/OpenCodeEval.git cd OpenCodeEval

  2. 下载基准数据集: bash cd src/data bash dataset.sh

  3. 运行评估: python python src/main.py --model_name <your_model_name> --save_path <output_directory> --num_gpus <number_of_gpus> --batch_size <batch_size> --task <benchmark_name>

支持的基准测试

1. HumanEval

  • 标准代码生成基准
  • 函数完成任务
  • Python 编程问题
  • 自动化测试用例

2. MBPP (Mostly Basic Programming Problems)

  • 基本编程任务
  • 少样本学习支持
  • Python 实现
  • 测试驱动评估

3. BigCodeBench

  • 综合编码任务
  • 多难度级别
  • 各种编程挑战
  • 广泛的测试覆盖

4. LeetCode

  • 算法问题
  • 数据结构挑战
  • 多难度级别
  • 真实世界的编码场景

项目结构

OpenCodeEval/ ├── src/ │ ├── backend/ # 模型后端实现 │ ├── benchmark/ # 基准数据集实现 │ ├── data/ # 数据集文件 │ ├── eval/ # 评估工具 │ └── main.py # 主入口 ├── LICENSE # Apache 2.0 许可证 └── README.md

配置

框架支持多种配置选项:

  • 模型配置

    • 模型类型(基础/聊天)
    • GPU 数量
    • 批量大小
    • 温度
    • 最大令牌数
  • 提示配置

    • 提示类型(完成/指令)
    • 提示前缀/后缀
    • 停止词
  • 评估配置

    • 样本数量
    • 工作线程数量
    • 超时设置

许可证

该项目基于 Apache License 2.0 许可证。

搜集汇总
数据集介绍
main_image_url
构建方式
HumanEval数据集的构建基于一系列精心设计的编程问题,旨在评估大型语言模型(LLMs)在代码生成任务中的表现。该数据集涵盖了多种编程挑战,包括函数完成任务和Python编程问题,并配备了自动化测试用例,以确保评估的准确性和全面性。通过标准化的问题设置和严格的测试流程,HumanEval为模型性能的客观评估提供了坚实的基础。
特点
HumanEval数据集的主要特点在于其多样性和标准化。它不仅包含了多种编程任务,还支持不同难度级别的挑战,从而能够全面评估模型的代码生成能力。此外,该数据集的自动化测试用例确保了评估结果的可靠性和一致性,使其成为评估代码生成模型性能的理想选择。
使用方法
使用HumanEval数据集进行模型评估时,用户首先需要克隆OpenCodeEval框架的代码库,并下载相应的基准数据集。随后,通过配置模型参数和评估选项,用户可以运行评估脚本,生成模型在不同编程任务上的表现报告。关键参数包括模型路径、任务名称、输出目录、GPU数量等,用户可以根据具体需求进行调整。
背景与挑战
背景概述
HumanEval数据集是OpenCodeEval框架中的一部分,专门用于评估大型语言模型(LLMs)在代码生成任务中的表现。该数据集由richardodliu于2024年创建,旨在提供一个标准化的基准,以评估模型在函数完成和Python编程问题上的性能。HumanEval包含自动化的测试用例,确保评估的准确性和一致性。该数据集的引入对代码生成领域具有重要意义,为研究人员和开发者提供了一个统一的评估平台,促进了模型性能的比较和改进。
当前挑战
HumanEval数据集在构建和应用过程中面临多项挑战。首先,确保测试用例的全面性和准确性是一个关键问题,因为任何遗漏或错误的测试都可能导致评估结果的偏差。其次,数据集需要支持多种模型和配置,这要求框架具有高度的灵活性和可扩展性。此外,随着编程语言和任务的复杂性增加,如何设计更具代表性和挑战性的编程问题也是一个持续的挑战。最后,数据集的维护和更新也是一个重要问题,以确保其始终反映当前的技术水平和需求。
常用场景
经典使用场景
在人工智能领域,HumanEval数据集被广泛用于评估大型语言模型(LLMs)在代码生成任务中的表现。该数据集通过提供一系列标准化的编程问题,包括函数完成任务和Python编程问题,帮助研究人员和开发者量化模型在代码生成方面的能力。通过自动化测试用例,HumanEval能够精确地评估模型生成的代码是否符合预期,从而为模型优化提供可靠的依据。
实际应用
在实际应用中,HumanEval数据集被广泛用于开发和优化代码生成工具。例如,在软件开发过程中,开发者可以利用HumanEval来训练和评估代码生成模型,以提高代码生成的准确性和效率。此外,HumanEval还被用于自动化测试和代码审查工具的开发,帮助企业提高软件质量和开发效率。
衍生相关工作
基于HumanEval数据集,许多研究工作得以展开,推动了代码生成领域的发展。例如,一些研究通过HumanEval评估不同模型的性能,提出了改进模型架构和训练方法的新思路。此外,HumanEval还激发了其他相关数据集的开发,如HumanEvalPlus和MBPPPlus,这些数据集进一步丰富了代码生成任务的评估标准,促进了该领域的多元化发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作