GPT-1 是一种不设定下游目标任务的生成式语言模型,是使用未标记的样本数据进行无监督学习训练出来的,没有具体的目标任务,自然就谈不上什么做标记和监督学习了。请注意,“不设定下游目标任务”不等同于“所有目标任务它都能胜任”,未经额外训练的 GPT-1 模型几乎不能直接处理任何 NLP任务。OpenAI 在 GPT-1 的名字上已经特别强调了它仅是一款“ Pre-trained”的模型,使用者需要在 GPT-1 模型的基础上针对特定任务进行微调(Fine-tuning)。微调阶段进行的训练就是使用有标记样例数据的监督学习训练,样例的标记结果是与具体任务直接相关的,所以微调后的模型才能适用于对应的下游任务。
这里可以用个不太严谨的比喻来帮助读者理解 GPT-1 模型的潜在价值:假设你要培养两名智力相当的孩子从事软件开发工作,其中一名孩子生活在与世隔绝的原始部落中,对世界的认知犹如白纸般一片空白;另一名孩子成长在现代都市中,理解生活中的各种常识且接受过语文、数学等基础教育。尽管这两名孩子都没有接触过编程,生活常识和语文、数学这些基础知识也的确不会令人直接就能从事软件开发工作,但显然没人质疑通识教育将对后续的编程培训有巨大的帮助,培养他们两人的开发技能在成本、效率、效果上都有不言而喻的差别。
GPT-1 基于 BookCorpus 数据集<sup>○一</sup> 进行训练。BookCorpus 数据集中收集了大约 7000 本未出版的各类图书,这些图书中包含了大量的连续文本,有助于模型学习各种难以通过语言精确描述的语法规则,有着大范围依赖关系的文本中还潜藏着各种实体和实体之间的关系,为模型理解世界的基本常识提供了途径。从模型结构与规格来看,GPT-1 与标准 Transformer 架构的解码器部分的结构高度一致,如图 8-11 所示,GPT-1 有 12 层编码解码器和 1.17 亿个参数。
第 8 章 从学习到创造
335
○一 BookCorpus 数据集:https://paperswithcode.com/dataset/bookcorpus。