兄弟们,聊点干货。大模型训练,数据是命根子。别一上来就堆几百TB的文本,结果模型学出来全是废话文学。数据准备不是简单的“爬虫+清洗”,得讲究策略。
首先,质量>数量。别迷信“数据越多越好”,垃圾数据喂进去,模型输出就是垃圾。重点筛掉重复、低质、带毒的内容,比如广告、无意义重复、政治敏感。用去重算法(如MinHash)和分类器(如BERT-based filter)先过一遍,能省下至少30%训练时间。
其次,搞平衡。领域数据要控比例,比如代码、论文、对话、通用文本,别让某个类别占90%。我常用tf-idf+聚类看分布,或者直接手动标个样本集,调权重让模型学得更均衡。
最后,别忽略数据增强。对LLM来说,简单的噪声注入(随机替换词、加标点)或者回译(中英互翻),能提升泛化能力。但别过度,搞成“文本乱码”就翻车了。
个人经验:预训练阶段数据量建议在100B tokens以上,但先从小规模(1B)跑个基线,看收敛曲线再扩。不然显卡烧了,数据白做,心态崩。
抛个问题:你们在数据清洗时,遇到过最离谱的“毒数据”是啥?比如把代码注释当正文,或者全篇乱码的?评论区聊聊避坑经验。 |