GPT:Improving Language Understanding by Generative Pre-Training

《Improving Language Understanding by Generative Pre - Training》总结

这篇论文提出了一种通过生成式预训练来提高语言理解能力的方法,主要内容包括:

  1. 引言

    • 自然语言理解任务对标注数据需求大,而无标注文本丰富,因此利用无标注数据学习有效表示对缓解对监督学习的依赖至关重要。
    • 现有从无标注文本中学习的方法存在优化目标和迁移方式不确定的问题,本文旨在探索一种有效的半监督学习方法。
  2. 相关工作

    • 介绍了自然语言处理中半监督学习的相关工作,包括早期使用无标注数据计算统计信息作为特征,以及近年来使用词嵌入和句子级嵌入的方法。
    • 讨论了无监督预训练的相关工作,以及添加辅助训练目标的半监督学习方法。
  3. 框架

    • 无监督预训练: 使用标准语言建模目标在大规模文本语料上训练多层Transformer解码器,以学习语言模型的初始参数。

    • 有监督微调: 将预训练模型的参数调整到有监督的目标任务,通过添加线性输出层进行预测,并使用语言建模作为辅助目标来优化学习。

    • 任务特定输入转换: 对于一些结构化输入的任务,通过转换为有序序列来应用预训练模型,并避免对模型架构进行大量更改。

  4. 实验

    • 设置: 使用BooksCorpus数据集进行无监督预训练,采用特定的模型规格和超参数设置,并在微调时重用部分超参数。

    • 有监督微调: 在自然语言推理、问答、语义相似性和文本分类等多种监督任务上进行实验,结果表明在12个数据集中的9个上达到了新的最先进水平。

  5. 分析

    • 影响: 转移预训练模型的层数对性能有影响,每一层都包含对解决目标任务有用的功能。

    • 零样本行为: 通过一系列启发式解决方案观察到生成式预训练支持学习与任务相关的多种功能,且Transformer的归纳偏置有助于迁移。

    • 消融研究: 进行了三个消融实验,包括去除辅助语言模型目标、与LSTM对比以及直接在监督目标任务上训练Transformer,结果表明辅助目标对部分任务有帮助,Transformer优于LSTM,预训练对性能提升至关重要。

  6. 结论

    • 本文通过生成式预训练和判别式微调的框架,使用单一的任务无关模型实现了强大的自然语言理解能力,在多个任务上取得了显著的性能提升。
    • 指出使用无监督预训练来提高判别式任务的性能是可行的,并暗示了Transformer模型和具有长范围依赖的数据集在此方法中效果最佳。

GPT2:Language Models are Unsupervised Multitask Learners

《Language Models are Unsupervised Multitask Learners》总结

这篇论文由Alec Radford等人撰写,展示了语言模型在无监督多任务学习方面的能力,通过在大规模多样的WebText数据集上训练语言模型,使其能够在零样本设置下执行多种自然语言处理任务。

  1. 引言

    • 现有机器学习系统在特定任务上表现出色,但缺乏通用性,单任务训练和单域数据集可能导致系统缺乏泛化能力。
    • 多任务学习是提高性能的有前途的框架,但在NLP中仍处于初期阶段,需要大量的任务和数据集进行训练。
    • 语言模型结合预训练和微调的方法有潜力进行更通用的迁移学习,一些工作表明语言模型在少量监督数据下可执行特定任务。
  2. 方法

    • 核心方法:基于语言建模,将语言建模任务表示为从一组示例中估计符号序列的联合概率的问题,通过Transformer架构计算条件概率。
    • 训练数据集:创建了WebText数据集,通过爬取Reddit上至少获得3 karma的链接对应的网页文本,经过筛选和清理得到,包含超过800万文档,40GB文本,且不包含Wikipedia文档。
    • 输入表示:采用Byte Pair Encoding(BPE)作为输入表示,对字节序列进行处理,避免跨字符类别合并,同时对空格进行特殊处理,以结合词级语言模型和字节级方法的优点。
    • 模型:使用基于Transformer的架构,对OpenAI GPT模型进行了一些修改,包括调整层归一化位置、增加额外的层归一化和修改初始化方式等。
  3. 实验

    • 语言建模:在多个语言建模数据集上进行测试,GPT - 2在零样本设置下在7个数据集上达到了最先进的性能,但在One Billion Word Benchmark上仍不如先前的工作。
    • 儿童图书测试:在Children's Book Test上,模型性能随着规模增加而提高,GPT - 2在常见名词和命名实体上达到了新的最先进结果。
    • LAMBADA:GPT - 2在LAMBADA数据集上提高了语言模型的性能,通过添加停止词过滤器进一步提高了准确性。
    • Winograd Schema Challenge:GPT - 2在该挑战上的性能比先前的工作提高了7%,达到了70.70%的准确率。
    • 阅读理解:在CoQA数据集上,GPT - 2在无监督训练的情况下,性能与一些有监督的基线系统相当,但仍存在一些简单的检索式回答问题的情况。
    • 摘要:在CNN和Daily Mail数据集上测试GPT - 2的摘要能力,定性上生成的摘要类似,但定量指标上仍有待提高,且当任务提示被移除时,性能会下降。
    • 翻译:GPT - 2在翻译任务上的性能略低于先前一些无监督机器翻译的基线,但在利用强大的英语语言模型进行法语到英语的翻译时表现较好。
    • 问答:GPT - 2在Natural Questions数据集上的回答正确率为4.1%,比最小模型有显著提高,且其生成答案的概率校准良好。
  4. 泛化与记忆

    • 通过分析WebText训练数据与特定评估数据集之间的数据重叠,发现数据重叠对报告结果有小而一致的好处,但大多数数据集的重叠并不比标准训练集和测试集之间的重叠大很多。
    • GPT - 2在自身的保留集上的表现表明它仍在许多方面对WebText数据欠拟合。
  5. 相关工作

    • 与之前一些研究在大规模数据集上训练语言模型和探索预训练方法的工作相关,但本研究在任务和数据集的多样性上进行了更广泛的实验。
  6. 讨论

    • 无监督任务学习是一个有前途的研究领域,本研究表明预训练技术对下游NLP任务的成功有一定解释作用。
    • GPT - 2在阅读理解任务上的零样本性能具有竞争力,但在其他任务如摘要上仍处于初级阶段,且在许多常见任务上,只有当模型具有足够容量时才开始优于简单基线。
    • 未来计划在decaNLP和GLUE等基准上进行微调实验,以探索GPT - 2的性能上限。
  7. 结论

    • 当大型语言模型在足够大且多样的数据集上训练时,能够在许多领域和数据集上表现良好,GPT - 2在8个测试语言建模数据集中的7个上达到了最先进的零样本性能。
    • 高容量模型训练能够学习执行许多任务,而无需明确的监督,这表明通过足够多样化的文本语料库训练的模型开始学习执行大量任务的能力。

