800GB 开源语料是怎么攒出来的?The Pile 的 22 个子集拆解

数据集速览卡

数据集名称The Pile
发布机构EleutherAI
发布时间2020 年 12 月 31 日(arXiv 2101.00027)
规模825 GiB(约 800GB),22 个子集
语言英语为主
许可证各子集分别授权,整体不统一
用途定位大语言模型预训练语料,开源模型 GPT-Neo/GPT-J 的训练数据

背景:为什么要自己攒一份语料

2020 年,大语言模型已经证明了「规模越大越强」的趋势,GPT-3 的 1750 亿参数更是把这条曲线拉到了一个当时难以企及的高度。但开源社区面临一个尴尬的现实:GPT-3 既不开源权重,也不公开它那套精心清洗的训练数据。想复现、想研究、想接着往下做的人,手里能用的公开语料基本只有 Common Crawl 这类「把整个互联网抓下来」的原始数据,以及从中衍生出的 C4、CC-100 等。

问题在于,Common Crawl 虽然量大,但噪声极重:大量导航菜单、广告、低质内容、重复页面混杂其中,直接拿去训练效果平平。The Pile 的出发点很朴素也很关键——既然单一来源的数据多样性不足,那就把来源彻底打开,从学术论文、专业书籍、代码仓库、法律文书、医学文献等各自高质量的地方分别取材,拼成一份「多样」的语料。论文开篇就点明了这个判断:训练数据的多样性越强,模型的跨领域知识和下游泛化能力越好。

于是 EleutherAI 这群开源研究者(核心作者 Leo Gao、Stella Biderman、Sid Black、Connor Leahy 等)动手了。他们没有能力像大公司那样砸重金清洗数据,但开源协作的力量在这里体现得淋漓尽致——22 个子集里有不少是社区成员各自贡献、各自维护的。The Pile 的意义不在于它比谁大,而在于它第一次把「开源复现大模型」这件事的数据基础给补上了:后来的 GPT-Neo 1.3B、2.7B,以及赫赫有名的 GPT-J 6B,全都是拿 The Pile 喂出来的。

数据构成与规模:22 个子集一览

The Pile 的总规模是 825 GiB(论文原文用的单位是 GiB,约合 886 GB 的十进制读法,但习惯上大家都说「800GB」)。这个规模在当时已经相当可观,足以支撑几十亿参数模型的预训练。它由 22 个来源各异的子集组成,既复用了既有数据集,也新建了一批。下面把这些子集按性质归成几类讲清楚。

第一类是学术与专业写作。这部分是 The Pile 里最有辨识度的部分,也是最「正经」的内容:

  • PubMed Central:来自美国国立卫生研究院的开放获取生物医学论文全文,是医学和生命科学领域的高质量文本。
  • ArXiv:物理学、数学、计算机科学等领域的预印本论文,LaTeX 源码转出来的纯文本。
  • PhilPapers:哲学领域的论文和摘要,一个小众但质量高的子集。
  • NIH ExPorter:美国 NIH 的科研项目资助信息。
  • USPTO Backgrounds:美国专利商标局的专利背景技术文本,法律和技术写作的混合体。
  • FreeLaw:法院判决书等法律文书。

第二类是书籍与长文。书籍的连贯性、长程叙事是网页碎片文本比不了的:

  • Books3:由 Shawn Presser 整理的书籍语料,后来因为版权争议被广泛讨论(这个在后面「争议」部分细说)。
  • BookCorpus2:BookCorpus 的扩充版,一本本小说和传记。
  • Gutenberg (PG-19):古登堡计划的公版书,19 世纪以前的文学作品。
  • OpenSubtitles:电影字幕,口语化对白的重要来源。

第三类是代码。代码对模型推理能力的提升作用在当时已经开始被注意到,The Pile 也专门纳入了代码来源:

  • GitHub:从 GitHub 公开仓库抓取的代码,包含 30 多种编程语言。
  • StackExchange:Stack Overflow 等问答社区的帖子,代码加解释的黄金组合。

