
大模型训练数据治理:从清洗到质量评估全链路
数据是大模型的燃料。2026年,随着高质量互联网文本逐渐枯竭,数据治理已成为决定模型能力上限的关键瓶颈。GPT-5的训练使用了超过50T tokens的数据,其数据管线复杂度远超大多数工程系统。本文将系统梳理这条全链路。 1. 数据采集与来源分类 1.1 数据来源全景 来源类型 占比(典型) 质量等级 典型数据集 网页爬取 40-50% 中 Common Crawl, RefinedWeb 书籍 10-15% 高 Books3, BookCorpus 学术论文 5-10% 高 arXiv, S2ORC 代码 5-10% 高 The Stack, GitHub 对话数据 5-10% 中 Reddit, Stack Overflow 专有数据 10-20% 极高 企业内部数据 合成数据 5-15% 可变 LLM生成数据 1.2 合成数据的崛起 2026年最重要的趋势是合成数据成为预训练的重要组成。Phi-4和GPT-5均大量使用合成数据: # 合成数据生成的典型pipeline synthetic_pipeline = { "seed_topics": "从高质量知识图谱采样种子主题", "generation": "使用强模型生成多角度、多深度的内容", "filtering": "使用reward model过滤低质量生成", "deduplication": "MinHash + LSH去重", "verification": "使用验证器检查事实准确性" } 关键发现:合成数据的多样性比数量更重要。10万条覆盖10万个主题的合成数据,比100万条覆盖1万个主题的数据训练效果更好。 2. 数据清洗全链路 2.1 文本提取 从HTML中提取正文是最基础但也最容易出错的环节: def extract_text(html: str) -> str: # 1. 使用trafilatura提取正文 text = trafilatura.extract(html, include_links=False, include_tables=True) # 2. 去除模板化内容(导航栏、页脚等) boilerplate_ratio = compute_boilerplate_ratio(text, html) if boilerplate_ratio > 0.5: text = clean_boilerplate(text) # 3. 语言检测 lang = fasttext.predict(text) if lang not in TARGET_LANGS: return None # 4. 编码修复 text = ftfy.fix_text(text) return text 2.2 质量过滤 2026年的质量过滤已从简单规则发展为多级分类系统: ...
