兄弟们,最近折腾了几个开源大模型,发现一个硬道理:**数据准备搞不好,后面全白干**。很多新人上来就怼几十T文本,结果loss降不下去,生成一堆废话,十有八九是数据没洗干净。
先说三大坑:
1. **重复数据**:网上爬来的文章,翻来覆去就是同一篇新闻的N个版本。去重要上MinHash或SimHash,别手软,能砍掉30%-50%的垃圾量。
2. **低质量噪声**:比如HTML标签残留、乱码、无意义符号。用正则或fastText过滤是基本操作,顺带检测一下语言一致性,别混入太多非目标语言。
3. **长尾分布失衡**:常识性内容太多,专业领域太少,模型会变“百科弱智”。建议按领域权重采样,技术类、数学类适当升采样,拉长训练分布。
数据量上,我自己的经验:**质量>数量**。比如Llama 3用了15T token,但人家清洗流程极其严格,不是无脑堆。如果手头就1T数据,先花50%时间清洗,剩下的扔给模型,效果远比直接喂5T脏数据好。
最后问个问题:**你们在训练小模型(1B-7B)时,是倾向用全量数据但多轮清洗,还是直接上高质量子集?** 评论区聊聊,别藏着掖着。 |