兄弟们,最近帮团队搞了个70B参数的预训练,数据准备阶段差点被坑死。直接说干货:
1️⃣ 去重不是简单的drop_duplicates
千万别信pandas那套。我们用了MinHash+LSH做近似去重,发现语料里有大量重复句段(比如新闻标题)。实测用simhash跑一遍能干掉15%-20%冗余,效果立竿见影。
2️⃣ 质量过滤要分层
别一刀切。我们按规则分了三级:
- 硬过滤:乱码、URL、纯符号、字数<50
- 软过滤:用简单分类器筛低质文本(比如广告、营销文案)
- 标准过滤:基于困惑度(PPL)打分,阈值设为15,低于这个的直接扔
3️⃣ 领域平衡别忽略
你肯定遇到过跑完模型,发现中文法律数据占70%,其他领域拉胯。我们做了采样策略:对长尾领域(比如医学、工程)做2-3倍过采样,再用权重衰减控制主流领域权重。
4️⃣ 一个容易翻车的坑
中文分词后,去停用词要小心。像“的”、“了”在某些语境下有语义作用(“好的”vs“好”)。建议先做少量样本验证,别上来就全删。
有个问题想讨论:你们在数据清洗时,对多语种混合的语料怎么处理?尤其是中英文混杂的场景,直接统一分词器效果很差,有没有好的经验分享? |