CohereLabs/lbpp
收藏Hugging Face2026-06-09 更新2026-06-14 收录
下载链接:
https://hf-mirror.com/datasets/CohereLabs/lbpp
下载链接
链接失效反馈官方服务:
资源简介:
Less Basic Python Programming 是一个包含162个编程问题及其单元测试的数据集。它旨在提供新鲜(创建时未泄露)且比类似数据集(如HumanEval和MBPP)更难的题目,可作为这些数据集的直接替代或补充,因为它们在结构上是等效的。
Less Basic Python Programming is a collection of 162 programming problems with accompanying unit tests. They were created with the aim of being fresh (not leaked at the time of creation) and more difficult than similar datasets (e.g., HumanEval and MBPP). It can serve as a drop-in replacement or enrichment of those datasets as they are structured in an equivalent way.
提供机构:
CohereLabs搜集汇总
数据集介绍

构建方式
LBPP(Less Basic Python Programming)数据集由162道编程题目及其配套单元测试构成,旨在创建一个既新颖又具挑战性的代码生成评测基准。其构建过程严格避免使用已公开的题目,所有题目均由标注员在指导下原创完成,允许参考现有编程资料但要求进行实质性修改以确保独特性。数据集从最初的纯Python版本扩展至多语言版本,涵盖了C++、Java、JavaScript、Rust和Go等语言,且大多数题目跨语言平行对应,少量因语言特性而独立存在。所有代码特征字段经过压缩编码以抵抗爬取,并采用Parquet格式存储,便于现代数据加载工具兼容。此外,数据集中包含一个哨兵条目用于检测潜在的数据泄露。
特点
该数据集的核心特点在于其“新鲜度”与“高难度”,相较于HumanEval和MBPP等经典基准,LBPP的题目设计更为复杂,能够更有效地评估模型在未见过的编程挑战上的泛化能力。多语言版本的推出使得LBPP能够支持跨语言代码生成评测,每个语言子集均独立维护,从而满足不同研究场景的需求。数据集提供了丰富的字段,包括任务标识符、编程语言、问题提示、参考解决方案、函数签名、测试用例列表及格式化测试文件等,其中测试用例数量从3到11个不等,多样化的测试规模强化了评估的严谨性。此外,每个题目附有类别标签,便于按主题进行细粒度分析。
使用方法
用户可通过Hugging Face的`datasets`库便捷加载该数据集。由于仅包含测试集,加载时需指定相应的配置名称,例如`python`、`cpp`、`java`、`js`、`rust`、`go`或`all`,其中默认配置返回Python子集。对于代码字段的解码,需依次经过Base64解码、zlib解压、pickle反序列化及JSON解析以还原原始内容。评测时,建议将生成的代码与提供的`test_file`中的测试用例在隔离环境(如Docker容器)中运行,以避免执行任意代码带来的安全风险。该数据集可直接替代或补充HumanEval和MBPP等现有基准,无缝融入已有评测流程。
背景与挑战
背景概述
大数据时代背景下,代码生成模型的评估基准因数据泄露问题面临严峻挑战。2024年,由Matton等研究者与Cohere团队合作构建的LBPP(Less Basic Python Programming)数据集应运而生,旨在提供一组新鲜的、难度超越现有基准的编程问题集。该数据集最初包含162道Python题目,后于2025年扩展至多语言版本,涵盖C++、Java、JavaScript、Rust、Go等语言,成为评估代码生成模型泛化能力的重要工具。其核心研究问题聚焦于如何避免评估数据被模型预训练语料库所泄露,从而确保测评结果的真实性与有效性。LBPP在代码生成领域迅速获得认可,其设计理念和多语言扩展策略为后续研究树立了新的标杆。
当前挑战
LBPP数据集所应对的核心挑战源于代码生成评估中的数据泄露问题。一方面,现有基准如HumanEval和MBPP因其题目广泛存在于网络而被模型记忆,导致评估结果虚高,LBPP通过精心设计原创题目和引入金丝雀条目,有效规避了此风险。另一方面,构建多语言版本的过程亦面临巨大挑战,包括确保问题在不同编程语言间的语义等价性、协调语言特有特性的应用、以及生成高质量的单元测试套件。此外,为抵抗自动化爬取,数据集对代码特征进行了多层编码与压缩,增加了使用的复杂度,但也保护了评估的公正性。这些难题的解决,不仅提升了LBPP的鲁棒性,也为后续数据集构建提供了宝贵经验。
常用场景
经典使用场景
LBPP(Less Basic Python Programming)数据集专为评估代码生成模型而设计,尤其适用于那些希望超越传统基准测试的研究者。其最经典的用法是作为HumanEval和MBPP的替代或补充,用于衡量模型在解决具有一定难度的编程问题时的性能。数据集包含162道精心设计的问题,每个问题都附带了单元测试,研究者可以通过运行生成的代码来验证其正确性。LBPP特别强调题目的“新鲜性”,避免数据泄露,从而提供了更为严苛且公平的评测环境。此外,其多语言扩展版本(涵盖C++、Java、JavaScript、Rust和Go)使得跨语言代码生成能力的评估成为可能,为多语言编程模型的研发提供了关键支撑。
解决学术问题
在学术研究中,LBPP直击代码生成领域长期存在的评测基准数据泄露难题。以往广泛使用的HumanEval和MBPP因题目被大量公开,导致模型可能通过记忆而非真正的编程能力获得高分,从而掩盖了其泛化能力的不足。LBPP通过确保所有题目在创建时均未公开,有效规避了这一问题,为评估模型的真实编程能力提供了更为可靠的基准。同时,该数据集通过引入更复杂的问题,挑战了模型对算法逻辑、边界条件处理及多步推理的理解,推动了代码生成模型从简单的模式匹配向更深层次的推理能力迈进。其多语言版本更进一步,为探索跨语言知识迁移和语言无关的编程抽象提供了标准化的评测平台。
衍生相关工作
LBPP的发布催生了一系列重要的衍生研究。原始论文《On Leakage of Code Generation Evaluation Datasets》系统性地揭示了数据集泄露对评测结果的影响,直接推动了社区对数据隔离和评测透明度的重视。后续工作基于LBPP探索了多语言代码生成中的零样本迁移,例如利用Python训练模型并评估其C++或Rust任务的表现。另有研究将LBPP与HumanEval、MBPP等基准结合,构建更全面的排行榜,用于比较不同模型(如CodeLlama、StarCoder)的真实编码能力。此外,LBPP的“金丝雀”条目设计启发了反泄露机制,促使其他数据集引入类似方法确保评测公平性,成为代码智能领域数据构建的重要参考范式。
以上内容由遇见数据集搜集并总结生成