第四类是网络与论坛文本。这一部分补足了「互联网真实语态」:

  • Pile-CC:从 Common Crawl 里用更严格的过滤筛出来的一部分网页文本,是 The Pile 对 Common Crawl 的「精选」。
  • Wikipedia (en):英文维基百科,几乎每份语料都少不了它。
  • Enron Emails:安然公司公开的邮件语料,一个有趣的商业邮件样本。
  • HackerNews:程序员社区 Hacker News 的帖子与评论。
  • EuroParl:欧洲议会的多语种会议记录。
  • Ubuntu IRC:Ubuntu 的 IRC 聊天记录。
  • YoutubeSubtitles:YouTube 视频字幕。
  • DM Mathematics:数学问答。
  • PubMed Abstracts:PubMed 的论文摘要。
  • DeepMind Mathematics:DeepMind 整理的数学题。
  • OpenWebText2:OpenAI WebText 的开源复刻版,从 Reddit 高赞链接回溯抓取的网页。

把这 22 个子集摊开看,The Pile 的设计意图就清楚了:它不是「越大越好」的堆料,而是「越杂越好」的配比。学术论文负责知识密度,书籍负责连贯叙事,代码负责逻辑推理,论坛负责口语和当下语态,法律和医学文献负责专业垂直领域。这种刻意为之的多样性,正是论文反复强调的核心卖点。

清洗与构建方法:多样性的代价是复杂的工程

把 22 个来源各不相同的数据拼成一份能用的语料,工程量远比听起来大。The Pile 的构建方法在论文里讲得比较实在,核心思路可以概括成三步。

第一步是各自清洗。每个子集的原始形态千差万别:ArXiv 是 LaTeX 源码,需要把公式环境、宏定义、引用符号这些「排版冗余」剥掉,只留正文;GitHub 是仓库快照,需要处理版权头、自动生成的文件、二进制文件;字幕文件则是时间轴加台词的混合体,要抽出纯文本。这些清洗逻辑每个子集都不一样,没法一个脚本通吃,只能分别写。这也是为什么 The Pile 会演化成一整个代码库和社区协作项目,而不是一锤子买卖。

第二步是去重。网页数据最头疼的就是重复:同一篇文章被无数网站转载,同一条微博被到处搬运。The Pile 使用了基于 MinHash 的近似去重(MinHashLSH)来处理大规模文本的近似重复问题。不过论文也坦诚地指出,去重做得并不完美,仍然存在一定程度的重复残留,尤其是 Books3 这种经过压缩的书籍文本,去重难度更高。

第三步是质量与安全审视。这是 The Pile 论文里一个很有诚意、也很有前瞻性的部分:作者对数据做了深入探索性分析,主动向潜在使用者披露了数据里可能存在的问题。比如,他们发现部分子集里包含针对少数群体的冒犯性、仇恨性内容,也包含一些个人信息。这种「把丑话说在前头」的坦诚,和后来很多数据集「报喜不报忧」的做法形成鲜明对比,也是 The Pile 在学术界口碑好的原因之一。

值得强调的是,The Pile 的构建代码是开源的,整个流程可以复现。这让它区别于那些「只给你结果、不给你过程」的商业数据。

子集规模明细:22 份数据的体量差异

22 个子集在 The Pile 里的占比差异极大,不是平均分配。了解这个配比,才能真正理解这份语料的「口味」。论文里给出了每个子集的大小,这里挑几个有代表性的说明体量悬殊:

  • 体量最大的几个子集是Pile-CC(从 Common Crawl 精选的网页)和 Books3OpenWebText2,这三块占了总规模的相当大比例,是「网页 + 书籍」的基本盘。
  • GitHub 代码子集也占了可观的一块,代码对推理能力的贡献让它成为不可或缺的部分。
  • PhilPapers(哲学)、Enron Emails(安然邮件)、DM Mathematics 这类小众子集,体量很小,是「调味料」级别的存在——它们的意义不在规模,而在提供通用语料里极度稀缺的特定语态和知识。

