five

SWEBench-verified-mini

收藏
github2025-01-08 更新2025-01-10 收录
下载链接:
https://github.com/mariushobbhahn/make_swe_bench_verified_mini
下载链接
链接失效反馈
官方服务:
资源简介:
SWEBench-verified-mini是SWEBench-verified的一个子集,包含50个数据点,仅需5GB存储空间(仅使用django和sphinx环境),并且在16个不同模型上的性能、测试通过率和难度分布与原始数据集大致相同。

SWEBench-verified-mini is a subset of SWEBench-verified, consisting of 50 data points with a storage footprint of only 5 GB when utilizing only the django and sphinx environments. Furthermore, its performance, test pass rate, and difficulty distribution across 16 distinct models are broadly consistent with those of the original dataset.
创建时间:
2025-01-07
原始信息汇总

数据集概述:make_swe_bench_verified_mini

数据集简介

数据集特点

  • 数据点数量: 50 个(原数据集为 500 个)
  • 存储需求: 5GB(原数据集为 130GB)
  • 性能分布: 与原始数据集在 16 个不同模型上的性能、测试通过率和难度分布相似

数据集比较

  • Full: 包含 SWEBench-verified 的所有 500 个数据点
  • K-mean representative: 通过 k-means 聚类选择的 50 个数据点(未进行大小优化)
  • Random: 随机选择的 50 个数据点
  • Size optimized: 通过线性规划选择的 50 个数据点,以最小化存储大小,同时保持与完整数据集相似的分数分布(性能、测试通过率、难度)

数据集创建方法

  1. 目标: 从 SWEBench-verified 的 500 个数据点中选择 50 个数据点,使得重要分数(性能、测试通过率、难度)的边际分布与完整数据集相似,同时最小化存储大小。
  2. 步骤:
    • 对所有数据点进行 k-means 聚类。
    • 使用线性规划选择 50 个数据点,确保 k-means 聚类比例与完整数据集相似,同时最小化存储大小。

代码运行说明

  • 主要脚本: run_all.py
  • 数据整理脚本: get_docker_image_sizes.pyextract_data_from_logs.py
  • 数据处理脚本: add_metadata_to_data.pygenerate_subsets.py
  • 子集比较脚本: compare_subsets.py
  • 数据集创建脚本: make_new_huggingface_dataset.py

运行注意事项

  • 安装问题: 在 Mac 上安装 SWEBench 可能会遇到困难,建议调整 Docker Desktop 设置以增加内存限制、交换空间和虚拟磁盘限制。
  • 环境选择: 在 /Users/<user>/miniconda3/envs/<env>/lib/python3.12/site-packages/swebench/harness/test_spec.py 中硬编码选择 x86_64 或 arm64 环境。

数据集背景

  • 原始数据集: SWEBench-verified
  • 贡献者:
    • Jiminez 等人创建了原始数据集。
    • OpenAI evals 承包商团队创建了 SWEBench-verified。
    • Govind 和 Axel 运行了完整数据集以比较模型性能。
    • TinyBenchmarks 提供了构建小型基准测试的灵感。

数据集用途

  • 用途: 作为 SWEBench-verified 的小型代理数据集,用于模型性能评估。
搜集汇总
数据集介绍
main_image_url
构建方式
SWEBench-verified-mini数据集的构建过程基于SWEBench-verified数据集,通过线性规划方法从500个数据点中精选出50个代表性样本。这一过程不仅确保了所选样本在性能、测试通过率和难度等关键指标上的分布与完整数据集高度一致,还通过最小化存储需求,仅需5GB空间,显著降低了资源消耗。此外,数据集构建过程中采用了k-means聚类技术,以确保样本的多样性和代表性。
特点
SWEBench-verified-mini数据集的主要特点在于其高效性和代表性。尽管仅包含50个数据点,但通过精心设计的样本选择策略,该数据集在性能、测试通过率和难度分布上与完整的SWEBench-verified数据集保持了高度一致性。此外,该数据集仅需5GB存储空间,相较于原数据集的130GB,极大地节省了存储资源,同时保持了数据的高质量和实用性。
使用方法
使用SWEBench-verified-mini数据集时,用户可以通过修改相关代码文件中的数据集路径,轻松切换到该数据集。具体而言,用户只需在`swe_bench.py`文件中将数据集路径从`princeton-nlp/SWE-bench_Verified`更改为`MariusHobbhahn/swe-bench-verified-mini`即可。此外,数据集的使用还涉及一系列数据处理脚本的运行,如`get_docker_image_sizes.py`和`extract_data_from_logs.py`等,这些脚本帮助用户从日志中提取数据并生成新的数据集。最终,用户可以通过运行`make_new_huggingface_dataset.py`脚本,将生成的数据集上传至Hugging Face平台。
背景与挑战
背景概述
SWEBench-verified-mini数据集是SWEBench-verified的一个子集,旨在为研究人员提供一个更小、更易于管理的版本,同时保持与原始数据集相似的性能、测试通过率和难度分布。该数据集由Marius Hobbhahn等人创建,基于Jiminez等人开发的原始SWEBench-verified数据集,并结合了OpenAI评估团队的工作。SWEBench-verified-mini通过使用50个数据点而非500个,将存储需求从130GB降至5GB,同时保留了16个不同模型上的性能分布。这一数据集的创建灵感来源于TinyBenchmarks的研究,旨在为大规模数据集提供一个高效的替代方案。
当前挑战
SWEBench-verified-mini的构建面临多重挑战。首先,如何在减少数据点数量的同时,确保性能、测试通过率和难度分布与原始数据集保持一致,是一个关键问题。为此,研究人员采用了k-means聚类和线性规划技术,以最小化存储需求并保持数据分布的相似性。其次,原始数据集的庞大存储需求(130GB或260GB)对计算资源提出了极高要求,尤其是在构建Docker环境时,安装和配置过程复杂且耗时。此外,跨平台兼容性问题(如arm64与x86_64架构的差异)进一步增加了数据集构建的复杂性。这些挑战不仅考验了数据集的构建方法,也对后续的研究和应用提出了更高的技术要求。
常用场景
经典使用场景
SWEBench-verified-mini数据集主要用于评估和比较不同模型在软件工程任务中的性能表现。通过使用50个精选的数据点,该数据集能够在保持与完整数据集相似的性能分布、测试通过率和难度分布的同时,显著减少存储需求。这使得研究人员能够在资源有限的环境下,快速验证模型的性能,尤其是在涉及Docker环境配置的复杂场景中。
衍生相关工作
SWEBench-verified-mini数据集的衍生工作主要集中在软件工程领域的模型优化和自动化测试工具的开发上。例如,基于该数据集的研究成果被用于改进代码生成模型和自动化测试框架。此外,该数据集还启发了其他领域的研究人员开发类似的小规模数据集,以应对大规模数据集的存储和计算挑战。这些工作进一步推动了软件工程和机器学习领域的交叉研究。
数据集最近研究
最新研究方向
在软件工程领域,SWEBench-verified-mini数据集的最新研究方向聚焦于如何通过优化数据子集的选择策略,以最小的存储需求保持与原始数据集相似的性能分布。该数据集通过线性规划与k-means聚类相结合的方法,从500个数据点中精选出50个最具代表性的样本,确保了测试通过率、性能表现和难度分布的近似性。这一研究不仅为大规模数据集的高效使用提供了新的思路,还为模型评估的标准化和可重复性奠定了基础。此外,该数据集的应用场景涵盖了从模型性能比较到资源受限环境下的高效评估,具有广泛的实践意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作