论文标题:Improving Language Understanding by Generative Pre-Training
论文的引用量不到1000,有点吃惊,这个是比BERT更早的基于Transformer的预训练模型,BERT引用量超过了12000+
GPT是第一个基于Transformer的(使用Transfoermer decoder,BERT使用Transformer encoder)预训练模型,一共发了3个版本,GPT3达到巅峰, 它能做的事情超过想象力,还记得fine-tuning出来的那首诗吗?
《桥上的秋菊》黄花淡淡复丛丛,冷艳霜痕两不同。金蕊斓斑宜向日,素衣零落御秋风。打工人,是不是又被惊呆了?
摘要:自然语言理解包含广泛多样性任务,比如文本蕴含,问答,语义相似度评估,文本分类。然而没有标注的文本语料是非常丰富的,而这些特定任务有标注的数据太少,怎么利用这些丰富的无标记数据训练模型是非常有挑战性的。我们论证了通过在未标注的丰富数据集上生成预训练语言模型,然后在每个指定任务上进行fine-tuning,可以在这些任务中获得巨大的收益。对比之前的方法,我们在fine-tuning的时候使用面向任务的输入转换来达到高效的迁移,仅仅需要最小的模型架构的修改。我们在广泛的自然语言理解的benchmarks上论证了我们方法的有效性。我们通用的不针对任务的模型显著超越了那些针对每个任务精心设计的模型,在12个任务中有9个达到了SOTA。比如,我们在知识推理上达到了8.9%的绝对提升(Stories Cloze Test),问答上提升5.7%(RACE),文本蕴含提升1.5%(MultiNLI)。
1 简介
在NLP中,如何有效地从无标记的原始文本中学习,对于减轻监督学习的依赖至关重要。大部分深度学习的方法需要大量的手工标记的数据,这限制他们在许多缺乏标注数据的领域的适用性。在这样的情况下,模型能够从无标记数据中学习语言信息,为收集更多标注数据提供了一个有价值的替代方法,标注数据既花钱又耗时。即便是那些有大量标注数据的场景,通过无监督的方式从丰富的语料学习一个好的语言表示也能提供一个显著的提升。最有说服力的证据就是到目前为止各种被广泛应用的word Embeddings(word2vec, GloVe ),提升了广泛下游NLP任务的性能。
从无标注文本中利用词级别以外的信息非常具有挑战性,有2个主要的原因。首先,不清楚在学习文本表示的时候什么类型的优化目标是最高效的迁移。近期的研究做过各种不同的目标,比如语言模型,机器翻译,语句一致性,基于每一种方法在不同任务上都超过了其他方法。其次,没有一致性、高效的方法来迁移这些表示学习到目标任务上。已有的技术涉及到联合任务特定的设计修改模型架构,使用复杂的学习规则,添加辅助的学习目标。这些不确定的事情使得开发高效的自然语言处理的半监督学习方法是困难的。
在这篇论文中,我们为自然语言理解任务探索了一个半监督的方法,它由一个非监督的预训练和一个有监督的fine-tuning组成。我们的目标是学习一个全局的表示,做简单的适配来迁移到各种各样的任务上。我们假定可以访问大量的未标注文本语料和一些有手工标记的训练样本的数据集。我们的设定不需要这些目标任务和未标记的语料在相同的领域。采用2段式的训练过程。首先,我们使用LM(语言模型)为目标在未标注的数据上使用神经网络来学习一个初始的参数表示。接下来,我们基于特定任务的监督目标来调整这些参数。
我们的模型架构使用Transformer,已经被证明在不同的任务上有很强的表现,比如机器翻译,文本生成,句法解析。这个模型结构为我们提供了更结构化的内存来处理文本中的长依赖,与传统的循环神经网络相比,在多种任务中表现出了更强的迁移能力。在迁移过程中,我们利用任务特定的派生自traversal-style方法输入改写,将结构化文本输入当做一个连续的tokens序列。我们在实