five

RACE|代码生成数据集|代码质量评估数据集

收藏
arXiv2024-07-16 更新2024-07-18 收录
代码生成
代码质量评估
下载链接:
https://github.com/jszheng21/RACE
下载链接
链接失效反馈
资源简介:
RACE数据集由中国信息处理实验室等机构创建,旨在全面评估大型语言模型生成的代码质量。该数据集包含923条数据,涵盖代码的多个维度评估,如可读性、可维护性、正确性和效率。创建过程中,研究者设计了多种用户需求类型,以确保模型生成的代码不仅正确,还能满足特定需求。RACE数据集主要应用于软件开发领域,帮助评估和改进模型在实际应用中的代码生成能力。
提供机构:
中国信息处理实验室
创建时间:
2024-07-16
原始信息汇总

RACEcode

关于

RACE是一个多维度的代码生成基准,专注于R可读性、A可维护性、C正确性和E效率。其目标是评估大型语言模型(LLM)生成正确且符合真实世界开发场景要求的代码的能力。该基准通过不同的需求依赖维度设计,使其更适用于实际场景。为了便于RACE的评估,我们提供了易于使用的评估脚本,并在虚拟化环境中进行评估以确保代码执行的安全性。

快速开始

环境准备

bash pip install -e .

对于vllm,请运行以下命令:

bash pip install -e .[vllm_gen]

代码生成

Readability为例,使用以下命令从模型生成代码样本,这些样本以JSON Lines(jsonl)格式保存。root指的是输出文件的目录,backend支持openaivllm。要使用openai后端,请确保配置了环境变量${API_BASE}${API_KEY}

bash scripts/gen_readability.sh ${model} ${root} ${backend}

更多维度的命令:

bash

对于Correctness

scripts/gen_correctness.sh ${model} ${root} ${backend}

对于Maintainability

scripts/gen_maintainability.sh ${model} ${root} ${backend}

对于Efficiency

scripts/gen_efficiency.sh ${model} ${root} ${backend}

代码后处理

使用以下命令读取代码样本文件,从模型生成响应中提取有效代码,并将其保存到带有parsed后缀的文件中。

bash python scripts/parse_generated_file.py --generated_file_path ${generated_file_path} --model ${model}

代码评估

生成的代码评估分为两部分:1) 评估生成代码的正确性;2) 评估各种非执行基础的指标。

首先,构建docker镜像作为评估代码执行的环境:

bash docker build --rm -f "./Dockerfile" -t race:latest "."

然后,以代码可读性为例,基于测试用例测试LLM生成代码的正确性。在此上下文中,生成代码在correctness维度的评估分布在代码readabilitymaintainabilityefficiency维度上。

bash scripts/eval_c_readability.sh ${model} ${root}

更多维度的命令:

bash

对于Readability

scripts/eval_c_maintainability.sh ${model} ${root}

对于Efficiency

scripts/eval_c_efficiency.sh ${model} ${root}

进一步详细说明如何在一个单一因素下评估LLM生成代码的正确性:

bash

对于Readability

docker run -v $(pwd):/data race:latest race.codeeval.evaluate_pipeline_evalplus --dataset [humaneval|mbpp] --samples "/data/outputs/${parsed_generated_file}"

对于Maintainability (MI Metric)

docker run -v $(pwd):/data race:latest race.codeeval.evaluate_pipeline_classeval test_pipeline --model_name ${model} --generated_data_path "/data/outputs/${generated_file}" --root "/data/outputs"

对于Maintainability (Modularity)

docker run -v $(pwd):/data race:latest race.codeeval.evaluate_pipeline_leetcode_style test_pipeline_simple --model_name ${model} --evaluation_test_case_path "/data/data/leetcode/evaluation_tests.jsonl" --generated_data_path "/data/outputs/${parsed_generated_file}" --result_path "/data/outputs/${results_file}" --temp_path "/data/outputs"

对于Efficiency

docker run -v $(pwd):/data race:latest race.codeeval.evaluate_pipeline_leetcode_style test_pipeline_complexity --model_name ${model} --evaluation_test_case_path "/data/data/leetcode_efficiency/complexity_evaluation_test_cases.jsonl" --evaluation_efficiency_data_path "/data/data/leetcode_efficiency/complexity_evaluation_data.jsonl" --generated_data_path "/data/outputs/${parsed_generated_file}" --result_path "/data/outputs/${results_file}" --temp_path "/data/outputs"

最后,基于特定指标获取评估结果。以Readability为例:

bash python scripts/get_metric_readability.py --model ${model} --output_path_root ${root}

更多维度的命令:

bash

对于Correctness

python scripts/get_metric_correctness.py --model ${model} --output_path_root ${root}

对于Maintainability

python scripts/get_metric_maintainability.py --model ${model} --output_path_root ${root}

对于Efficiency

python scripts/get_metric_efficiency.py --model ${model} --output_path_root ${root}

