预训练数据
会员专享理解 Fineweb-Edu-Chinese 数据、采样 shard 和默认目录
语言模型预训练的目标很直接:给模型一段文本,让它学习预测下一个 token。数据质量、数据规模和数据组织方式,会直接影响训练效率和最终效果。
cookllm-bento 的预训练样例使用 OpenCSG Fineweb-Edu-Chinese-V2.1 数据。为了让教学实验能在单卡上快速跑起来,项目提供了已经采样并切分好的 Parquet shard。
这一页先回答三个问题:数据来自哪里,项目为什么先用 20% sampled shards,以及训练配置最终会从哪个目录读取数据。
数据来源
预训练数据来自 OpenCSG 的 Fineweb-Edu-Chinese-V2.1。对应的数据集页面是:opencsg/Fineweb-Edu-Chinese-V2.1。它是面向中文语料清洗和教育质量筛选的数据集,适合作为小模型预训练的起点。
V2.1 一个容易被忽略的点是:它不是一个扁平数据集,而是按教育质量评分分成了不同目录。
| 目录 | 数据规模 | 含义 |
|---|---|---|
4_5 | 约 70GB,约 46B tokens,17,790,513 行 | 高质量教育文本,写作更清晰、连贯 |
3_4 | 约 800GB,约 530B tokens,289,975,835 行 | 仍适合训练,但可能有轻微连贯性或相关性问题 |
2_3 | 约 1.4TB,约 930B tokens,649,842,063 行 | 可能有用,但噪声和局限更明显 |
cookllm-bento 的入门预训练没有直接使用完整的 TB 级 V2.1 数据,而是先使用 4_5 这个高质量子集。下载脚本中的原始数据选项实际匹配的是 4_5/*.parquet,后面的 tokenizer sampled data、pretrain sampled shards 和 full pretrain shards 也都是围绕这部分高质量数据组织的。
这里的“Fineweb-Edu-Chinese-V2.1”需要结合脚本理解:数据集整体很大,但 cookllm-bento 入门预训练默认围绕 4_5 高质量子集展开。这样做是为了在数据质量、下载成本和训练成本之间取一个更适合教学的平衡点。
登录以继续阅读
这是一篇付费内容,请登录您的账户以访问完整内容。
CookLLM文档