five

TempestTeam/dataset-the-stack-v2-dedup-sub

收藏
Hugging Face2025-04-01 更新2025-04-12 收录
下载链接:
https://hf-mirror.com/datasets/TempestTeam/dataset-the-stack-v2-dedup-sub
下载链接
链接失效反馈
官方服务:
资源简介:
这是一个包含Python、Java、JavaScript、C和C++五种编程语言代码文件内容的数据集,它是一个经过语言筛选且自包含的子集,基于bigcode/the-stack-v2-dedup数据集。数据集包含了文件的完整内容以及丰富的元数据信息,适用于代码模型的预训练、微调、评估和研究。

This is a dataset containing the full file contents of code written in Python, Java, JavaScript, C, and C++, which is a language-filtered and self-contained subset based on the bigcode/the-stack-v2-dedup dataset. The dataset includes the complete content of files along with rich metadata information, suitable for pre-training, fine-tuning, evaluation, and research on code models.
提供机构:
TempestTeam
搜集汇总
数据集介绍
main_image_url
构建方式
在代码智能领域,大规模、高质量且可立即使用的语料库是驱动代码大语言模型发展的基石。该数据集源自BigCode项目下的the-stack-v2-dedup,通过精细的语言过滤策略,从涵盖600余种编程语言的庞大原始语料中,精准筛选出Python、Java、JavaScript、C与C++五种主流语言的文件。与仅提供元数据及软件遗产档案ID的原版不同,本数据集创新性地将每个文件的完整文本内容(content字段)直接嵌入其中,免去了研究者通过SWH下载或AWS凭证获取内容的繁琐步骤,实现了开箱即用的便捷性。
特点
该数据集的显著特点在于其高度的实用性与完整性。每个样本不仅包含纯净的源代码文本,还保留了丰富的元数据脉络,如文件路径、仓库名称、SPDX许可证标识、是否为依赖文件或自动生成文件等。这些信息使得研究者能够根据许可证类型(如permissive)进行合规筛选,或依据is_vendor与is_generated标签剔除噪声数据,从而构建高质量的训练子集。此外,数据集按语言划分为五个独立配置(config),各自拥有数十亿字节的规模,既保障了语言的多样性,又兼顾了特定语言任务的专注性。
使用方法
使用该数据集进行模型训练或代码分析极为简便。依托Hugging Face的datasets库,用户只需通过load_dataset函数指定配置名称(如“Python”)与分割(train),并启用streaming模式,即可高效迭代海量样本而无需将全部数据下载至本地。每个样本以字典形式返回,通过访问content键即可获取文件内容,用于预训练或微调代码大模型;利用language、repo_name等字段可进行按语言或仓库的细粒度评估。这种即插即用的设计显著降低了代码语料处理的门槛,加速了从研究到应用的转化。
背景与挑战
背景概述
在大型语言模型(LLM)蓬勃发展的时代,代码智能已成为推动软件工程自动化的核心引擎。由BigCode项目团队于2024年主导创建的TempestTeam/dataset-the-stack-v2-dedup-sub数据集,正是这一浪潮中的关键基石。该数据集从庞大的The Stack v2中精选出Python、Java、JavaScript、C和C++五种主流编程语言,并直接嵌入文件内容,免去了原始数据集需通过Software Heritage接口或AWS凭证获取代码的繁琐流程。其核心研究问题在于为代码LLM的预训练与微调提供高质量、许可合规且可直接使用的语料,从而加速代码生成、补全与表征学习等任务的突破。该数据集的推出,显著降低了研究门槛,对代码智能领域产生了深远影响,成为众多后续模型与基准测试的重要数据源。
当前挑战
该数据集所面临的挑战是多维度的。首先,在领域问题层面,它致力于解决代码LLM训练中数据质量与许可合规性的核心矛盾——如何在去除冗余、过滤低质量代码的同时,确保仅包含宽松许可或无许可文件,以规避法律风险。其次,构建过程中遭遇了技术性挑战:原始The Stack v2横跨600余种语言且仅含元数据,需通过语言检测(go-enry/linguist)精准筛选五个目标语种,并完成去重与内容解码的流水线处理,确保数据一致性。此外,尽管已尽力通过去重减少敏感信息(如邮箱、密钥),但公共仓库中残留的个人数据仍是不可忽视的隐私隐患,需依赖社区反馈与BigCode的退出机制持续净化。
常用场景
经典使用场景
在代码智能研究领域,该数据集最经典的应用场景是作为代码大语言模型的预训练与微调语料库。凭借其涵盖Python、Java、JavaScript、C和C++五种主流编程语言的丰富代码片段,以及包含完整文件内容的独特优势,研究者能够直接用于训练具备代码理解与生成能力的深度神经网络模型。该数据集剔除了原始版本中仅含元数据的局限,使得模型无需额外依赖软件遗产归档或云存储服务即可高效学习代码的语法结构、语义逻辑与编程范式,从而在代码补全、程序合成和自然语言到代码的转换等任务中展现出卓越性能。
解决学术问题
该数据集有效解决了代码智能研究中长期存在的训练数据碎片化与可获取性不足的学术难题。通过整合来自GitHub海量开源仓库的许可合规代码,并经过精细的去重与语言过滤,它为研究者提供了大规模、高质量且可直接使用的多语言代码语料。这一资源使得学术社区能够系统性地探索代码表示学习中的跨语言迁移能力、代码生成模型的泛化边界,以及许可证合规性对模型训练的影响。其意义在于推动了代码大模型从理论验证向可复现、可比较的标准化评估迈进,为后续研究奠定了坚实的数据基础。
衍生相关工作
该数据集衍生了一系列具有影响力的经典研究工作。其中最著名的当属StarCoder 2系列模型,该模型直接基于此数据集的完整内容进行预训练,在多项代码理解与生成基准测试中达到领先水平。此外,研究者利用该数据集开展了代码检索增强生成、跨语言代码克隆检测以及基于代码的指令微调等前沿探索。这些工作不仅验证了数据集在支撑大规模代码模型训练中的有效性,还进一步催生了诸如代码嵌入向量库和语言特定评估基准等下游资源,形成了以该数据集为核心的代码智能研究生态。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务