数据

数据爬取

预训练所需数据量级:10T 以上。开始预训练后要持续追加数据。这是一个持续很久的工作,一直持续到 scaling law 失效或者世界上所有的数据被用完。

准备新数据

专业的数据团队,爬网页、逛淘宝、联系数据贩子

拿到原始数据后,需要转成文本。常见的格式是 html 和 pdf。

pdf:需要用 pdf OCR 服务。不要用 python 库解析,对公式和表格的解析效果一塌糊涂。用 GPT4o 解析太贵,远高于 pdf 解析服务。也可以自己训一个 OCR 模型,自建服务,但是你得有高质量的 pdf - text 数据。

收集已有数据

收集开源数据集。常用:FineWeb、pile、Skypile、RedPajama

可能遇到的问题:

  1. 服务器没连外网,只能换成 hf_mirror 的链接;
  2. 下载速度太慢,下完 1T 开源数据得好几天,得手动 split 要下载的数据集合,起多个进程在多台服务器上下载;
  3. 下载完之后,文件量多的你执行 ls 都会卡死,你得用大数据集群技术来处理
  4. 目前所有开源出来的预训练数据集都不是干净的,质量多少有点问题。

往哪个方向去准备数据

  1. 知识密度大的数据:数据的知识密度是有差异的。“唐诗三百首”的知识量要远远大于“中国新闻网的三百篇新闻”。而这种高知识密度的训练数据,往往都是需要花钱的。最近,一种新的数据趋势是“合成高知识密度数据”,把几千字的新闻概括成几百字喂给模型,四舍五入也等于训练速度提高了十倍。
  2. 多样性高的数据:重复数据或者同一个数据被练多次,会明显损坏模型效果,需要去重及合成让数据多样化。同一个知识点变着花样说,用不同的身份说,用不同的先验知识说,在不同的场景说,都可以合成多样数据。

数据清洗

<aside> 🎨

“清洗“是数据环节最核心的工作,没有之一

</aside>