BigOBench
收藏github2025-03-20 更新2025-03-21 收录
下载链接:
https://github.com/facebookresearch/BigOBench
下载链接
链接失效反馈官方服务:
资源简介:
BigOBench是一个包含约300个代码问题的基准测试,用于评估大型语言模型(LLMs)是否能够理解代码的时间-空间复杂度或生成符合时间-空间复杂度要求的代码解决方案。
BigOBench is a benchmark comprising approximately 300 coding problems, designed to evaluate whether large language models (LLMs) can understand the time and space complexity of code, or generate code solutions that meet specified time and space complexity requirements.
创建时间:
2025-03-08
原始信息汇总
BigO(Bench) 数据集概述
数据集简介
BigO(Bench) 是一个包含约300个Python代码问题的基准测试,旨在评估大型语言模型(LLMs)是否能够理解代码的时间-空间复杂度,并生成符合特定复杂度要求的代码解决方案。该基准测试填补了当前评估中常忽略模型在计算复杂度约束下理解和生成代码能力的空白。
数据集内容
- 代码问题:包含3,105个编程问题和1,190,250个解决方案,这些解决方案来自Code Contests,并附有从复杂度框架推断出的时间-空间复杂度标签。
- 复杂度标签:包括时间复杂度和空间复杂度的标签,以及运行时和内存占用的测量值。
- 测试集:包含311个问题和640个解决方案,涵盖11种不同的时间复杂度类别;以及308个问题和636个解决方案,涵盖5种不同的空间复杂度类别。
数据集文件
problem_and_human_solutions_list.jsonl:包含3,105个编程问题和1,190,250个解决方案的列表。complexity_labels_light.jsonl:包含所有1,190,250个代码解决方案的时间-空间复杂度和曲线系数。complexity_labels_full.jsonl:包含所有1,190,250个代码解决方案的时间-空间复杂度、曲线系数、运行时和内存占用测量值。time_complexity_test_set.jsonl:包含311个问题和640个解决方案,涵盖11种不同的时间复杂度类别。space_complexity_test_set.jsonl:包含308个问题和636个解决方案,涵盖5种不同的空间复杂度类别。
数据集用途
BigO(Bench) 用于评估LLMs在以下任务中的表现:
- 复杂度预测:评估模型预测代码片段的时间或空间复杂度的能力。
- 复杂度生成:评估模型生成符合特定时间或空间复杂度要求的正确代码解决方案的能力。
- 复杂度排名:评估模型生成符合特定复杂度要求并尽可能优化的代码解决方案的能力,并与同一问题和复杂度类别的人类解决方案进行比较和排名。
数据集获取
数据集可通过HuggingFace Datasets获取,使用以下命令下载: bash huggingface-cli download facebook/BigOBench --repo-type dataset --local-dir ./temp_dir mv ./temp_dir/data/* . rm -r ./temp_dir
数据集评分
BigO(Bench) 提供了以下任务的评分指标:
- 复杂度预测:包括时间复杂度和空间复杂度的预测评分。
- 复杂度生成:包括时间复杂度和空间复杂度的生成评分。
- 复杂度排名:包括时间复杂度和空间复杂度的排名评分。
数据集引用
如需引用该数据集,请参考以下信息:
- ArXiv: arXiv:2503.15242
- HuggingFace: facebook/BigOBench
搜集汇总
数据集介绍

构建方式
BigOBench数据集的构建基于对约300个Python代码问题的深入分析,旨在评估大语言模型(LLMs)在生成代码时是否能够控制时间和空间复杂度。该数据集通过动态复杂度推理框架,对Python代码片段进行多轮运行时和内存占用的测量,并推断其算法的时间和空间复杂度。此外,数据集还包含了来自Code Contests的3,105个编程问题和1,190,250个解决方案,这些解决方案均标注了推断的时间和空间复杂度标签,并为大量输入规模提供了相应的运行时和内存占用值。
使用方法
使用BigOBench数据集时,用户可以通过HuggingFace Datasets平台直接下载数据文件,或使用命令行工具进行数据获取。数据集提供了多个JSONL文件,分别包含编程问题、解决方案及其复杂度标签。用户可以通过数据集提供的复杂度推理框架,对代码片段进行复杂度分析,并生成相应的复杂度标签。此外,数据集还支持对大语言模型的复杂度预测、生成和排名任务进行评估,用户可以根据需要选择不同的评估指标,如时间复杂度和空间复杂度的预测准确率、生成代码的正确性等。
背景与挑战
背景概述
BigOBench是由Facebook Research团队开发的一个基准测试数据集,旨在评估大型语言模型(LLMs)在生成代码时是否能够控制时间和空间复杂度。该数据集包含约300个Python编程问题,涵盖了3,105个编程问题和1,190,250个来自编程竞赛的解决方案,并附带了由动态复杂度框架推断的时间和空间复杂度标签。BigOBench的创建填补了当前评估中忽略模型在理解和生成受计算复杂度约束的代码方面的能力的空白。该数据集不仅为研究社区提供了一个新的评估工具,还推动了代码生成和理解领域的研究进展。
当前挑战
BigOBench面临的主要挑战包括两个方面。首先,该数据集旨在解决代码生成和理解中的时间和空间复杂度控制问题,这是一个复杂的任务,要求模型不仅能够生成正确的代码,还要确保代码在运行时满足特定的复杂度要求。其次,在构建数据集的过程中,研究人员需要开发一个动态复杂度推断框架,该框架能够运行任何Python代码片段,并测量其运行时间和内存占用,进而推断其算法复杂度。这一过程涉及大量的数据处理和算法优化,确保数据集的准确性和可靠性。此外,如何在大规模数据集上高效地进行复杂度推断和评估,也是构建过程中需要克服的技术难题。
常用场景
经典使用场景
BigOBench数据集主要用于评估大型语言模型(LLMs)在生成代码时是否能够控制时间和空间复杂度。通过提供约300个Python代码问题及其解决方案,该数据集能够测试模型在理解和生成符合特定复杂度要求的代码方面的能力。这一场景在算法设计和优化领域尤为重要,尤其是在需要高效计算资源的应用中。
解决学术问题
BigOBench填补了当前评估模型在生成代码时忽略计算复杂度能力的空白。通过其复杂度推断框架,该数据集能够测量代码片段的运行时和内存占用,并推断其算法的时间和空间复杂度。这一能力为研究者在算法复杂度分析和模型性能评估方面提供了强有力的工具,推动了代码生成模型在效率和性能上的进步。
实际应用
在实际应用中,BigOBench数据集可用于优化代码生成工具,特别是在需要高效算法的领域,如金融分析、数据科学和人工智能。通过确保生成的代码符合特定的时间和空间复杂度要求,开发者能够构建更加高效和可扩展的系统,从而在资源受限的环境中实现更好的性能。
数据集最近研究
最新研究方向
近年来,随着大语言模型(LLMs)在代码生成领域的广泛应用,如何评估这些模型在生成代码时对时间和空间复杂度的控制能力成为了研究热点。BigOBench数据集应运而生,专注于评估LLMs在生成代码时是否能够满足特定的时间和空间复杂度要求。该数据集包含约300个Python代码问题,旨在通过动态复杂度推断框架,测量代码片段的运行时间和内存占用,并推断其算法复杂度。BigOBench不仅填补了现有评估方法的空白,还为研究LLMs在代码生成中的复杂度控制能力提供了重要工具。通过该数据集,研究者可以深入探讨LLMs在复杂代码生成任务中的表现,进一步推动代码生成技术的优化与创新。
以上内容由遇见数据集搜集并总结生成



