一句话定义:数据清洗(Data Cleaning)是指在把语料交给模型训练之前,用一套工程流程把重复的、乱码的、低质的、含隐私的内容识别出来并处理掉,最终留下干净、可用的训练数据。
打个比方:做饭前要择菜、洗菜、挑出沙子。菜市场的菜不会直接下锅,因为烂叶子和泥沙进了锅,再好的厨艺也救不回来。模型也一样:它不会像人那样"吃坏肚子",但会把坏数据里的错别字、广告腔、胡编的事实一并学进去,然后在回答里还给你。
预训练语料的全流程
从网页抓下来的原始数据,通常要经过几道流程:
1. 抽取解析:把 HTML 转成纯文本,去掉导航栏、页脚、广告模板;PDF、代码、表格要单独处理。这一步没做好,模型学到的可能是一堆"点击查看更多"。
2. 规则过滤:按长度、乱码比例、符号占比、语言识别结果剔除明显无意义的页面。
3. 去重:先用哈希做精确去重,再用 MinHash、SimHash 这类近似去重找出"改了几个字的转载稿"。重复数据的危害很隐蔽:模型会把同一段话反复看几十遍,既浪费算力,又容易变成"背课文"。
4. 质量与安全过滤:用分类器或启发式规则给文本打分,筛掉低质内容,同时清理个人信息(PII)和有害内容。
微调语料更严格。预训练要的是"广",微调要的是"准":指令和回答要成对、完整、风格一致,模板化的套话要清掉,还要人工抽检。几百条干净示范,常常胜过大几万条脏数据;这一点在具体项目里很容易验证,但各家工具与流程细节请以官方页面为准。
和相邻概念的区别
| 概念 | 关心什么 | 产出 |
|---|---|---|
| 数据清洗 | 数据"脏不脏" | 干净语料 |
| 数据增强 | 数据"够不够" | 更多样本 |
| 数据标注 | 数据"有没有标签" | 带标签样本 |
| 特征工程 | 数据"表达得好不好" | 特征向量 |
为什么它比模型结构更影响效果:模型结构决定"能学多好"的上限,数据决定"实际学到什么"。同样是 Transformer,喂干净语料和喂混杂语料,出来的模型在事实性、语气、稳定性上差距明显。结构是瓶子的形状,数据是装进去的水;瓶子再好,水浑了还是浑的。更麻烦的是评测污染:测试题不小心混进训练集,分数会虚高,问题却被掩盖。
对从业者的意义:调结构和调超参的收益往往很快触顶,而数据管线的收益是持续的。做项目时,与其纠结换哪个模型,不如先看一眼训练语料里有多少重复和模板文本。
对普通人的意义:你感受到的"这模型怎么老说套话""怎么一本正经地胡说",很多时候不是模型不够大,而是它读的东西不够干净。
