遇见数据集

UltraData-Code

收藏
Hugging Face2026-09-07 更新2026-09-08 收录
官方服务:

资源简介:

UltraData-Code 是 UltraData L0-L4 分层数据管理框架的完整实现,专注于代码预训练数据。该数据集涵盖了从原始仓库归档到面向任务合成的四个阶段:L0 阶段归档了约1.92亿个公开GitHub仓库的最新快照;L1 阶段通过大规模过滤、清洗和去重获得标准化自然代码;L2 阶段利用语言自适应选择框架从L1中筛选出约400B tokens的算法相关代码,覆盖11种编程语言(C++、C#、Go、Java、JavaScript、PHP、Python、R、Ruby、Rust、Shell);L3 阶段将L2中的每个算法实现转化为结构化的编程练习,生成约150B tokens的面向任务合成数据。L2数据包含字段:uuid、repo_name、relative_path、content、category(文件角色)、algo_rel_score(算法相关性分数)、quality_score(质量分数)。L3数据包含字段:uuid、content、content_format、raw_content、task、analysis、solution、test、full_content、full_content_format。该数据集适用于大规模语言模型的代码预训练、持续预训练以及代码生成任务。在1B模型10B token的持续预训练实验中,使用L2相比L1在EvalPlus上提升7.80分,在MultiPL-E上提升5.13分;将L2一半token替换为L3后进一步分别提升8.42分和8.07分。

UltraData-Code is a complete implementation of the UltraData L0-L4 hierarchical data management framework, focusing on code pre-training data. The dataset covers four stages from raw repository archiving to task-oriented synthesis: L0 archives the latest snapshots of approximately 192 million public GitHub repositories; L1 obtains standardized natural code through large-scale filtering, cleaning, and deduplication; L2 uses a language-adaptive selection framework to filter about 400B tokens of algorithm-related code from L1, covering 11 programming languages (C++, C#, Go, Java, JavaScript, PHP, Python, R, Ruby, Rust, Shell); L3 transforms each algorithm implementation in L2 into structured programming exercises, generating approximately 150B tokens of task-oriented synthetic data. L2 data fields include: uuid, repo_name, relative_path, content, category, algo_rel_score, quality_score. L3 data fields include: uuid, content, content_format, raw_content, task, analysis, solution, test, full_content, full_content_format. The dataset is suitable for code pre-training, continual pre-training, and code generation tasks of large language models. In a 1B model 10B token continual pre-training experiment, using L2 improved EvalPlus by 7.80 points and MultiPL-E by 5.13 points compared to L1; replacing half of L2 tokens with L3 further improved by 8.42 and 8.07 points respectively.

提供机构:
OpenBMB
创建时间:
2026-09-05
原始信息汇总

UltraData-Code 数据集

基本信息

  • 数据集名称: UltraData-Code
  • 发布机构: openbmb
  • 语言: 英语(en)、中文(zh)
  • 许可证: Apache 2.0
  • 数据集规模: 100M < n < 1B
  • 任务类型: 文本生成(text-generation)
  • 标签: llm、code、code-pretraining、algorithmic-code、synthetic-data

数据集简介

UltraData-Code是对UltraData L0-L4分级数据管理框架的完整实现,涵盖从L0到L3四个代码数据阶段。该数据集从约1.92亿个公共GitHub仓库出发,本次开源发布UltraData-Code-L2(约400B tokens)和UltraData-Code-L3(约150B tokens),覆盖11种编程语言

数据分级构建流程

层级 阶段名称 说明
L0 仓库归档 保留约1.92亿个公共GitHub仓库默认分支的最新版本,包含代码、目录结构、文件关系和来源元数据
L1 标准化自然代码 进行大规模过滤、清洗、格式规范化和近似去重,生成标准化的自然代码语料
L2 算法相关代码 跨11种编程语言从L1中筛选约400B tokens的算法相关代码
L3 面向任务的合成 将L2选中的算法实现转化为编程练习题,同时生成独立任务、分析、解决方案和候选测试,约含150B tokens

数据集配置

该数据集包含两个配置:

UltraData-Code-L2(默认配置):包含cpp、cs、go、java、js、php、py、r、rb、rust、sh共11种编程语言的数据分割。

UltraData-Code-L3:包含cpp、cs、go、java、js、php、py、r、rb、rust、sh共11种编程语言的数据分割。

数据格式

UltraData-Code-L2

每一行代表一个被选中的源文件,字段包括:

  • uuid: 唯一文件标识符
  • repo_name: 源仓库名称
  • relative_path: 相对于仓库的文件路径
  • content: 源代码文本
  • category: 预测的文件角色(如ALGO、WEB、TOOL、DATA、TEST、CONFIG)
  • algo_rel_score: 算法相关性评分,范围[0, 1]
  • quality_score: 代码质量评分,范围[0, 10]

UltraData-Code-L3

每一行代表一个基于真实实现生成的编程练习,字段包括:

  • uuid: 唯一文件标识符
  • content: 包含任务和解决方案的序列化内容
  • content_format: content的序列化格式
  • raw_content: 序列化前的原始生成记录
  • task: 生成的独立问题陈述
  • analysis: 算法、边界情况和复杂度讨论
  • solution: 生成的独立参考实现
  • test: 生成的测试候选
  • full_content: 包含所有生成字段的序列化内容
  • full_content_format: full_content的序列化格式

评估结果亮点

Python评测

  • 相比L1,L2在EvalPlus pass@1平均分上提升17.91分;相比Stack-Edu提升8.46分
  • L2与L3等量混合训练达到46.43的平均pass@1,比单独使用L2高出3.30分

多语言评测

  • L2在EvalPlus上超过L1达7.80分,在MultiPL-E上超过5.13分
  • L2与L3混合训练相比仅使用L2,在EvalPlus和MultiPL-E上分别提升8.42分8.07分
  • 在100B tokens训练预算下,L2-L3混合在EvalPlus上达57.06分,在MultiPL-E上达39.54分

使用与许可须知

  • 数据集基于Apache 2.0许可证发布
  • 用户须同时遵守每个原始源仓库的许可证条款
  • 未经原作者或本机构书面许可,禁止任何机构或第三方平台直接转发、镜像、重新托管或对项目内容进行商业性重新包装和发布
  • 数据集不应包含明文密钥或未经授权的个人数据;如发现敏感内容可联系页面渠道进行删除请求
搜集汇总
数据集介绍
UltraData-Code 数据集图片
构建方式
在大规模代码预训练语料持续扩张的背景下,UltraData-Code依循UltraData分层数据管理框架,构建了从L0至L3的连续数据状态。其构建始于约1.92亿个公开GitHub仓库的默认分支最新修订版本,完整保留代码、目录结构、文件关系与溯源元数据。L1阶段实施大规模过滤、清洗、格式规范化与基于MinHash和LSH的近重复去重,生成标准化自然代码。L2阶段面向11种编程语言,融合文件角色监督与语言特定启发式线索,并复用预计算语义嵌入,选取约4000亿token的算法相关代码。L3阶段则通过结构化合成协议,将L2选出的算法实现转化为包含任务、分析、解答与测试候选的编程练习,产出约1500亿token。
特点
该数据集的核心特质在于其贯通式分层架构与细粒度算法相关性筛选的有机结合。L2与L3覆盖C++、C#、Go、Java、JavaScript、PHP、Python、R、Ruby、Rust与Shell共11种编程语言,规模分别约为4000亿和1500亿token。L2每条样本附带文件角色类别、算法相关性评分与代码质量评分,为数据筛选提供可解释的多维信号。L3则以真实实现为锚点,联合生成独立任务陈述、算法分析、自包含参考解答与测试候选,在保留源代码计算意图的同时注入显式的任务与解答监督。评估表明,L2相较L1在EvalPlus与MultiPL-E上分别提升7.80与5.13分,而以L3替换半数L2训练token可在此基础上再获8.42与8.07分的增益。
使用方法
使用UltraData-Code时,可依据HuggingFace平台的数据加载接口按配置名与语言拆分进行访问,默认配置为UltraData-Code-L2。L2的每一行对应一个经筛选的源文件,包含uuid、仓库名、相对路径、源代码内容、预测文件角色、算法相关性评分及质量评分等字段,适用于代码语言模型的持续预训练与算法相关性研究。L3的每一行则是一项以真实实现为基础的编程练习,提供uuid、序列化内容、原始生成记录、任务、分析、解答、测试候选及完整序列化内容等字段,可用于任务导向的代码生成训练与评测。研究者可参照受控实验设置,在相同基础模型与训练预算下将L2或L2与L3的混合数据用于持续预训练,以复现其在EvalPlus与MultiPL-E上的性能增益。
背景与挑战
背景概述
随着代码生成能力成为大型语言模型的核心素养,代码语料库的规模、多样性与质量愈发深刻地塑造着预训练阶段所习得的能力边界。 UltraData-Code 由清华大学与面壁智能(OpenBMB)团队于 2026 年 9 月发布,是 UltraData L0-L4 分层数据管理框架的完整实现,涵盖 L0 原始仓库归档、L1 标准化自然代码、L2 算法相关代码与 L3 任务导向合成四个递进状态。该数据集从约 1.92 亿个公开 GitHub 仓库出发,开源了覆盖 11 种编程语言的约 400B token 的 L2 与约 150B token 的 L3,在 1B 模型 10B token 受控持续预训练下于 EvalPlus 与 MultiPL-E 上取得显著增益,为代码大模型的数据构建范式提供了可复现、可追溯的系统性参照。
当前挑战
该数据集所回应的领域问题在于:通用代码语料规模虽大,但算法密集度低、任务监督信号稀疏,直接用于预训练难以高效培育模型的算法推理与代码生成能力。其构建过程亦面临多重挑战:其一,从逾亿仓库中保留完整目录结构与溯源信息,同时兼顾多语言、多文件类型的过滤、归一化与近重复去重,对大规模流水线的可扩展性与一致性提出严苛要求;其二,算法相关性的判定需超越显式 ALGO 文件标记,融合文件角色监督与语言特定启发式线索,并复用语义嵌入以控制质量约束下的筛选偏差;其三,将真实实现转化为任务、分析、解答与测试齐备的结构化编程练习,须在保持源代码计算意图的同时生成自洽的任务与解法监督,合成数据与原始许可的合规边界亦构成持续挑战。
常用场景
经典使用场景
在大规模代码语言模型的预训练与持续预训练实践中,UltraData-Code 凭借其分层治理理念成为算法密集型代码语料构建的典范。该数据集最经典的用法在于以 L2 约四千亿 token 的算法相关代码与 L3 约一千五百亿 token 的任务导向合成数据,按比例混合后对十亿级参数模型实施十亿至千亿 token 规模的持续预训练。研究人员通常将其与 EvalPlus、MultiPL-E 等代码生成基准配套使用,在多语言环境下评估模型在函数级代码补全与程序合成任务中的 pass@1 表现,并据此比较不同层级数据对模型编码能力的增益差异。
解决学术问题
该数据集直面代码预训练语料中算法密度不足与监督信号稀疏这一核心学术难题。传统自然代码语料虽规模庞大,却混杂大量网页、配置与测试文件,导致算法推理能力的学习效率低下;同时,纯自然代码缺少任务描述与解法的显式监督,难以对齐程序合成的训练目标。UltraData-Code 通过语言自适应选择框架识别算法相关文件,并借助结构化合成协议将实现转化为题目、分析与测试,从而在保持计算意图的前提下注入显式任务与解法监督。其在受控实验中相较 L1 与 Stack-Edu 取得显著提升,为代码数据治理与预训练配方设计提供了可复现的实证依据。
衍生相关工作
UltraData-Code 的发布催生了围绕分层数据治理的多项衍生工作。其所属的 UltraData 平台提出了 L0 至 L4 的分层数据管理框架,为后续语料构建提供了方法论基础。基于该数据集训练的 MiniCPM5 系列模型,包括十亿与二十亿参数版本,在编码、数学与长上下文任务上展现出端侧模型的竞争力,验证了 L2 与 L3 数据配方的实际效用。此外,配套发布的 UltraData-Code-L2 分类器以及基于 Qwen3-Embedding 的语义嵌入方案,为代码文件角色识别与算法相关性评估提供了可复用的工具组件,推动了代码数据筛选技术的开源生态建设。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务