AI搜集汇总
数据集介绍
main_image_url
构建方式
RACE数据集的构建基于大规模的英语阅读理解任务,涵盖了从初中到高中的多个年级段。数据来源于中国中学生的英语考试,经过精心筛选和标注,确保了文本的多样性和难度层次。构建过程中,研究团队采用了自动化的文本处理技术,结合人工校验,以确保每个问题的准确性和合理性。
特点
RACE数据集以其广泛的教育背景和多样的文本类型著称,包含了多种题型,如选择题、填空题等,能够全面评估学生的阅读理解能力。此外,数据集中的文本涉及多个领域,如科学、历史和社会等,增强了数据集的实用性和教育价值。
使用方法
RACE数据集适用于开发和评估自然语言处理模型,特别是那些专注于阅读理解任务的模型。研究者可以通过该数据集训练模型,以提高其在复杂文本理解和问题回答方面的性能。同时,教育工作者也可以利用该数据集进行教学评估和学生能力分析,从而制定更有效的教学策略。
背景与挑战
背景概述
RACE数据集,全称为ReAding Comprehension dataset from Examinations,由清华大学于2017年发布,旨在解决大规模阅读理解任务中的挑战。该数据集源自中国中学生的英语考试,涵盖了多种题型和难度级别,包括选择题、填空题等。RACE的发布标志着阅读理解领域的一个重要里程碑,因为它不仅提供了丰富的训练和测试数据,还推动了自然语言处理技术在教育评估中的应用。通过引入这一数据集,研究者们能够开发出更高效、更准确的阅读理解模型,从而在教育领域产生深远影响。
当前挑战
RACE数据集的构建过程中面临了多项挑战。首先,数据集的多样性要求模型能够处理不同类型的阅读理解问题,这增加了模型的复杂性和训练难度。其次,由于数据来源于真实考试,文本和问题的质量控制成为一大难题,确保数据的准确性和一致性至关重要。此外,RACE数据集的规模庞大,如何高效地处理和分析这些数据,同时保持模型的轻量化和高效性,也是研究者们需要克服的挑战。最后,随着教育评估标准的不断变化,数据集的更新和维护也是一个持续性的问题,确保其能够适应未来的教育需求。
发展历史
创建时间与更新
RACE数据集由清华大学于2017年创建,旨在推动阅读理解领域的研究。该数据集自创建以来,经历了多次更新,以适应不断发展的技术需求和研究方向。
重要里程碑
RACE数据集的创建标志着阅读理解领域的一个重要里程碑。其首次引入了大规模的多项选择题阅读理解任务,挑战了现有模型的能力。2018年,RACE数据集被广泛应用于多项国际竞赛中,显著提升了模型的性能和研究者的关注度。随后,2019年,RACE数据集的更新版本进一步扩展了数据规模和多样性,为研究者提供了更丰富的资源。
当前发展情况
当前,RACE数据集已成为阅读理解领域的重要基准之一,广泛应用于学术研究和工业应用中。其不仅推动了自然语言处理技术的发展,还促进了跨学科的合作与创新。随着深度学习技术的进步,RACE数据集的应用范围不断扩大,为智能教育、智能问答系统等领域提供了坚实的基础。未来,RACE数据集有望继续引领阅读理解领域的研究方向,推动技术的进一步突破。
发展历程
  • RACE数据集首次发表,由清华大学和微软亚洲研究院共同发布,旨在评估机器阅读理解能力。
    2017年
  • RACE数据集首次应用于多项机器阅读理解竞赛,成为评估模型性能的重要基准。
    2018年
  • RACE数据集被广泛应用于学术研究和工业界,推动了阅读理解技术的发展。
    2019年
  • RACE数据集的扩展版本发布,增加了更多的阅读材料和问题,进一步提升了数据集的挑战性。
    2020年
常用场景
经典使用场景
在教育领域,RACE数据集被广泛用于评估和提升机器阅读理解的能力。该数据集包含了大量来自中国中学生英语考试的阅读理解题目,涵盖了多种题型和难度级别。通过分析和处理这些数据,研究人员能够开发出更为精准和高效的阅读理解模型,从而推动自然语言处理技术在教育评估中的应用。
解决学术问题
RACE数据集解决了机器阅读理解领域中多选题型和复杂推理的挑战。传统的阅读理解数据集多集中于简单问答或填空题型,而RACE数据集的引入,使得研究者能够探索更为复杂的文本理解和推理任务。这不仅提升了模型的推理能力,还为教育评估提供了更为全面和准确的工具,具有重要的学术意义。
衍生相关工作
基于RACE数据集,研究者们开发了多种先进的阅读理解模型,如BERT、RoBERTa等,这些模型在多项阅读理解任务中取得了显著的性能提升。此外,RACE数据集还激发了关于多语言阅读理解的研究,推动了跨语言教育评估工具的发展。这些衍生工作不仅丰富了自然语言处理的研究内容,也为教育技术的进步提供了坚实的基础。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

新能源光伏功率预测数据

采集数值天气预报数据、实时环境气象数据、光伏电站实时输出功率数据等信息,通过气象预测模型与功率预测算法,实现对光伏电站未来一段时间内气象数据及功率数据的预测。

安徽省数据知识产权登记平台 收录

中国交通事故深度调查(CIDAS)数据集

交通事故深度调查数据通过采用科学系统方法现场调查中国道路上实际发生交通事故相关的道路环境、道路交通行为、车辆损坏、人员损伤信息,以探究碰撞事故中车损和人伤机理。目前已积累深度调查事故10000余例,单个案例信息包含人、车 、路和环境多维信息组成的3000多个字段。该数据集可作为深入分析中国道路交通事故工况特征,探索事故预防和损伤防护措施的关键数据源,为制定汽车安全法规和标准、完善汽车测评试验规程、

北方大数据交易中心 收录

YOLO Drone Detection Dataset

为了促进无人机检测模型的开发和评估,我们引入了一个新颖且全面的数据集,专门为训练和测试无人机检测算法而设计。该数据集来源于Kaggle上的公开数据集,包含在各种环境和摄像机视角下捕获的多样化的带注释图像。数据集包括无人机实例以及其他常见对象,以实现强大的检测和分类。

github 收录

Materials Project

材料项目是一组标有不同属性的化合物。数据集链接: MP 2018.6.1(69,239 个材料) MP 2019.4.1(133,420 个材料)

OpenDataLab 收录

猫狗图像数据集

该数据集包含猫和狗的图像,每类各12500张。训练集和测试集分别包含10000张和2500张图像,用于模型的训练和评估。

github 收录