transformersbook/codeparrot
收藏Hugging Face2022-02-05 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/transformersbook/codeparrot
下载链接
链接失效反馈官方服务:
资源简介:
CodeParrot数据集是一个包含Python文件的数据集,用于训练代码生成模型。该数据集通过Google的BigQuery从GitHub获取,包含大约2200万个Python文件,总大小为180GB(压缩后为50GB)。数据集中大约70%的内容是重复的,建议使用去重后的版本codeparrot-clean。
The CodeParrot dataset is a dataset containing Python files designed for training code generation models. It is sourced from GitHub via Google BigQuery, comprising approximately 22 million Python files with a total size of 180 GB (50 GB after compression). Around 70% of the dataset consists of duplicate content, and it is recommended to use the deduplicated version codeparrot-clean.
提供机构:
transformersbook
原始信息汇总
CodeParrot 数据集概述
数据集描述
CodeParrot 数据集是一个包含约2200万Python文件的大型数据集,用于训练代码生成模型。该数据集源自Google的BigQuery上的GitHub数据集,总大小为180GB(压缩后为50GB)。
数据集创建
数据集通过以下SQL查询从GitHub数据集中提取Python文件创建:
sql
SELECT
f.repo_name, f.path, c.copies, c.size, c.content, l.license
FROM
bigquery-public-data.github_repos.files AS f
JOIN
bigquery-public-data.github_repos.contents AS c
ON
f.id = c.id
JOIN
bigquery-public-data.github_repos.licenses AS l
ON
f.repo_name = l.repo_name
WHERE
NOT c.binary
AND ((f.path LIKE %.py)
AND (c.size BETWEEN 1024 AND 1048575))
数据集特点
- 重复性:数据集中约70%的内容是重复的。使用时需注意处理重复文件。
- 清理版本:存在一个清理后的版本,名为
codeparrot-clean,可在此处找到。
搜集汇总
数据集介绍

构建方式
在代码生成研究领域,数据集的构建质量直接影响模型性能。CodeParrot数据集通过Google BigQuery平台,从GitHub公共数据仓库中系统采集Python源代码文件。构建过程采用多表联合查询技术,精准筛选扩展名为.py的非二进制文件,并依据文件大小范围(1KB至1MB)进行过滤,最终整合了约2200万个Python文件,原始数据规模达180GB。
特点
该数据集的核心特征体现在其规模与结构上。作为专为代码生成模型训练设计的语料库,它全面覆盖了GitHub平台上的开源Python项目,文件数量庞大且内容多样。值得注意的是,数据集内部存在约70%的重复内容,这一特性要求使用者在预处理阶段实施有效的去重策略。数据集同时包含仓库名称、文件路径、许可证信息等元数据,为代码分析与模型训练提供了丰富的上下文信息。
使用方法
针对代码生成与程序理解任务,该数据集主要服务于大规模语言模型的预训练与微调。使用者可直接通过HuggingFace数据集库加载,并建议在预处理环节采用如MinHash或精确哈希等方法进行去重操作,以提升数据质量。对于追求更纯净语料的用户,可转向其去重版本codeparrot-clean。该数据集能够有效支撑代码自动补全、代码翻译及程序合成等前沿研究方向。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,代码生成技术正逐步成为提升开发效率的关键研究方向。CodeParrot数据集由《基于Transformer的自然语言处理》一书作者团队于2022年创建,旨在为Transformer模型从零开始训练提供大规模、高质量的Python代码语料。该数据集通过Google BigQuery平台整合GitHub开源仓库,收录约2200万个Python文件,覆盖多样化的编程场景与开源协议,为代码自动补全、程序合成等任务奠定了数据基础,推动了预训练语言模型在编程语言理解方面的应用深化。
当前挑战
CodeParrot数据集面临的核心挑战体现在两个方面:在领域问题层面,代码生成需克服编程语法结构性、逻辑严谨性及上下文依赖性强等难题,模型必须精准理解代码语义与执行意图;在构建过程中,数据集存在约70%的重复内容,这源于开源仓库中常见的代码复用现象,导致数据冗余并可能引入训练偏差。此外,原始数据需经过规模筛选与格式清洗,以确保代码片段具备可执行性与规范性,这对数据预处理流程提出了较高要求。
常用场景
经典使用场景
在代码智能领域,CodeParrot数据集作为大规模Python代码语料库,其经典使用场景聚焦于训练代码生成模型。通过海量的开源Python文件,研究者能够构建具备理解与生成代码能力的预训练模型,这些模型在自动化代码补全、代码摘要生成等任务中展现出卓越性能,为编程辅助工具的开发奠定了数据基础。
解决学术问题
该数据集有效解决了代码生成与理解研究中数据稀缺与质量不均的学术难题。其丰富的代码实例支持模型学习编程语言的语法结构、语义逻辑及常见模式,促进了代码翻译、缺陷检测和程序合成等前沿课题的探索。这一资源显著降低了研究门槛,推动了代码智能领域的理论进展与技术革新。
衍生相关工作
围绕CodeParrot数据集,衍生出多项经典研究工作,例如去重版本CodeParrot-clean的构建,优化了数据质量;同时,该数据集被广泛用于训练如CodeParrot模型等代码生成Transformer,催生了代码补全、文档生成等下游任务的创新模型架构与训练策略,持续丰富代码智能生态体系。
以上内容由遇见数据集搜集并总结生成



