在大语言模型(LLM)如 GPT、BERT、T5 爆发式发展的背后,我们常常关注模型架构的演化,却忽视了一个更基础也更关键的问题:训练数据从哪里来?这些数据是如何清洗、筛选和标注的?
本篇博客将系统梳理 LLM 数据构建中的核心流程,以 FineWeb 为例,揭示如何打造一个有规模、有质量、无偏见的训练语料,并讨论相关的伦理与公平性问题。
FineWeb 是一个规模庞大的网页语料资源,在构建过程中非常重视文本质量。其数据过滤流程精细、系统,主要包括以下六个步骤:
移除来自恶意站点或不适宜内容(如成人网站)的文本,利用黑名单与子词过滤规则识别这些 URL。
借助 Trafiliatura 工具,从原始 HTML 页面中提取主内容,去除广告、侧栏和其他噪声。
应用 FastText 对文本进行语言识别,仅保留英语概率高于 0.65 的内容。
结合已有的规则(如 Gopher、C4)与自定义策略,识别并移除重复句、列表页、结构紊乱的文本。
利用 MinHash 和 5-gram 技术评估网页相似度,避免模型重复学习相似内容。
所有文本中出现的电子邮件地址与公网 IP 都被替换为匿名占位符,确保合规与隐私保护。
FineWeb 团队不是凭经验判断哪些文本“好”,而是:
这种基于效果反推数据质量的机制,是其成功的核心因素之一。
RoBERTa 比 BERT 更强,不是因为结构,而是用了 10 倍的数据。
主流预训练数据涵盖:
尽管这些数据质量高,但规模有限。因此研究者开始使用 Common Crawl 全网爬虫数据,形成如 C4、Dolma、FineWeb 等超大语料库。
论文《Textbooks Are All You Need》甚至主张用高质量教材级语料能训练更好的模型,但代价是人工成本极高。
LLM 的通用语言建模能力只是基础,任务能力来自有标签的数据,例如:
这类任务需要专业注释数据,而这些数据通常不免费且标注代价高。
例如,官方的欧盟和联合国文件就被广泛用于训练多语言翻译模型,因为它们是结构化且对齐的优质资源。
我们可以看一个实际企业中多轮客服对话的例子:
客户:我上周购买的蓝牙耳机无法连接手机
客服:请问您使用的是什么品牌和型号的手机?
客户:是三星 Galaxy S21
客服:好的,请尝试重启蓝牙并重新配对,如果还有问题,我可以帮您安排更换。
这些对话并不一定顺序清晰:客户可能中途改话题、回复延迟、或在一条信息中提到多个问题。为了将这些内容用于训练对话系统,标注员需要:
这类结构化标注过程通常耗时数百小时,依赖丰富的上下文理解与行业知识。
一个常被忽视的问题是:社会偏见如何通过训练数据悄然进入模型。
以共指消解任务为例,如果训练语料中“医生”总是和“他”搭配,而“护士”常常和“她”关联,模型最终就会学到性别刻板印象。
现实中类似的问题还有:
如果不加以识别和控制,这些偏见会通过模型进一步放大。
不是所有任务都适合作为机器学习训练目标。
一个极具争议的案例是:给面部图像打“犯罪倾向”标签。这种做法不仅没有科学依据,还可能助长面部歧视与技术滥用。
因此,在设计数据集与任务时,应考虑:
最后,总结一个好数据集应具备的六个核心特征:
构建语言模型,不只是调模型结构、堆参数数量,更是一个数据工程问题。我们不应只追求“量”,更应注重数据的结构、代表性、公平性和伦理责任。
希望这篇文章能为你揭开“数据即模型能力上限”的本质。如果你正从事模型训练,也许你真正该问的是:
我在喂模型吃什么?这些数据真的值得学吗?