详细解释
Dataset Curation(数据集治理 / 语料治理 / 数据清洗工程) 一句话定义:大家都在用相同的 Transformer 架构、相同的 GPU、相同的优化器,为什么有的模型 7B 吊打别人 70B、有的连人话都说不利索?90% 原因不在模型架构,在数据集治理——你给模型喂的是「爬虫爬来的 50% 重复、20% 垃圾广告、10% 色情暴力、10% 模板生成 SEO 垃圾页」,再牛的架构训出来也是垃圾;别人花 3 个月精挑细选、去重、打分、分级,10% 高质量数据就能顶你 100% 垃圾数据的效果。
当代大模型训练数据治理分两大阶段:(1) 预训练数据治理(Pre-training Curation)——LLaMA、GPT-3 时代的 Common Crawl 级万亿 token 清洗,决定模型底座的通用能力;(2) 后训练数据治理(Post-training Curation = SFT/DPO/RAG 数据治理)——2024 年之后的主战场,因为开源底座(Llama 3、Qwen 2.5)已经很强了,企业不需要再训底座,只要把自己的私有 SFT/DPO/RAG 语料治理好,就能得到超越通用底座的垂直模型效果。
唯元智创 提供开箱即用的「数据集治理流水线」:上传原始语料(爬虫、CSV、PDF、Word),自动执行 17 步标准化治理(规则去噪 → MinHashLSH 精确去重 → 语言过滤 → 质量打分 → 去毒 → 隐私脱敏 → 难度分级 → 多样性聚类 → Outlier 过滤 → 最终抽样),产出高质量 JSONL 数据集,同时给出治理前后 20+ 维度的质量对比报告(重复率、毒素占比、多样性分数、可读性分数等),人工零操作,几天完成过去团队几个月的工作量。
高质量 SFT 数据集治理的标准化 12 步流水线(2025 年工业界通用版本)
这是 Meta、Anthropic、Mistral 等头部公司公开披露后,整个行业抄作业的标准流水线,一步都不能少:
| 步骤 | 动作 | 工具 / 算法 | 典型阈值 / 标准 |
|---|---|---|---|
| ① 原始语料合并 + 格式标准化 | 多来源 JSONL/CSV/PDF 统一成(instruction, input, output, source, domain)字段 schema | 自研脚本、LangChain、Unstructured | schema 错误率 < 0.1% |
| ② 基础规则去噪 | 删除:长度过短/过长、乱码率高、HTML tag 残留多、重复字符多、模板比例高(如 SEO 页脚) | 正则、FastText 语言检测、乱码检测 | 保留字数 100-10000 字 / 条、乱码率 < 3%、模板占比 < 50% |
| ③ 语义去重(Exact + Near-duplicate) | 先 MD5 精确去重 → 再 MinHash + LSH / SimHash 近似去重 → 最后 embedding cosine 语义去重 | datasketch(MinHashLSH)、FAISS KNN 语义去重 | 最终去重率:公开数据 70-90%、私有数据 30-60%;Jaccard ≥ 0.8 判定为重复 |
| ④ 隐私与 PII 脱敏 | 识别并替换:姓名、手机号、邮箱、身份证、银行卡号、地址、公司内部敏感字段(如 SKU、客户 ID) | Presidio、NER 模型、正则、企业内部词表 | PII 漏检率 < 0.5% |
| ⑤ 质量打分模型(Quality Classifier / Ranker) | 用 1-10k 条人工标注「好/坏」样本训练二分类/排序模型(用 bge-m3 embedding + LR 或小 LLM Judge),给每条打 0-1 质量分 | BAAI/bge-m3 + Logistic Regression / GPT-4o-mini as Judge | 丢弃质量分 ≤ 0.3 的尾部 20-30% |
| ⑥ 毒素/有害内容过滤 | 删除色情、暴力、仇恨、违法、越狱种子、极端言论等 | Llama Guard 3 / OpenAI Content Moderation / 自研关键词 + 分类器 | 毒素保留率 < 0.1% |
| ⑦ 语言/领域分类与平衡 | 分类各条数据的语言(中/英/日等)和领域(代码/数学/法律/客服等),调整采样比例 | FastText + 领域分类器 | 目标领域占比 ≥ 60%,单领域占比不超 80%(防偏科) |
| ⑧ 多样性子采样(Dedup & Diversity) | 对全量数据 embedding 后做 K-means,保证每个簇至少保留 1 条,防止聚类后只有 2-3 个主题 | K-Means / Farthest Point Sampling | 余弦相似度最近邻 ≥ 0.95 的簇内只保留得分最高的 1-2 条 |
| ⑨ 难度分级 + Curriculum Learning(课程学习抽样) | 每条打难度分:输入复杂度 + 输出长度 + 推理链步数 → 分简单/中等/困难三档 | embedding 聚类复杂度 + token 数 + CoT 检测 | 训练时先喂 60% 简单 → 30% 中等 → 10% 困难 |
| ⑩ 数据污染检测(和 Benchmark 去重) | 把你的训练数据和所有你要测的 Benchmark(MMLU/GSM8K/Internal held-out)做 13-gram n-gram 重叠检测,重叠率高的删除 | n-gram 重叠算法、dedupe-text | 任何 Benchmark 的 13-gram 重合 ≥ 3 个就整条删 |
| ⑪ Train/Val/Test Split(严格时间/来源切分) | 不要随机 split!按时间切(1-11 月训 / 12 月测)或来源切(A 系统训 / B 系统测),防止信息泄漏 | 时间戳字段、来源字段 | 验证集和测试集和训练集时间/来源完全独立 |
| ⑫ 版本化归档 + 质量看板 | 每次治理完产出 Data Card(类似 Model Card):数据量、各领域比例、重复率、毒素率、质量分分布、与上一版本 diff | DVC / HuggingFace Datasets / 自研 Data Catalog | 每个数据集版本号、可回溯、可重跑流水线 |
数据治理的三大「 ROI 最高的低成本动作」(新手别一上来搞复杂模型)
动作 1:把近似重复去掉,ROI 第一。 很多团队的 SFT 数据重复率高达 60-80%(比如同一个客服意图被 1000 个用户问了,措辞几乎一样),模型学 1 次和学 1000 次没区别,纯浪费训练 FLOPs 还容易过拟合。MinHash + LSH 近似去重是零门槛技能,pip install datasketch 就能跑,100 万条数据一下午搞定,去掉 40% 重复,SFT 分数涨 5-10%,成本几乎为零。
动作 2:人工挑 100 条「最佳样本」当 Teacher 做质量打分,ROI 第二。 不要瞎写一堆启发式规则(字数越多越好这种)——花 1 个下午让最懂业务的人,从你原始语料里挑出 100 条「这就是我们想要的完美回答是什么样」的正样本和 100 条「最差的回答是什么样」的负样本,训一个最最简单的 bge embedding + Logistic Regression 二分类器,然后拿这个分类器给全量数据打分,扔了尾部 30%。这 200 条样本 + 1 小时训练的分类器,比你瞎写 50 条正则规则靠谱得多,SFT 再涨 3-5%。
动作 3:做毒素过滤 + 安全过滤,ROI 第三。 不下心混入哪怕 1% 的色情/违法样本,SFT 后模型就会有概率性触发输出违规内容,上线直接被封。Llama Guard 3 是开源最好的毒素过滤器,pip install transformers 直接用,1 条 10ms,把 7 大类(暴力/色情/仇恨/自残/违法/隐私/越狱)全过滤一遍,漏检率 < 0.1%。别等训完模型被打了安全标签再回头找原因,现在就加。