GPT3:Language Models are Few - Shot Learners

《Language Models are Few - Shot Learners》总结

这篇论文由Tom B. Brown等人撰写,介绍了一种拥有1750亿参数的语言模型GPT - 3,展示了其在多种自然语言处理任务中的强大性能,尤其是在少样本学习方面的能力。

  1. 引言

    • 传统的预训练语言模型在解决许多自然语言处理任务时仍需要大量特定任务的标注数据进行微调,存在局限性。
    • 人类能够在少量示例或简单指令的基础上执行大多数语言任务,而当前的NLP系统在这方面仍有差距。
    • 最近的研究试图通过元学习来解决这些问题,但结果仍远不如微调,需要进一步改进以实现更接近人类的性能。
  2. 方法

    • 模型和架构:使用与GPT - 2相同的模型和架构,包括修改后的初始化、预归一化和可逆标记化,采用交替的密集和局部带状稀疏注意力模式,训练了8个不同规模的模型,参数数量从1250万到1750亿不等。
    • 训练数据集:通过过滤和模糊去重处理后的Common Crawl数据集、扩展的WebText数据集、互联网书籍语料库和英语维基百科等组成,同时尽量去除与测试集的重叠部分。
    • 训练过程:使用Adam优化器,进行余弦衰减学习率,数据采样无重复,所有模型使用权重衰减进行正则化。
    • 评估方法:在零样本、一样本和少样本设置下评估GPT - 3在多种自然语言处理任务上的性能,包括语言建模、闭书问答、翻译、Winograd风格任务、常识推理、阅读理解、SuperGLUE基准测试、自然语言推理和一些自定义的合成任务等。
  3. 结果

    • 语言建模、Cloze和完成任务:在PTB语言建模数据集上取得了新的最优结果,在LAMBADA数据集上显著提高了建模长程依赖的能力,在HellaSwag数据集上的表现也较为出色,但在一些完成预测任务上仍有提升空间。
    • 闭书问答:在一些常识性知识问答任务上表现出色,如TriviaQA,在WebQuestions和Natural Questions上的表现接近或达到了一些现有方法的水平,但在一些数据集上仍有改进的余地。
    • 翻译:在翻译任务上,尤其是将英语翻译成其他语言的能力上,随着模型规模的增大有显著提升,但与当前最优的监督学习方法相比仍有差距。
    • Winograd - Style任务:在Winograd Schema Challenge和Winogrande数据集上的表现随着模型规模的增大而提高,显示出对解决这类任务的一定能力。
    • 常识推理:在PIQA、ARC和OpenBookQA等数据集上的表现表明,GPT - 3在一些常识推理任务上有一定的能力,但在某些方面仍需要改进。
    • 阅读理解:在CoQA数据集上表现较好,在其他一些阅读理解数据集上的表现参差不齐,显示出在不同类型的阅读理解任务上的能力差异。
    • SuperGLUE:在SuperGLUE基准测试中的一些任务上表现接近或达到了最优水平,但在一些任务上仍有差距,整体表现显示出模型在多种任务上的潜力。
    • 自然语言推理:在RTE任务上的表现与一些单任务微调的BERT Large相当,在ANLI数据集上的表现表明在自然语言推理任务上仍有提升的空间。
    • 合成和定性任务:在算术、单词打乱和操作、SAT类比、新闻文章生成、学习和使用新单词以及纠正英语语法等任务上展示了一定的能力和潜力,但也存在一些局限性。
  4. 测量和预防基准的记忆

    • 由于训练数据集来自互联网,可能包含部分基准测试集的内容,因此准确检测测试集污染是一个新的研究领域。
    • 采用保守的方法过滤训练数据,构建“干净”版本的基准测试集,以检查潜在的污染对模型性能的影响。
    • 分析发现,潜在污染较高,但对大多数任务的性能影响较小,部分数据集的结果可能受到统计偏差的影响。
  5. 局限性

    • GPT - 3在文本合成和一些自然语言处理任务上仍有不足,如在某些阅读理解任务上表现不佳,可能与模型的结构和算法限制有关。
    • 模型在训练时的样本效率较低,仍需改进以减少与人类在训练数据量上的差距。