大模型的数据
注意:文章内容参考了斯坦福CS324 - Large Language Models课程,以及Datawhale的一起学相关课程中的内容。
在之前的两篇博客当中,我们已经了解了大模型的能力和大模型的架构。现在,我们要剥开洋葱的第一层,开始讨论这些模型是如何构建的。任何机器学习方法的起点都是训练数据,因此这就是我们开始的地方。
1. 大语言模型背后的数据
大型语言模型是在"原始文本"上进行训练的。为了实现高度的能力(如语言和世界知识),这些文本应涵盖广泛的领域、类型、语言等。
如何获得大量的数据呢?
- 网络
- 大公司私有数据
1.1 WebText和OpenWebText数据集
- WebText数据集被用于训练GPT-2模型。其目标是获取既多样化又高质量的数据集。
- OpenAI并没有公开发布WebText数据集,但OpenWebText数据集在理念上复制了WebText的构建方法
1.2 Colossal Clean Crawled Corpus(C4)
- C4语料库被用来训练T5模型。语料库806GB的文本(1560亿个标记)。
1.3 Benchmark的数据污染问题
- 大型语言模型,训练数据和基准数据都源自互联网,要事先保证它们的完全分离就显得有些困难。
- 数据污染并不是由于数据集的托管方式导致的,因为数据集通常会以JSON文件的形式存储,而不是网页。因此也可以说当前的数据污染是一种自身很难避免的特性。
1.4 GPT-3的数据集
- GPT-3的数据集主要源自Common Crawl,而
- Common Crawl又类似于一个参考数据集——WebText。
- GPT-3也扩大了数据来源的多样性(包括WebText2、Books1、Books2以及维基百科)。在训练过程中,Common Crawl被降采样,它在数据集中占82%,但只贡献了60%的数据。
然而,GPT-3也暗示了我们除了网络爬虫之外,也许还可以寻找其他更高质量的数据来源。EleutherAI(一个致力于构建开放语言模型的非营利组织)进一步推动了这个想法。他们发布了一种语言模型的数据集,名为The Pile,其核心理念是从较小的高质量数据源(如学术和专业资源)中获取数据。
网络和私有数据的总量是巨大的,但是简单地将所有数据(甚至是Common Crawl)都用于训练并不能有效地利用计算资源。数据的过滤和策划(如OpenWebText,C4,GPT-3数据集)是必要的,但可能会导致偏见。策划非网络的高质量数据集(如The Pile)是有前途的,但也需要仔细记录和审查这些数据集。
2 数据集文档
-
数据文档的主要目的有两个:一方面,它让数据集的创建者有机会反思他们的决策,以及在创建数据集过程中可能产生的潜在危害,比如社会偏见;另一方面,它让数据集的使用者了解何时可以使用数据集,何时不应使用数据集。
3 数据生态
目前为止,我们主要关注了现有大型语言模型数据集的分析以及文档记录,但实际上数据是一个广泛的概念,可以从许多其他角度进行研究。
数据生态的目的:
-
- 负责任地策划高质量的数据源,而不是无差别地爬取网页。
-
- 在个体层面上,数据没有价值,但在集体层面上,它具有巨大的价值。