这种「少数大块 + 多数小块」的配比,是 The Pile 多样性设计的直接体现。如果所有子集都追求大而全,反而会稀释掉那些小众但高价值的专业内容。刻意保留小体量的专业子集,正是 The Pile 和「纯规模堆料」路线最本质的分野。

下载与使用

The Pile 的下载方式主要有两个渠道。官方推荐的是通过专门的数据下载工具,因为 825 GiB 的数据量用浏览器直接下不现实;另一个常用途径是 Hugging Face 上社区维护的镜像和子集拆分版本,比如 EleutherAI/the_pile_deduplicated 就是去重后的版本,很多下游训练都直接用这个。

下载工具方面,EleutherAI 提供了配套的下载脚本,支持断点续传和分片下载,适合在网络环境一般、需要反复拉取的情况下使用。对于只想研究某几个子集的用户,也提供了按子集选择性下载的方式,不必把 800GB 全量拉下来。

需要特别注意的是「去重版」和「原版」的区别。原版 The Pile 的 825 GiB 里有相当比例的重复内容,而去重版(the_pile_deduplicated)在体积上小了不少,同时训练效果通常不降反升——因为重复数据对模型没有额外信息量,反而浪费算力。所以实际训练时,社区主流选择基本都是去重版。

如果你只是想看看数据长什么样、或者做小规模实验,可以用 Hugging Face 的 datasets 库加载子集切片,不必把 800GB 全下下来。The Pile 也提供了按子集单独下载的方式,你只想要代码部分,就只拉 GitHub 和 StackExchange 那两块即可。

许可证与商用注意

The Pile 最麻烦的地方就在这里:它没有一个统一许可证。22 个子集来源不同、授权不同,有的(如古登堡公版书、维基百科)是开放授权的,有的(如 Books3)版权归属复杂且存在争议。这意味着「The Pile 能不能商用」这个问题没有统一答案,必须逐个子集去核对各自的许可条款。

具体来说,几个需要格外留意的点:

  • Books3:这个子集包含大量受版权保护的书籍,其合法性一直是被质疑的焦点。训练出的模型如果用于商业用途,这部分数据可能带来法律风险。
  • GitHub 代码:代码本身有各自的许可证(MIT、GPL、Apache 等),GPL 这种「传染性」许可证对训练用途的影响是灰色地带,至今没有明确判例。
  • 网络抓取内容(Pile-CC、OpenWebText2 等):这些来自公开网页,但网页内容本身的版权仍归原作者。

结论很直接:The Pile 适合研究用途,商用需要谨慎,尤其是涉及 Books3 这类子集时。这也是为什么后来的很多开源模型在商用说明里会单独标注数据来源风险。实际使用中,研究者往往会选择「剔除有争议子集」的方式——比如只用去重版、去掉 Books3——来降低法律风险,同时保留其余子集的多样性和质量。

横向对比同类数据集

The Pile 不是当时唯一的开源语料,把它和几个同期/后来的对手放一起看,能更清楚它的定位。

  • 对比 C4:C4 是谷歌从 Common Crawl 里清洗出来的,来源单一(全是网页),胜在规模大、流水线标准化;The Pile 来源多样,胜在知识密度和领域覆盖,但工程复杂度高、许可分散。两者代表了「单一来源深挖」和「多源拼盘」两条路线。
  • 对比 OpenWebText2:OpenWebText2 专注复刻 OpenAI 的 WebText(Reddit 高赞链接抓取),方向单一;The Pile 把它作为一个子集收入,同时扩展了学术、书籍、代码等维度。
  • 对比后来的 RefinedWeb、SlimPajama:2023 年 Falcon 的 RefinedWeb 和 Cerebras 的 SlimPajama 都在规模上远超 The Pile(万亿级 token),但它们的核心方法论(多级过滤 + 去重)和 The Pile 一脉相承。可以说 The Pile 是「开源高质量语料」这个品类的开山之作,后来者是在它的路子上把规模做大、把许可做干净。

