大规模预训练数据从哪来

wen IT资讯 2

本文目录导读:

大规模预训练数据从哪来

  1. 核心来源:互联网公开爬取(占绝对主力,约90%以上)
  2. 其他重要来源(补充和优化)
  3. 关键处理步骤:清洗和过滤
  4. 数据规模、隐私与版权问题
  5. 总结:一个典型的预训练数据集组成(以开源模型为例)

这是一个非常核心的问题,大规模预训练数据的主要来源是互联网上的公开文本和代码,但背后有一套复杂的采集、清洗和处理流程。

可以把这个过程想象成一次大规模的“互联网数字采矿”,主要分为以下几个步骤和来源:

核心来源:互联网公开爬取(占绝对主力,约90%以上)

这是最大的数据来源,公司会使用网络爬虫(如谷歌的Googlebot、Common Crawl等)系统地抓取公开的网页。

  • 主要抓取对象:
    • 通用网页: 新闻网站、博客、论坛(如Reddit)、维基百科、各类文章。
    • 代码库: 从托管平台(如GitHub)抓取公开的代码仓库。
    • 学术论文和书籍: 爬取arXiv、PubMed等学术网站,以及公共领域的书籍(如古登堡计划Project Gutenberg)。
  • 最著名的公开数据集:Common Crawl
    • 它是一个非营利组织,定期(每月)发布一次互联网的抓取快照,数据量巨大(数十PB),包含数万亿个网页。
    • 大多数著名模型(如GPT-3、LLaMA、BLOOM)都使用过Common Crawl作为基础数据来源。 它免费、公开,是AI研究社区的基石。

其他重要来源(补充和优化)

除了直接爬取,模型还会引入一些高质量、结构化的数据来提升性能。

  • 高质量知识库:
    • 维基百科: 几乎是必用的数据源,它结构清晰、语言规范、覆盖广泛,是模型学习事实和知识的关键。
    • 教科书和学术论文: 提供严谨、逻辑性强、深度的知识。
  • 社交和专业平台:
    • Reddit、Stack Overflow: 这些平台的对话和问答是训练模型理解对话、解决问题和形成“人格”的优质材料,因为它们是用户生成的,更接近真实对话。
    • 社交媒体(如Twitter/X,Instagram): 提供最新的、多样化的、带有情感的和非正式的文本。
  • 书籍(小说、非虚构类): 训练模型的长期叙事能力、复杂语法和丰富的词汇。
  • 对话数据: 用于微调模型,使其能更好地进行多轮对话。
    • 公开对话数据集: 如对话式问答数据、客服记录等。
    • 合成数据/自生成数据: 用大模型(如GPT-4)本身生成的高质量对话对(通常是“指令-回答”对)来训练更强的模型,这是近年来的一个重要方法(Alpaca、Vicuna等模型的开源实现)。
  • 代码数据: 已经提到的GitHub是主力,代码让模型学会了逻辑、结构化思维和解决问题的方法。

关键处理步骤:清洗和过滤

采集到的原始数据(特别是Common Crawl)是“垃圾和黄金的混合物”,必须经过严格的清洗才能用于训练,这个过程决定了模型的下限。

  • 去重: 删除重复和高度相似的文本(同一个新闻在多个网站上的转载),这对于模型学习效率和避免记忆至关重要。
  • 去噪: 移除HTML标签、广告、导航栏、无关的元数据等非文本内容。
  • 过滤:
    • 质量过滤: 使用分类器(通常基于语言模型或规则)评估文本质量,过滤掉机器翻译、乱码、无意义内容、简单列表等。
    • 过滤: 移除暴力、色情、仇恨言论、个人信息(PII,如电话号码、邮箱)等,这部分非常复杂且充满争议。
    • 语言过滤: 通常只保留主要语言(如英语、中文)或目标语言。
  • 分词(Tokenization): 将文本切分成模型能处理的“词元”(token)。“Hello World”可能被切成[“Hello”, “World”]或[“Hel”, “lo”, “Wor”, “ld”]。

数据规模、隐私与版权问题

  • 规模: 一个典型的千亿参数模型(如LLaMA-2 70B)可能使用2万亿到5万亿个token(大约是1-2TB的纯文本)进行预训练,数据量越大,模型通常能力越强,但成本也越高。
  • 隐私: 爬取的数据中不可避免地包含个人信息,公司会尝试过滤掉明显的个人信息(如电话号码、电子邮箱),但无法做到100%完美,这构成了隐私泄露的风险。
  • 版权: 这是目前最大的法律和伦理挑战。
    • 争议: 使用大量受版权保护的作品(新闻、书籍、代码)进行训练是否属于“合理使用”(在美国)或合法,全球法律尚无定论。
    • 现状: 很多AI公司(如OpenAI、Meta)认为这是对公开数据的合法使用,但大量作者、出版商和新闻机构已经提起了诉讼。
    • 公司可能需要与数据所有者签订许可协议、采用更严格的过滤或建立数据补偿机制。

一个典型的预训练数据集组成(以开源模型为例)

你可以想象一个混合体:

  • 67% Common Crawl(网络爬虫)
  • 15% Github(代码)
  • 5% 书籍(虚构+非虚构)
  • 5% 维基百科
  • 5% 学术论文(如arXiv)
  • 5% 其他(如Reddit、Hacker News等)

大规模预训练数据主要来自:

  1. 疯狂爬取互联网上的公共网页(通用数据)。
  2. 精心筛选高质量知识库(维基百科、学术论文、书籍)。
  3. 加入代码和对话(GitHub、Reddit)。
  4. 进行严格清洗和过滤(去重、去噪、过滤有害信息)。
  5. 处理隐私和版权问题(仍在激烈辩论中)。

抱歉,评论功能暂时关闭!