一、摘要
本文介绍2019年来自OpenAI的论文《Language Models are Unsupervised Multitask Learners》,也就是提出GPT2的论文。论文提出语言模型在无监督的情况下,通过大规模多样化数据集训练,能够执行多种自然语言处理任务,展现出零样本学习能力,在当时为LLM的发展提供了一个新方向。
译文:
自然语言处理任务,如问答、机器翻译、阅读理解和摘要,通常通过在任务特定的数据集上进行监督学习来解决。我们展示了当在一个包含数百万网页的新数据集WebText上进行训练时,语言模型开始在没有任何明确监督的情况下学习这些任务。当以文档加问题为条件时,语言模型生成的答案在CoQA数据集上达到了55的F1分数——在不使用127,000多个训练示例的情况下,匹配或超过了4个基线系统中的3个。语言模型的容量对于零样本任务迁移的成功至关重要,增加容量可以以对数线性方式提高各任务的性能。我们最大的模型GPT-2是一个具有15亿参数的Transformer,在零样本设置下,在8个测试的语言建模数据集中的7个上达到了最先进的结果,但仍然对WebText存在欠拟合。模型生成的样本反映了这些改进,并包含连贯的文本段落。这些发现表明了一条有前途的路径,即构建能够从自然发生的示例中学习执行任务的语言处理系统。
二、核心创新点
与其说是创新点,倒不如说是改进点,如下:
1、扩大训练数据集
作者指出,以往的研究大都在单一文本领域上去训练LLM,并认为使用网络爬虫来获取多样化且几乎无限量的文本非常有意义。由此,作者创建了一个新的爬虫工具,用于提取高质量文本。具体来说,这个爬虫只选取那些经过人类筛选的网页,例如抓取社交媒体平台Reddit上的数据。最终生成的数据集WebText包含了800多万个文档,大小在40G。
2、输入表示
对于输入表示,采用结合字级和词级优点的字节对编码(BPE),防止 BPE 跨字符类别合并,添加空格例外以提高压缩效率,使模型能处理任意 Unicode 字符串。
3、模型架构调整
GPT2模型的架构整体上与GPT一致,但是做了一些微小的改动。首先,层归一化模块被移动到每个子块的输入处,同时最后的自注意力block后面新增一个额外的层归一化模块。其次,GPT2还使用了一种考虑模型深度在残差路径上积累的改进初始化方法,具体来说,初始化时将残差层的权重按照的因子进行缩放,其中N是残差层的数量。另外,词汇表的规模扩大到了50257,上下文大小也从512个Token扩大到了1024个Token,batch_size也扩大到512。
三、总结
这篇论文证明了LLM在大规模多样化数据集上预训练后,能在无监督零样本设置下执行多种自然语言处理任务,如阅读理解、翻译、问答等,无需特定任务的监督训练或架构修改。而相比起GPT1,GPT2更多地是向我们展示了什么叫大力出奇迹,即把数据量、输入上下文长度等扩大,模型效果也能得到提升。