兄弟们,搞大模型训练,数据准备真是第一步也是劝退最多人的一步。别光盯着模型架构牛逼,数据脏了,训出来的就是个笑话。直接上干货,聊聊我踩过的坑。
**1. 去重不是简单去重**
你以为用个hash去重就完事?太天真。句子级去重、文档级去重,甚至语义相似度去重都得搞。重复数据会让模型学成复读机,Loss降得快但泛化能力烂。我用MinHash+SimHash混合跑一轮,数据量能砍30%,但质量直线上升。
**2. 质量过滤要狠**
那些爬下来的网页,一堆广告、垃圾代码、乱码,必须过滤。规则过滤+分类器过滤双保险。我习惯先跑个heuristic规则(长度、字符比例、停用词密度),筛掉低质样本,再用小模型(比如BERT级)做二分类。别心疼数据量,脏数据比没数据更毒。
**3. 指令数据别乱造**
SFT阶段的指令数据,不是随便写个“你好”就算。多样性是关键:任务类型要覆盖(QA、写作、翻译、代码),难度要分层(简单/复杂),格式要统一。我一般用种子数据+模型自生成+人工校验,循环迭代。
**最后问一句:你们在数据清洗时,最头疼的是去重还是质量过滤?有没有什么骚操作分享一下?** |