先声明我们的立场:我们是 Geonode,卖代理,而这正是你自己采集网页数据会用到的基础设施。诚实的立场是:几乎没人应该这么做。 下面这些公开语料代表了大量过滤、去重和法律审慎,它们是免费的,要复现哪怕其中一小部分工作,也是一项研究计划而不是一个项目。真正需要采集的地方——没人发表过的窄领域,或语料截止日期之后的新数据——是一项小而定向的工作,而不是网络级爬取。那一节在文末,而且故意写得很短。
底层:Common Crawl
几乎每个开放网络语料都源自同一处。
Common Crawl 是一个免费的网络档案,包含数十亿页面,以周期性爬取快照的形式发布在 us-east-1 的 AWS S3 上,也可通过 HTTP 在 data.commoncrawl.org 获取。匿名访问可用 AWS CLI 的 --no-sign-request,或用普通工具如 wget 和 curl。
它发布三种格式,知道自己要哪一种能省下可观带宽:
WARC — "the raw data from the crawl, providing a direct mapping to the crawl process",包括 HTTP 响应、请求和元数据。完整且非常大。
WAT — "Web Archive Transformation" 文件,以 JSON 存放计算后的元数据,包括 HTTP 头和页面链接。适合做链接图。
WET — "WARC Encapsulated Text" 文件,只有抽取后的纯文本。适合语言建模,而且比 WARC 小得多。
要理解的关键是:Common Crawl 是原料,不是数据集。 它包含样板、导航、垃圾、重复、机器翻译,以及开放网络上的其余一切产物。下面衍生语料的价值几乎全在过滤,而过滤才是研究之所在。
FineWeb
Hugging Face 的网络语料,也是当前开放网络数据规模上的参照点。
FineWeb 源自 Common Crawl,包含 259 亿行,覆盖从 CC-MAIN-2013-20 到 CC-MAIN-2025-26 的爬取——大约 2013 年中到 2025 年中。以 ODC-BY(Open Data Commons Attribution)发布。
每条记录带有质量信号,包括语言分数和 token 数,这比听起来更重要:你可以据此为自己的目的继续过滤,而不必重做流水线。只要高置信英语且超过长度阈值,那是一条过滤表达式,而不是一项预处理工程。
FineWeb 值得作为起点,是因为过滤决策被文档化并做了消融,而不是空口断言。当语料告诉你哪些过滤选择改善了下游基准、改善了多少,你就可以有意识地不同意它们。
Dolma
Allen AI 的语料,也是对其构成最透明的一份。
Dolma 被描述为 "a dataset of 3 trillion tokens from a diverse mix of web content, academic publications, code, books, and encyclopedic materials",包含 25.32 亿份文档。1.7 版含 1.715 万亿 token,用于训练 OLMo 7B-v1.7。
来源逐一具名:Common Crawl 网页、StarCoder 与 The Stack 的代码、S2ORC 与 arXiv 的学术论文、Reddit、Project Gutenberg 书籍,以及 Wikipedia。
以 ODC-BY 发布,并有一句说得很明白的重要附带条件:用户 "are also bound by the original licenses of constituent sources"。这句话值得读两遍。汇编的宽松许可并不覆盖其中内容的许可,这对每个衍生语料都成立,无论它是否说得同样清楚。
另有两点让 Dolma 除内容之外也值得关注。Allen AI 把策展工具包开源发布,因此数据集可复现,而不只是可下载——你可以改一项过滤决策再重建。还有移除机制:一份表格,用于通知维护者包含特定用户个人信息的文档。
这种组合——具名来源、开放工具、移除路径——才是负责任的数据集发布该有的样子,也是对他人提出的合理标准。
The Stack v2
代码语料,也是主要数据集中对许可最审慎的一份。
BigCode Project 的 The Stack v2 是 "a collection of source code in over 600 programming languages",包含 32.8 亿个唯一文件,未压缩合计 67.53 TB,覆盖 658 种语言。训练变体按版本过滤为 17 种或 600 多种语言。
来源不寻常,值得记下:数据来自 Software Heritage 档案,被描述为 "the largest public archive of software source code",并结合截至 2023 年 9 月的 GitHub Archive 元数据。
有两套机制把它区分开来。
许可过滤。 数据集 "contains only permissively licensed code"。创建者 "propagate the detected licenses to all files" 到仓库内所有文件,并维护一份基于 Blue Oak Council 批准的可接受 SPDX 标识符策展列表。这比按仓库声明的许可字段过滤严谨得多。
开发者退出。 有 "Am I In The Stack?" 工具可查是否被收录,有文档化的移除流程,数据集还会 "regularly updated to enact validated data removal requests"。
无论你怎么看用公开代码训练,这是目前最站得住脚的实现,退出机制是真的,而不是姿态。
许可证与来源
决定你到底能不能用其中任何东西的部分,层数比单一许可字段所暗示的更多。
汇编许可不是内容许可。 FineWeb 或 Dolma 上的 ODC-BY 管的是集合。底层文档自带版权,Dolma 说得很明确。宽松的数据集许可意味着汇编者没有进一步限制你;并不意味着内容本来就是他们的、可以再许可。
署名是要求,不是礼貌。 ODC-BY 是署名许可。如果你使用这些数据集,就要署名。
退出正在成为标准,也值得遵守。 The Stack 的移除流程和 Dolma 的个人信息表格之所以存在,是因为以这种规模发布会带来义务。使用数据集意味着继承你下载的那个版本——所以定期重新拉取,才是移除在你这份副本里真正生效的方式。
个人数据有自己的制度。 网络级语料包含个人信息,在有数据保护法的法域里,这会让你作为处理者承担义务,与任何数据集许可无关。「它在公开数据集里」不是合法依据。
法律环境尚未定型。 用受版权保护的材料训练是否被允许、在什么条件下被允许,正在多个法域被积极诉讼。在欧盟,文本与数据挖掘框架设想了机器可读的权利保留,表达这些保留的机制仍在落地。任何人在这之上做产品,都应该盯着它,而不是假定今天的立场就是终局。
使用前如何评估数据集
语料不是黑箱,在投入存储和算力之前花半小时检查,比任何 model card 摘要更能说明问题。
抽样并阅读。 随机拉几百份文档,真正读一遍。这听起来不严肃,却是你能做的信息量最大的一件事。几分钟内你就会知道样板清除是否有效、有多少机器翻译文本、领域构成是否与描述相符。
对照需求检查语言分布。 被描述为多语的语料可能 90% 是英语加一条长尾,若你要英语这没问题,若你要葡萄牙语就没用。凡提供语言分数这类质量信号的——FineWeb 有——就用它们,别信标题。
自己测量重复。 即使去重过的语料仍含近重复,比率因来源而异。对样本做哈希并计碰撞;比率高,说明你在反复训练同一内容,有效数据集比 token 数所暗示的更小。
核对截止日期。 每个语料都有一个,它决定结果模型不可能知道什么。FineWeb 的爬取到 2025 年中;更新的内容都不在。对变化很快的领域,仅凭这一点就可能出局。
对照评估集查污染。 如果你的基准问答出现在训练语料里,评估测的是记忆。这很常见,用子串搜索在样本上很容易查,而且会以一种发表后才发现会很难堪的方式让结果失效。
下载前核对存储和带宽成本。 The Stack v2 未压缩 67.53 TB。数 TB 的下载在传输、存储和时间上都有真实成本,直接从对象存储流式读取子集,往往比把整份拉下来才发现只要十分之一更好。
你真的需要训练数据集吗?
在做上面任何事之前值得先问的问题。
从零预训练一个模型,需要——而这是研究级工程。数十万 GPU 小时的算力、一支做过这件事的团队,以及现有开权模型不够用的理由。极少组织处于这种位置,处于这种位置的那些已经知道。
做 fine-tuning,你需要完全不同的东西:一份不大、高质量、任务特定的数据集。几千条样例,而不是万亿 token,工作在策展而不在规模。上面这些语料没有一份是正确输入。
做检索,你需要的是自己的文档被索引,根本不是训练语料。大量「我们需要训练数据」的询问最后会落到这种情况,答案是对你已有内容建向量索引。
做评估,你需要一份手工构建、体量小、能代表真实任务的留出集。
本节要防止的失败模式,是为一个只需两百条策展样例的问题去下载数 TB 语料。这种事会发生,浪费的力气相当可观。
老实讲如何自建
如果你已经确认需要没人发表过的领域数据,下面是实际涉及什么——以及我们的产品落在哪里。
采集是容易的部分,也是最小的部分。 抓页面是已解决的问题。尽可能走获准的路径:API、批量导出、合作方源、现有档案。爬取是最后手段,不是第一步,而且带有义务——robots.txt、服务条款、版权、数据库权,以及涉及个人数据时的数据保护法。
清洗是大部分工作。 样板清除、语言识别、质量过滤、规模化近重复检测、个人信息检测与移除。已发表语料在这里代表了巨大投入,写自己的之前值得研究 Dolma 的开放工具包——复用一条有文档的流水线,远好过拙劣地重造一条。
去重尤其值得重视。 近重复会损害训练并夸大表观数据量。在规模上做对比需要 MinHash 或类似技术,这是最容易被跳过、也最可能真正要紧的一步。
文档不是可选项。 记录数据集为何存在、包含什么、如何以及何时采集、缺什么、不该用于什么。这是资产与负债的差别,事后几乎无法重建。
代理用在哪里: 从许多来源做规模采集,或内容因地区而异。数据中心带宽是合理默认——我们的从 $0.14/GB 起——住宅从 $0.79/GB 起,仅在确实需要时使用,来自我们的定价页,核对于 2026 年 9 月。
以及用不到的地方: 如果你需要的数据已在已发表语料里,买带宽去重造它简直是浪费。先查。上面这些语料覆盖了极大范围,其中嵌入的过滤工作比原始文本更值钱。
常见问题
训练 LLM 用哪些数据集?
大多数开放模型在源自 Common Crawl 的网络语料上训练——FineWeb 和 Dolma 是当前参照点——再混入 The Stack 的代码、学术论文、书籍和百科内容。Dolma 逐一具名来源,这不寻常且有用。
Common Crawl 可以免费使用吗?
数据可在 AWS S3 和 HTTP 上自由获取,支持匿名访问。它发布 WARC、WAT 和 WET 格式,使用条款适用。注意:免费访问网络档案并不能解决其中页面的版权状态。
主要 LLM 数据集用什么许可?
FineWeb 和 Dolma 是 ODC-BY,即 Open Data Commons Attribution。Dolma 明确指出用户还受构成来源原始许可约束——汇编许可并不覆盖底层文档的版权。
能从训练数据集里移除我的数据吗?
有时可以。The Stack v2 提供 "Am I In The Stack?" 工具和文档化的移除流程,并会更新以落实已验证的移除请求。Dolma 提供表格用于报告含个人信息的文档。机制因数据集而异,并非普遍。
LLM 训练数据集有多大?
Dolma 是 3 万亿 token、25.32 亿份文档。FineWeb 含 259 亿行,覆盖 2013 到 2025 的 Common Crawl。The Stack v2 有 32.8 亿个文件,未压缩合计 67.53 TB,覆盖 658 种编程语言。
做模型 fine-tuning 需要训练数据集吗?
不需要——你需要的是一份小、高质量、任务特定的数据集,通常是几千条样例而不是万亿 token。大型预训练语料完全是错误输入,fine-tuning 的工作在策展而不在规模。
该自建训练数据集吗?
只针对没人发表过的领域数据。公开语料体现了难以复现的巨大过滤与去重投入,多数被标成「训练数据」的需求最后是检索或 fine-tuning 问题,所需少得多。先查现有语料。
建数据集最难的部分是什么?
清洗和去重,不是采集。样板清除、语言识别、质量过滤、规模化近重复检测和个人信息处理几乎占全部投入。写自己的流水线之前,值得研究 Allen AI 开放的 Dolma 工具包。
总结
公开 LLM 数据集是了不起的资源:万亿 token、有文档的过滤、宽松的汇编许可,较好的情况下还有开放工具和真正可用的退出机制。网络文本用 FineWeb,有文档的混合用 Dolma,代码用 The Stack v2,底层都建在 Common Crawl 或 Software Heritage 上。
关于使用,有两点值得带走。汇编许可不是内容许可——Dolma 直接这么说,对所有语料都成立——所以宽松的数据集许可是法律分析的起点,而不是终点。退出机制只有在你重新拉取时才起作用,因为下载的副本冻结在你取走的那一刻。
更有用的结论关乎范围。多数被描述为需要训练数据的需求,最后是检索问题,用索引你已有的文档来回答;或是 fine-tuning 问题,用几千条精心挑选的样例来回答。两者都远小于、也远好处理于本页上的任何东西。
如果你确实需要采集没人发表过的数据,采集是容易的部分。过滤、去重和文档才是工作——这正是已发表语料比它们所含原始文本值钱得多的原因。