局限与争议

The Pile 的局限主要有这么几条。

第一是版权问题,尤其是 Books3。这个子集后来成了 AI 版权诉讼的标志性案例之一,多个作家和版权方对使用 Books3 训练模型的公司提起诉讼。虽然 The Pile 只是提供了数据,训练和商用是下游的事,但「用了可能踩雷」的风险是真实存在的。

第二是许可不统一,前面已经讲过,商用时必须逐个核对。

第三是数据时效性。The Pile 抓取的是 2020 年及之前的数据,知识截止早。对于需要最新知识的场景,它已经过时,更多是作为「历史基线」和「开源语料里程碑」存在。

第四是去重不彻底含少量有害内容,论文自己都承认了。虽然做了 MinHash 去重和披露,但残留仍然存在。

The Pile 的下游影响:GPT-Neo 与 GPT-J

评估一份语料的最好方式,是看它训练出了什么模型。The Pile 在这方面交出的答卷相当漂亮。

EleutherAI 用 The Pile 训练了 GPT-Neo 系列(1.3B、2.7B),以及后来的 GPT-J 6B。GPT-J 6B 是 2021 年最强的开源模型之一,在很多下游任务上表现接近甚至匹敌同规模的闭源模型,长期霸占开源社区的主流选择。这些模型的成功,直接证明了「多样拼盘语料 + 有限算力」这条开源路线的可行性——不必有 OpenAI 那样的数据规模和算力,只要语料配比得当,小团队也能训出像样的模型。

The Pile 还催生了一个「基准」身份:论文里用 GPT-2、GPT-3 在 The Pile 的各个子集上做了零样本评测,发现这些模型在学术写作等子集上表现挣扎,而在 The Pile 上训练的模型则全面优于纯 Common Crawl 训练的模型。这个评测后来成了一个参照系,让「在特定子集上的困惑度」成为衡量语言模型跨领域能力的一种方式。

可以说,The Pile 是「开源复现 GPT」运动的一块关键基石。没有它,GPT-Neo、GPT-J 这些里程碑模型的诞生要困难得多,整个开源大模型的进程可能都会推迟。

总结与启示

The Pile 给整个开源大模型生态留下的最大遗产,不是 800GB 的数据本身,而是一个判断:数据的多样性,是可以被系统性地设计出来的。它用 22 个来源各异的子集,证明了「拼盘式」语料能在有限算力下训练出比单一来源更强的模型,直接催生了 GPT-Neo 和 GPT-J 这两个开源里程碑。这个「多样性优先」的理念,至今仍是高质量语料构建的核心原则之一。

同时它也留下了两个教训:一是版权和许可问题不能在事后才想,Books3 的争议至今仍在发酵;二是去重和质量控制是「越早做越好」的工程,等到数据堆积成山再回头清理,代价要大得多。这些教训,后来 FineWeb、Dolma 这些新一代语料都吸取了,也推动了整个领域对「数据治理」这件事的系统化思考。

站在今天回头看,The Pile 的历史定位已经非常清晰:它是开源大模型语料的「奠基者」。在它之前,开源社区没有一份「像样」的、可以支撑几十亿参数模型预训练的多样化语料;在它之后,语料构建逐渐成为一门有方法论、有工具链、有社区协作的「正经工程」。这份 800GB 的数据,早已完成了它的历史使命,但它开创的路径,至今仍在被无数后来者沿着走下去。

参考来源

800GB 开源语料是怎么攒出来的?The Pile 的 22 个子集拆解

主要菜单