自大语言模型引领新一代的AI浪潮之后,对于Open AI发布的GPT系列LLM使用的数据集一直是行业内的谜,我们都知道,随着模型的参数量提升,预训练数据的使用量也同步增加,下面就让我们从相关论文和分析从探索GPT-X大模型的预训练数据集。
模型 | 发布时间 | 参数量 | 预训练数据量 |
---|---|---|---|
GPT-1 | 2018年6月 | 1.17亿 | 约 5GB |
GPT-2 | 2019年2月 | 15亿 | 40GB |
GPT-3 | 2020年5月 | 1750亿 | 45TB |
一、数据集类型
根据Open AI之前对外发布的论文和互联网上各路大神的技术分析(Open AI至今并没有公开训练ChatGPT的相关数据集来源和具体细节),我们了解到GPT系列模型使用的预训练数据集可分为六类,分别是:维基百科、书籍、期刊、Reddit链接、Common Crawl 和其他数据集。
主要数据集大小汇总。以GB为单位。公开的数据以粗体表示。确定的数据以斜体表示。仅原始训练数据集大小。
1、维基百科
维基百科是一个免费的多语言协作在线百科全书,由超过300,000名志愿者组成的社区编写和维护。截至2022年4月,英文版维基百科中有超过640万篇文章,包含超40亿个词。维基百科中的文本很有价值,因为它被严格引用,以说明性文字形式写成,并且跨越多种语言和领域。一般来说,重点研究实验室会首先选取它的纯英文过滤版作为数据集。
2、书籍
故事型书籍由小说和非小说两大类组成,主要用于训练模型的故事讲述能力和反应能力,数据集包括Project Gutenberg和Smashwords (Toronto BookCorpus/BookCorpus)等。
3、杂志期刊
预印本和已发表期刊中的论文为数据集提供了坚实而严谨的基础,因为学术写作通常来说更有条理、理性和细致。这类数据集包括ArXiv和美国国家卫生研究院等。
4、Reddit链接
WebText是一个大型数据集,它的数据是从社交媒体平台Reddit所有出站链接网络中爬取的,每个链接至少有三个赞,代表了流行内容的风向标,对输出优质链接和后续文本数据具有指导作用。
5、Common Crawl
Common Crawl是2008年至今的一个网站抓取的大型数据集,数据包含原始网页、元数据和文本提取,它的文本来自不同语言、不同领域。重点研究实验室一般会首先选取它的纯英文过滤版(C4)作为数据集。
6、其他数据集
不同于上述类别,这类数据集由GitHub等代码数据集、StackExchange 等对话论坛和视频字幕数据集组成。
二、GPT系列数据集
1、GPT-1数据集
2018年,OpenAI发布了1.17亿参数的GPT-1。在论文中,OpenAI并没有公布模型训练数据集的来源和内容,根据推测GPT-1数据集如下:
GPT-1数据集总结。以GB为单位。公开的数据以粗体表示,确定的数据以斜体表示。
2、GPT-2数据集
2019年,OpenAI发布了拥有15亿参数的语言模型GPT-2。GPT-2论文阐明了所用训练数据集的大小,不过并未说明其内容。而GPT-2模型卡(model card)(在GPT-2 GitHub仓库中)说明了模型内容。
我们可以从GPT-3论文中得到token数量,该论文使用了WebText扩展版本来表示190亿token。据推测,2020年推出的WebText扩展版本拥有12个月的额外数据(additional data),因此它可能比2019年推出的GPT-2版本大25%左右。GPT-2最终的token数量确定为150亿左右。
如GPT-2论文所述,假设模型卡显示链接数时,每个链接都可以被4500万链接总数所除,那WebText的内容在数据集中所占的百分比的详细信息就可以确定。然后可以使用确定的150亿token数量来查找每个域的token数量。请注意,在可用的前1,000个域中,此处仅显示前50个域。
WebText: 前50个域。 公开的数据以粗体表示,确定的数据以斜体表示。
GPT-2模型最终的数据集总结分析如下:
GPT-2数据集总结。 公开的数据以粗体表示,确定的数据以斜体表示。
3、GPT-3数据集
GPT-3模型由OpenAI于2020年发布。论文阐明了所用训练数据集的token数量,但训练数据集的内容和大小尚不清楚(Common Crawl的数据集大小除外)。
GPT-3数据集。 公开的数据以粗体表示,确定的数据以斜体表示。
- GPT-3:关于Books1和Books2数据集的分析
特别值得关注的是,在OpenAI的GPT-3论文中,并未公开Books1数据集(120亿token)和Books2数据集(550亿token)的大小和来源。关于这两个数据集的来源人们提出了几个假设,包括来自LibGen18和Sci-Hub的类似数据集,不过这两个数据集常以TB为计,大到无法匹配。
- GPT-3:Books1
GPT-3使用的Books1数据集不可能与GPT-1使用的BookCorpus数据集相同,原因在于Books1的数据集更大,达120亿token。在一篇引用的论文中就提及GPT-1使用的BookCorpus数据集拥有9.848亿个词,但这可能只相当于13亿token(984.8字x 1.3字的token乘数)。
通过标准化项目古腾堡语料库(SPGC),Books1有可能与古腾堡项目保持一致性。SPGC是一种开放式科学方法,被用于古腾堡项目完整的PG数据的精选(curated)版本。SPGC包含120亿个token,大约为21GB。
- GPT-3:Books2
Books2(550亿token)可能与Bibliotik保持一致,并由EleutherA收集该来源的数据,组成数据集,使其成为The Pile v1的一部分。Bibliotik版本为100.96GB[22],其确定的token数仅为250亿,低于Books2公开的550亿。然而,使用SPGC的'每字节token数'比率(大约为1:1.75),Bibliotik的token数和大小将更接近于Books2。
GPT-3模型的最终数据集总结分析如下:
GPT-3数据集总结。公开的数据以粗体表示,确定的数据以斜体表示。
Reference:https://lifearchitect.ai/whats-in-my-ai/