遇见数据集

loubnabnl/bigcode-data-stats

收藏
Hugging Face2023-02-01 更新2024-03-04 收录
官方服务:

资源简介:

**Stats about bigcode dataset:** * Permissive licenses only : |Language |Raw (only exact dedup) | Near dedup | Near dedup + content filters| Near dedup + more near-dedup (1)|Near dedup + comments filter (1)| Near dedup + more near-dedup + comments(1)| |-------|--------|-------|--------|--------|--------|--------| |Python | 200 GB| [80 GB](https://huggingface.co/datasets/bigcode/the-stack-dedup-pjj/tree/v1.1.a1) | [75.61 GB](https://huggingface.co/datasets/bigcode/the-stack-pjjs-no-pii-filtered) | [61.97 GB](https://huggingface.co/datasets/bigcode/stack-dedup-alt-filter-no-pii) | [65 GB](https://huggingface.co/datasets/bigcode/the-stack-comments-filter) | (?) less than 60 | |Java | 266 GB |112 GB |110 GB | 88 GB | 92 GB |(?) less than 80 | |JavaScript | 496 GB | 166 GB |83 GB| 65 GB | 75 GB |(?) less than 60| |C | 255 GB | 75 GB |73 GB (2)| - | - |-| |C++ | 215 GB | 65 GB |61 GB (2)|- | - |-| * Non permissive data, the number are higher than the e.g 240GB of python I mentionned (it was on old dump) |Language |Raw (only exact dedup) | Near dedup | |-------|--------|-------| | Python (3)| 737 GB | - | |Java | 1.3 TB | - | |JavaScript | 5.8 TB | -| |C | 1.64 TB | - | |C++ | 644 GB | - | (1) all these runs have content filtering, notice that it removes a lot of data from JavaScript (you could try filtering with less strict thresholds, the [script](https://github.com/bigcode-project/bigcode-dataset/tree/main/preprocessing) is very easy to run) (2) I don't have the data but I found these numbers from an old run on the forst version of The Stack (it uses the same content filtering thresholds as for python, java and js) (3) this went through content filters

**BigCode 数据集(bigcode dataset)统计信息:** * 仅包含宽松许可协议的数据集: | 编程语言 | 原始数据(仅精确去重) | 近似去重 | 近似去重 + 内容过滤 | 近似去重 + 一级增强近似去重(1) | 近似去重 + 注释过滤(1) | 近似去重 + 增强近似去重 + 注释过滤(1) | | ------- | ------- | ------- | ------- | ------- | ------- | ------- | | Python | 200 GB | [80 GB](https://huggingface.co/datasets/bigcode/the-stack-dedup-pjj/tree/v1.1.a1) | [75.61 GB](https://huggingface.co/datasets/bigcode/the-stack-pjjs-no-pii-filtered) | [61.97 GB](https://huggingface.co/datasets/bigcode/stack-dedup-alt-filter-no-pii) | [65 GB](https://huggingface.co/datasets/bigcode/the-stack-comments-filter) | (?) 小于60 GB | | Java | 266 GB | 112 GB | 110 GB | 88 GB | 92 GB | (?) 小于80 GB | | JavaScript | 496 GB | 166 GB | 83 GB | 65 GB | 75 GB | (?) 小于60 GB | | C | 255 GB | 75 GB | 73 GB (2) | - | - | - | | C++ | 215 GB | 65 GB | 61 GB (2) | - | - | - | * 非宽松许可协议数据集,其数据规模高于此前提及的240 GB Python数据集(该数据来自旧数据集快照): | 编程语言 | 原始数据(仅精确去重) | 近似去重 | | ------- | ------- | ------- | | Python (3) | 737 GB | - | | Java | 1.3 TB | - | | JavaScript | 5.8 TB | - | | C | 1.64 TB | - | | C++ | 644 GB | - | (1) 上述所有带(1)标记的处理流程均已应用内容过滤,请注意该过滤会大幅缩减JavaScript数据集的规模;若尝试使用更宽松的阈值进行过滤,可参考[预处理脚本](https://github.com/bigcode-project/bigcode-dataset/tree/main/preprocessing),其部署流程极为简便。 (2) 此处数据未直接提供,而是来自The Stack首个版本的旧运行结果,其内容过滤阈值与Python、Java及JavaScript数据集保持一致。 (3) 该数据集已完成内容过滤。

提供机构:
loubnabnl
原始信息汇总

数据集概述

许可类型数据

Python

  • 原始数据(仅精确去重): 200 GB
  • 近似去重: 80 GB
  • 近似去重 + 内容过滤: 75.61 GB
  • 近似去重 + 更多近似去重(1): 61.97 GB
  • 近似去重 + 评论过滤(1): 65 GB
  • 近似去重 + 更多近似去重 + 评论(1): 小于60 GB

Java

  • 原始数据(仅精确去重): 266 GB
  • 近似去重: 112 GB
  • 近似去重 + 内容过滤: 110 GB
  • 近似去重 + 更多近似去重(1): 88 GB
  • 近似去重 + 评论过滤(1): 92 GB
  • 近似去重 + 更多近似去重 + 评论(1): 小于80 GB

JavaScript

  • 原始数据(仅精确去重): 496 GB
  • 近似去重: 166 GB
  • 近似去重 + 内容过滤: 83 GB
  • 近似去重 + 更多近似去重(1): 65 GB
  • 近似去重 + 评论过滤(1): 75 GB
  • 近似去重 + 更多近似去重 + 评论(1): 小于60 GB

C

  • 原始数据(仅精确去重): 255 GB
  • 近似去重: 75 GB
  • 近似去重 + 内容过滤: 73 GB (2)

C++

  • 原始数据(仅精确去重): 215 GB
  • 近似去重: 65 GB
  • 近似去重 + 内容过滤: 61 GB (2)

非许可类型数据

Python

  • 原始数据(仅精确去重): 737 GB

Java

  • 原始数据(仅精确去重): 1.3 TB

JavaScript

  • 原始数据(仅精确去重): 5.8 TB

C

  • 原始数据(仅精确去重): 1.64 TB

C++

  • 原始数据(仅精确去重): 644 GB
搜集汇总
数据集介绍
loubnabnl/bigcode-data-stats 数据集图片
构建方式
在代码智能与大规模语言模型研究领域,高质量、合规的数据集是模型训练与评估的基石。loubnabnl/bigcode-data-stats 数据集旨在提供关于 BigCode 项目数据集的详尽统计信息,其构建方式基于对海量代码数据的系统性处理。该数据集首先从原始语料中筛选仅包含宽松许可证的代码,随后依次执行精确去重、近似去重、内容过滤、注释过滤以及进一步的近似去重等多阶段清洗流程,从而生成不同处理层级的数据规模统计。每个处理步骤均针对 Python、Java、JavaScript、C 和 C++ 等主流编程语言分别统计,清晰展示了各阶段对数据量的缩减效果。
特点
该数据集的核心特点在于其多维度的统计视角与精细化的处理层级划分。它不仅区分了宽松许可证与非宽松许可证数据,还详细记录了从原始数据到经过近似去重、内容过滤、注释过滤等不同组合处理后各语言的数据量变化。例如,JavaScript 在宽松许可下原始数据量为 496 GB,经过近似去重与内容过滤后降至 83 GB,凸显了过滤操作对高冗余语言的显著影响。此外,数据集提供了多个版本的去重与过滤结果链接,便于研究者直接访问具体处理后的数据子集,体现了高度的实用性与可复现性。
使用方法
研究者可通过 Hugging Face Datasets 库直接加载该数据集,获取各语言在不同处理阶段的统计表格。使用过程中,建议结合数据集提供的脚本仓库(如 bigcode-dataset 预处理脚本)自行调整过滤阈值,以适配特定研究需求。例如,对于 JavaScript 这类高冗余语言,可尝试降低内容过滤的严格程度以保留更多数据。此外,该统计数据集可作为评估数据预处理策略的基准,支持对比不同去重与过滤组合对数据质量与规模的影响,从而指导后续模型训练数据的选择与优化。
背景与挑战
背景概述
大规模代码数据集是推动编程语言模型发展的核心基石,其质量与规模直接决定了模型在代码生成、理解及修复等任务上的性能上限。由BigCode项目团队(主要研究人员来自HuggingFace与ServiceNow等机构)构建的loubnabnl/bigcode-data-stats数据集,旨在系统性地统计并分析The Stack数据集在不同去重与过滤策略下的规模变化。该数据集创建于2023年,核心研究问题聚焦于如何通过精确去重、内容过滤及注释过滤等手段,在保障数据合规性(仅包含宽松许可证代码)的前提下,优化代码数据的可用性与多样性。其对相关领域的影响力体现在:为后续大型代码模型的训练数据筛选提供了量化基准,揭示了不同语言(如Python、Java、JavaScript)的数据分布差异,并推动了数据预处理流程的标准化。
当前挑战
当前数据集面临的核心挑战包括:其一,代码去重与过滤的权衡问题——严格的近似去重和内容过滤虽能大幅削减数据量(如JavaScript从496GB降至65GB),但过度过滤可能损失有价值的长尾模式,影响模型泛化能力;其二,多语言数据分布不均衡的挑战,原始数据中JavaScript规模(5.8TB)远超C++(644GB),这种偏差可能导致模型在低资源语言上表现欠佳;其三,构建过程中许可证合规性检测的复杂性,确保所有数据仅含宽松许可证需依赖自动化工具与人工审核的结合,存在误判风险;其四,数据版本迭代的挑战,不同过滤策略(如注释过滤)的组合产生多种子集,如何选择最优配置以平衡数据质量与模型性能仍是待解难题。
常用场景
经典使用场景
在代码智能与软件工程研究领域,大规模高质量代码数据集是训练代码大语言模型的基石。loubnabnl/bigcode-data-stats 数据集统计信息表,详细记录了BigCode项目对The Stack数据集进行去重与过滤后的规模变化,展示了不同语言(如Python、Java、JavaScript等)在原始精确去重、近似去重、内容过滤及注释过滤等多个处理阶段的语料库容量。该统计信息最经典的用途是指导研究者选择合适的数据预处理策略,例如基于近似去重与内容过滤后的精简版本,用以训练出性能更优且更安全的代码生成模型。
实际应用
在实际应用中,该统计信息为代码大模型的训练数据构建提供了可复现的工程方案。开发者可依据表中不同语言在不同过滤阶段的容量变化,灵活调整数据预处理流程,例如在JavaScript语料中采用更严格的内容过滤以缩减规模,或为Python保留更多数据以维持多样性。这些策略直接服务于商业级代码助手(如GitHub Copilot)的训练优化,帮助企业在有限算力下权衡数据质量与规模,提升模型在真实编程场景中的准确性与鲁棒性。
衍生相关工作
基于该统计信息,衍生出多项经典工作。BigCode项目后续发布的The Stack v2数据集及StarCoder系列模型,均依赖此处的去重与过滤策略进行语料筛选。此外,研究社区借鉴其近似去重方法论,开发了诸如AlphaCode、CodeGen等模型的训练数据流水线。内容过滤与注释过滤的对比分析,还启发了关于代码注释质量与模型代码理解能力关联性的深入探索,催生了如CodeBERT-CommentFilter等改进方案,进一步丰富了代码智能领域的学术成果。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务