兄弟们,最近看到不少群友抱怨训出来的模型烂得像坨屎,十有八九是数据准备没做好。今天聊聊这个容易被忽视的环节,毕竟数据质量决定模型上限,再好的架构也救不了垃圾输入。
**1. 去重不是开玩笑**
重复样本会让模型过拟合,尤其是高频短语。我一般用MinHash或SimHash做近似去重,线上跑8卡A100的话,几百万条数据半小时搞定。别偷懒,去重后通常能砍掉10%-30%的冗余。
**2. 清洗比你想的狠**
- 非文本内容(HTML标签、乱码)直接杀
- 短文本(<20 tokens)过滤掉,这些噪音没卵用
- 语言检测:混入日语、阿拉伯语会污染中文模型,用fastText按比例筛选
**3. 平衡分布是关键**
领域数据别一股脑全喂。比如代码和通用文本,我习惯按3:7混合,再用tokenizer的熵值做动态采样,避免模型变成“只会写注释的废物”。
**4. 验证集别瞎整**
从训练集抽10%做验证,但注意保持分布一致。我踩过坑:用了时间戳不同的数据,结果loss曲线一路飘红。
最后问个实在的:你们在数据清洗时,最头疼的是去重效率还是格式标准化?评论区聊聊,别藏着掖着。 |