数据
数据爬取
预训练所需数据量级:10T 以上。开始预训练后要持续追加数据。这是一个持续很久的工作,一直持续到 scaling law 失效或者世界上所有的数据被用完。
准备新数据
专业的数据团队,爬网页、逛淘宝、联系数据贩子
拿到原始数据后,需要转成文本。常见的格式是 html 和 pdf。
pdf:需要用 pdf OCR 服务。不要用 python 库解析,对公式和表格的解析效果一塌糊涂。用 GPT4o 解析太贵,远高于 pdf 解析服务。也可以自己训一个 OCR 模型,自建服务,但是你得有高质量的 pdf - text 数据。
收集已有数据
收集开源数据集。常用:FineWeb、pile、Skypile、RedPajama
可能遇到的问题:
- 服务器没连外网,只能换成 hf_mirror 的链接;
- 下载速度太慢,下完 1T 开源数据得好几天,得手动 split 要下载的数据集合,起多个进程在多台服务器上下载;
- 下载完之后,文件量多的你执行 ls 都会卡死,你得用大数据集群技术来处理
- 目前所有开源出来的预训练数据集都不是干净的,质量多少有点问题。
往哪个方向去准备数据
- 知识密度大的数据:数据的知识密度是有差异的。“唐诗三百首”的知识量要远远大于“中国新闻网的三百篇新闻”。而这种高知识密度的训练数据,往往都是需要花钱的。最近,一种新的数据趋势是“合成高知识密度数据”,把几千字的新闻概括成几百字喂给模型,四舍五入也等于训练速度提高了十倍。
- 多样性高的数据:重复数据或者同一个数据被练多次,会明显损坏模型效果,需要去重及合成让数据多样化。同一个知识点变着花样说,用不同的身份说,用不同的先验知识说,在不同的场景说,都可以合成多样数据。
数据清洗
<aside>
🎨
“清洗“是数据环节最核心的工作,没有之一
</aside>