本文目录
5.大模型数据
任何机器学习方法的起点都是训练数据,它是数据驱动的模型生成的起点。通常在机器学习中,训练数据和测试(评估)数据是相似的,或者至少是同一类型的。但对于大型语言模型来说,训练数据就是“原始文本”。
5.1 大语言模型背后的数据
大型语言模型是在"原始文本"上进行训练的。为了实现高度的能力(如语言和世界知识),这些文本应涵盖广泛的领域、类型、语言等。网络是寻找这种文本的自然场所(但不是唯一场所)。网络的体量绝对巨大。作为下限,谷歌的搜索索引就有100PB(参考资料)。实际的网络可能更大,而深网(指的是所有无法被搜索引擎识别的网页)的规模比这还要大。
Common Crawl[1]是一个非营利组织,它对网络进行爬取,并提供免费给公众的快照。由于其便利性,它已经成为许多模型如T5、GPT-3和Gopher的标准数据源。例如,Common Crawl在2021年4月的快照就有320TB的数据,这比谷歌的索引小了好几个数量级。
然而,尽管网络数据丰富,但Bender等人在2021年的研究[2]中指出:
- 大规模数据在全球人口中的代表性仍然不均衡。
- GPT-2的训练数据基于Reddit,根据皮尤互联网研究的2016年调查,美国Reddit用户中有67%是男性,64%的年龄在18到29岁之间。
- 维基百科的编者中只有8.8-15%是女性。
- 网络上的骚扰可能会让某些人群(如跨性别者、神经发育不同的人)产生排斥感。
- 过滤"不良词汇"可能进一步边缘化某些人群(如LGBT+)。
因此,理解和记录用于训练大型语言模型的数据集的组成是至关重要的。
5.1.1 WebText和OpenWebText数据集
WebText数据集被用于训练GPT-2模型,其目标是获取既多样化又高质量的数据集。以前的研究主要是在新闻、维基百科或小说等数据集上进行训练,而Common Crawl包含了大量的垃圾信息(如无意义文本和模板文本)。
尽管OpenAI并没有公开发布WebText数据集,但OpenWebText数据集[3]在理念上复制了WebText的构建方法。也就是说,虽然OpenWebText并非OpenAI直接发布的WebText的副本,但它遵循了WebText的制作思路和方法,目的是尽可能地模拟和复现WebText的数据特性和结构。这样,研究者们就可以利用OpenWebText来进行一些原本需要WebText数据集的实验和研究。OpenWebText从Reddit提交的数据集中提取所有URL,使用Facebook的fastText过滤掉非英语内容,删除近乎重复的内容,最终得到了38GB的文本。
在2020年的RealToxicityPrompts研究中,Gehman等人[4]对这两个数据集进行了毒性分析:相比之下,OpenWebText比WebText的毒性得分更低。
5.1.2 Colossal Clean Crawled Corpus(C4)
C4语料库[5]被用来训练T5模型。这个语料库从2019年4月的Common Crawl快照(1.4万亿个标记)开始,移除了“bad words”,移除了代码(“{”),通过langdetect过滤掉了非英语文本,最终得到了806GB的文本(1560亿个标记)。
Dodge等人[6]在2021年对C4数据集进行了深入分析,得出如下分析结果:
- 令人惊讶的是,大量数据来自patents.google.com。
- 互联网档案中的65%页面都被纳入其中,而在这些页面中,92%的页面是在过去十年内编写的。
- 美国托管的页面占到了51.3%,来自印度的页面数量却相对较少,尽管那里有大量的英语使用者。
- 来自patents.google.com的一些文本是自动生成的,因此可能存在系统性的错误。
5.1.3 Benchmark的数据污染问题
当我们评估大型语言模型的能力时,我们常常会使用一些基准数据,例如问题-答案对。然而,若基准数据在模型的训练数据中出现过,基准性能就可能会产生偏差。一般而言,在机器学习中,保证训练数据和测试数据的分离相对容易。但对于大型语言模型,训练数据和基准数据都源自互联网,要事先保证它们的完全分离就显得有些困难。
数据集污染可能引发多种问题:
-
首先,存在代表性损害的可能。 例如,我们发现与特定族群相关的词汇(如"犹太"和"阿拉伯")与积极情绪词汇的共现频率存在差异,这可能反映了模型的某种偏见。
-
其次,数据集的选择和过滤也可能导致分配损害。 以过滤版的Common Crawl(即C4)为例,只有大约10%的内容被保留。然而,涉及性取向的内容更容易被过滤掉,而其中一部分是并无冒犯之意的。某些特定的方言也更容易被过滤,例如非洲裔美国人的英语和西班牙裔的英语,相比之下,白人美国英语的过滤率就要低得多。
5.1.4 GPT-3的数据集
GPT-3的数据集主要源自Common Crawl,并对Common Crawl的数据进行了筛选处理。GPT-3下载了41个分片的Common Crawl数据(2016-2019年)。通过训练一个二元分类器来预测WebText与Common Crawl的区别,如果分类器认为文档更接近WebText,那么这个文档就有更大的概率被保留。
此外,GPT-3也扩大了数据来源的多样性(包括WebText2、Books1、Books2以及维基百科)。在训练过程中,Common Crawl被降采样,它在数据集中占82%,但只贡献了60%的数据。
5.1.5 The Pipe数据集
GPT-3的数据筛选和使用暗示了我们除了网络爬虫之外,也许还可以寻找其他更高质量的数据来源。EleutherAI[7]进一步推动了这个想法。他们发布了一种语言模型的数据集,名为The Pile,其核心理念是从较小的高质量数据源(如学术和专业资源)中获取数据。
The Pile数据集[8]包含了825GB的英文文本,由22个高质量数据集组成。当用这个数据集训练GPT-2Pile(1.5B参数)并与用GPT-3数据集训练的GPT-3(175B参数)进行比较时,研究者们发现The Pile包含了大量GPT-3数据集未能很好覆盖的信息。
小节
总的来说,网络和私有数据的总量是巨大的,但是简单地将所有数据(甚至是Common Crawl)都用于训练并不能有效地利用计算资源。有效且有目的的进行数据的过滤和策划(如OpenWebText,C4,GPT-3数据集)是必要的,但可能会导致偏见。策划非网络的高质量数据集(如The Pile) 是有前途和价值的,但也需要仔细记录和审查这些数据集。
5.2 数据集文档
在电子行业中,每个组件都有一份详细的数据表,包含其运行特性、测试结果、推荐使用情况等信息。美国食品药品监督管理局要求所有的食品都必须标注营养成分。文档记录其实在各个领域都有其重要性,只是在机器学习领域被处理的相对较为随意和松散。
数据文档的主要目的有两个:
- 一方面,它让数据集的创建者有机会反思他们的决策,以及在创建数据集过程中可能产生的潜在危害,比如社会偏见;
- 另一方面,它让数据集的使用者了解何时可以使用数据集,何时不应使用数据集。
在整个数据集的生命周期中,我们需要考虑很多问题,比如数据集的创建动机,谁是数据集的创建者,数据集的创建是由谁资助的:
- 在数据集的组成部分,我们需要了解数据集中的实例代表什么,是否有缺失信息,是否包含机密数据等。
- 在收集过程中,我们需要了解每个实例的数据是如何获取的,谁参与了数据收集,他们是如何获得报酬的,以及是否进行了道德审查等。
- 在预处理、清理和标记阶段,我们需要了解这些工作是否已经完成,是否有相应的软件可供使用。
- 在数据集的使用方面,我们需要了解数据集是否已经被用于某些任务,是否有不适合使用该数据集的任务。
- 在分发阶段,我们需要了解数据集将如何分发,是否有第三方对数据施加了知识产权或其他的限制。
- 在维护阶段,我们需要了解谁会负责维护数据集,数据集是否会更新。
在基于数据构建模型的方法中,以上这些方面都至关重要。
5.3 数据生态
目前为止,我们主要关注了现有大型语言模型数据集的分析以及文档记录,但实际上数据是一个广泛的概念,还有许多其他方面需要开展研究和建设。
(1)数据治理
在机器学习研究中,我们通常认为数据集是固定的对象,收集起来之后,直接投入到训练算法中。然而在工业领域,数据是如何产生和使用的生态系统非常重要,这就是数据治理。数据治理主要关注一个组织如何创建数据、维护其质量和安全性。Hugging Face发起的BigScience项目旨在收集一个大型多语种数据集并训练一个大型语言模型。BigScience的数据治理工作组正在开发一个框架,以负责任地策划高质量的数据源,而不是无差别地爬取网页。
(2)数据尊严
数据尊严是一个源自微软和RadicalxChange的概念,试图思考数据的本质。人们创造数据,由于人们生活在社会环境中,数据也并不仅仅是个体的财产,而是群体的财产。比如电子邮件、遗传数据。在个体层面上,数据没有价值,但在集体层面上,它具有巨大的价值,例如有一个为在机器学习的背景下给定数据点赋予价值的框架Data Shapley[9]。现状是,人们免费放弃他们的数据,大公司从中获取大量的价值和权力。例如,Alice和Bob都是作家。Alice免费提供写作示例,这可以被用来训练可以替代Bob的语言模型。我们应该将数据视为劳动而不是财产权。数据隐私是在个人层面上工作,而这是不够的。有一种提议是数据联盟,这些联盟是介于数据生产者和数据购买者之间的中间组织,它们能够代表数据生产者进行集体谈判。
参考资料
[1] Common Crawl - Open Repository of Web Crawl Data
[2] Emily M. Bender, Timnit Gebru, Angelina McMillan-Major, and Shmargaret Shmitchell. 2021. On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? 🦜. In Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (FAccT '21). Association for Computing Machinery, New York, NY, USA, 610–623.
[3] Download | OpenWebTextCorpus (skylion007.github.io)
[4] [2009.11462] RealToxicityPrompts: Evaluating Neural Toxic Degeneration in Language Models (arxiv.org)
[5] https://www.tensorflow.org/datasets/catalog/c4
[6] https://arxiv.org/pdf/2104.08758.pdf
[7] EleutherAI
[8] The Pile (eleuther.ai)
[9] Data Shapley: Equitable Valuation of Data for Machine Learning (arxiv.org)
[10] 第5章 大模型的数据 (datawhalechina.github.io)