SWEBench-verified-mini
收藏github2025-01-08 更新2025-01-15 收录
下载链接:
https://github.com/mariushobbhahn/SWEBench-verified-mini
下载链接
链接失效反馈官方服务:
资源简介:
SWEBench-verified-mini是SWEBench-verified的一个子集,使用了50个数据点而不是500个,需要5GB的存储空间而不是130GB(仅使用django和sphinx环境),并且在16个不同模型上的性能、测试通过率和难度分布与原始数据集大致相同。
SWEBench-verified-mini is a curated subset of SWEBench-verified. It contains only 50 data points (reduced from 500 in the full dataset), requires just 5 GB of storage space (compared to 130 GB for the original), and only utilizes the django and sphinx environments. Additionally, its performance across 16 distinct models, test pass rates, and difficulty distribution remain largely consistent with those of the original dataset.
创建时间:
2025-01-07
原始信息汇总
SWEBench-verified-mini 数据集概述
数据集简介
- 数据集名称: SWEBench-verified-mini
- 数据集来源: SWEBench-verified 的子集
- 数据集地址: https://huggingface.co/datasets/MariusHobbhahn/swe-bench-verified-tiny
- 数据集大小: 50 个数据点,存储需求为 5GB(原数据集为 500 个数据点,存储需求为 130GB)
- 数据集特点: 保留了与原始数据集相似的性能、测试通过率和难度分布,使用了 16 个模型进行比较
数据集对比
- Full: 包含 SWEBench-verified 的所有 500 个数据点
- K-mean representative: 通过 k-means 聚类选择的 50 个数据点(未进行大小优化)
- Random: 随机选择的 50 个数据点
- Size optimized: 通过线性规划选择的 50 个数据点,最小化存储大小,同时保持与完整数据集相似的分数分布
数据集创建方法
- 目标: 从 SWEBench-verified 的 500 个数据点中选择 50 个数据点,使得重要分数(性能、测试通过率、难度)的边际分布与完整数据集相似,同时最小化存储大小。
- 步骤:
- 对所有数据点进行 k-means 聚类
- 使用线性规划选择 50 个数据点,确保存储大小最小化,同时保持分数分布与完整数据集相似
数据集运行方法
- 运行代码: 可以运行
run_all.py或单独运行各个文件 - 数据准备:
get_docker_image_sizes.py和extract_data_from_logs.py是数据整理脚本add_metadata_to_data.py和generate_subsets.py用于生成子集compare_subsets.py用于比较生成的子集make_new_huggingface_dataset.py用于创建新的数据集
注意事项
- 安装问题: 在 Mac 上安装 SWEBench 可能会遇到困难,建议调整 Docker Desktop 设置以增加内存限制、交换空间和虚拟磁盘限制
- 平台选择: 在
test_spec.py文件中硬编码平台选择以简化安装过程
贡献者
- Jiminez et al.: 创建了原始数据集
- OpenAI evals contractor team: 创建了 SWEBench-verified
- Govind 和 Axel: 运行完整数据集以进行比较
- TinyBenchmarks by Polo et al.: 提供了构建小型基准测试的灵感
搜集汇总
数据集介绍

构建方式
SWEBench-verified-mini数据集的构建基于SWEBench-verified的500个数据点,通过线性规划方法从中精选出50个数据点。这一过程旨在最小化存储需求,同时保持与完整数据集在性能、测试通过率和难度等关键指标上的分布一致性。具体而言,首先对所有数据点进行k-means聚类,随后利用线性规划技术选择数据点,确保所选子集在存储效率与数据代表性之间达到最优平衡。
特点
SWEBench-verified-mini数据集的核心特点在于其高效性与代表性。该数据集仅包含50个数据点,存储需求从130GB大幅降低至5GB,显著减轻了存储与计算资源的负担。尽管如此,该子集在性能、测试通过率和难度分布上与完整数据集保持高度一致,确保了其在模型评估中的有效性与可靠性。此外,该数据集仅使用django和sphinx两种环境,进一步简化了使用流程。
使用方法
使用SWEBench-verified-mini数据集时,用户可通过修改Inspect实现中的数据集路径,将默认的完整数据集替换为该迷你版本。具体操作包括在swe_bench.py文件中将数据集路径从`princeton-nlp/SWE-bench_Verified`更改为`MariusHobbhahn/swe-bench-verified-mini`。此外,用户还可通过运行提供的Python脚本(如`run_all.py`或`generate_subsets.py`)进行数据集的生成与比较。需要注意的是,代码实现较为粗糙,用户需根据具体需求进行调整与优化。
背景与挑战
背景概述
SWEBench-verified-mini数据集是SWEBench-verified的一个子集,旨在为研究人员提供一个更小、更易于管理的版本,同时保持与原始数据集相似的性能、测试通过率和难度分布。该数据集由Marius Hobbhahn等人于2023年创建,主要基于Jiminez等人提出的原始数据集和OpenAI evals团队的工作。SWEBench-verified-mini通过线性规划和k-means聚类技术,从500个数据点中精选出50个最具代表性的样本,从而将存储需求从130GB大幅降低至5GB。这一数据集在软件工程领域,特别是自动化代码修复和测试生成方面,具有重要的研究价值。
当前挑战
SWEBench-verified-mini的构建面临多重挑战。首先,如何在减少数据量的同时,确保子集能够准确反映原始数据集的性能分布和难度特征,是一个核心问题。其次,数据集的构建过程中需要处理大量的Docker环境配置,这对存储和计算资源提出了较高要求。此外,由于原始数据集的复杂性,子集的生成过程涉及复杂的线性规划和聚类算法,这对算法的效率和准确性提出了挑战。最后,数据集的安装和运行环境配置也较为复杂,特别是在不同硬件架构(如arm64和x86_64)上的兼容性问题,增加了使用难度。
常用场景
经典使用场景
SWEBench-verified-mini数据集在软件工程领域中被广泛用于评估和比较不同模型在代码修复任务中的表现。该数据集通过精选50个数据点,保留了原始数据集的性能、测试通过率和难度分布,使得研究人员能够在较小的存储空间内进行高效的模型评估。这一特性使得SWEBench-verified-mini成为快速原型开发和模型验证的理想选择。
实际应用
在实际应用中,SWEBench-verified-mini数据集被广泛用于自动化代码修复系统的开发和测试。通过该数据集,开发者能够快速验证新算法或模型在实际代码修复任务中的有效性,从而加速软件开发和维护过程。此外,该数据集还被用于教育领域,帮助学生和初学者理解代码修复的复杂性和挑战。
衍生相关工作
SWEBench-verified-mini数据集的推出,激发了大量相关研究工作。例如,基于该数据集的模型评估框架被进一步优化,以提高评估效率和准确性。此外,该数据集还促进了自动化代码修复领域的新算法开发,如基于深度学习的代码修复模型。这些工作不仅丰富了软件工程领域的研究内容,也为实际应用提供了更多可能性。
以上内容由遇见数据集搜集并总结生成



