Advertisement

NLP预训练模型-GPT-3

阅读量:

摘要:
本文探讨了上下文学习(In-context learning)作为一种新的范式在不进行参数更新的情况下如何利用输入示例进行学习,并通过预训练策略优化了GPT-3的模型结构和训练方法。研究发现,在多种任务中(如语言翻译、阅读理解等),GPT-3表现出色,并通过提供高质量的示例实现了快速的学习能力。然而,在生成方面存在重复生成和连贯性问题,在涉及复杂推理的任务上仍存在一定局限性。未来的研究可以尝试构建双向语言模型以解决这些问题,并探索更高效的训练方法以提升模型性能和可解释性。

一、背景知识

基于上下文的学习范式(In-context learning)是一种新的研究方向,在无需对模型参数进行更新的情况下,在输入数据中引入具体实例即可实现学习过程。当提供一组具体任务实例和一个概括性说明时,在分析这些实例的过程中,默认会补充或完善相关的细节信息。

Few-shot: 通过接受任务说明与若干示例,以预测生成相应实例的正确输出结果。

任务说明:把英语翻译成中文。例子1:one->一。例子2:two->二。问题:three->

One-shot : 除了任务说明外,只给出一个示例

Zero-shot : 除了任务说明外,不额外给出示例

Meta-learning : 自主学习

二、Motivation

2.1 背景

Pre-train+fine-tune范式存在两大局限性:首先,在对下游任务进行微调时需要依赖大规模标注数据集的支持;其次该过程可能导致模型在领域数据分布上出现过度拟合现象从而降低大模型的一般化能力。然而在语言学习中发现人类仅需少量示例即可掌握大多数语言任务因此认为微调步骤在方法论上存在不足

2.2 解决方法

该模型在训练过程中已形成了一套模式识别能力体系,在这种基础之上我们可以运用In-context learning的方法将这些预先建立的能力与新任务进行有效整合从而实现快速的学习过程。此外,在本文的研究中我们假设当模型参数规模扩大时其上下文学习能力也会随之提升。

三、GPT-3模型结构和训练策略

3.1 输入输出

输入是单词序列,输出是对最有可能放在这个序列结尾的单词的预测。

模型采用固定长度为2048个token构成的连续序列作为输入。对于长度不足2048个token的情况,则采用空值进行填充。在训练过程中,GPT-3不仅能够识别并处理这些填充项,并且能够根据上下文信息对这些项进行合理的上下文扩展以提高生成效果。然而,在实际应用中发现,在大多数情况下(尤其是当处理文本信息时),这种填充值往往不会影响最终的结果质量,并且在不影响整体准确性的情况下可以被合理地忽略或删除以简化处理流程

例如:

好好学习,天->天

好好学习,天天->向

好好学习,天天向->上

好好学习,天天向上->。

3.2 模型结构

该段落采用了解码器架构遵循GPT系列模型设计思路,在研究不同参数规模对系统性能影响的基础上提出了多套模型设计方案。具体而言:n_params分别表示各方案下的参数数量;n_layers为网络层数设置;d_model指定了每层线性变换空间维度;n_heads对应着多头注意力机制数目;d_head则指定了单个注意力头的空间维度设置。

3.3 训练策略

通过预训练机制实施。利用无监督学习方法对模型进行预训练。 该阶段的目标旨在从左至右完成无条件文本的生成任务。

通过分布式训练方法,在配备V100 GPU的环境中进行模型训练。借助模型在矩阵乘法及不同隐藏层之间的计算并行性,实现加速以避免内存溢出。

四、GPT-3的数据组成、处理方式

4.1 数据组成

从表格中可以看出GPT-3的数据构成情况。其中'Weight in training mix'表示训练过程中从特定数据源中选取样本的比例。值得注意的是,在训练过程中,样本选取频率与数据量无直接关系;相反地,则主要受数据重要性的影响。

4.2 数据处理方式

分为四步:

第一步

B. 对训练语料去重:进行语料库去重处理,在内部数据集和跨数据集之间实施模糊文档去除重复操作。具体来说,在内部数据集中识别并去除明显重复的内容,在跨数据集中通过对比分析剔除高度相似的内容。首先使用MinHash算法计算各文档之间的相似度分数,并根据设定的标准筛选出需要删除的高相似度文档。

C. 对训练语料中与测试集/验证集存在重叠的部分进行去重处理:去除训练文档中与验证集和测试集中存在相同样例的部分;具体操作为:若某训练文档与其对应的验证集及测试集中存在13-gram匹配,则去除该文档中与匹配段落相关的13-gram及其前后各200个字节内容,并将该文档在匹配位置分割为片段,并去除片段长度小于200个字节的部分。对于分割后产生超过10个片段的文档,则予以删除。

在训练数据中增加了若干高质量的数据集,并包含WebText数据集的增强版本以及两个基于互联网的图书语料库(Books1和Books2),这些资源还包括英语维基百科作为参考材料。

五、GPT-3的实验有哪些,出于什么考虑,有什么细节,有什么结论

本节将介绍语言模型体系、补全练习以及完成任务这三个核心模块,并结合...数学公式进行深入阐述

测试模型完成句子的能力

实验

5.1.1 Language Modeling

Zero-shot在Penn Tree Bank (PTB)数据集上达到了新的SOTA

5.1.2 Cloze

本研究在LAMBADA数据集上展开实验以评估模型对文本长距离关联关系的理解能力——实验要求模型基于一段上下文推断句子末尾词汇。通过少样本学习单样本学习以及零样本学习方法研究发现无论采用哪种方法均实现了该任务的新最佳准确率

5.1.3 Completion Tasks

本文基于HellaSwag和StoryCloze两个数据集进行了实验。三种方法在两个数据集上均展现了良好的性能。

整体而言,实验证明了GPT-3在这一系列任务中表现优异;特别值得注意的是,在这类任务中,在多个基准数据集上达到了当前最佳水平(SOTA)。

Few-shot,Zero-shot以及One-shot在该系列任务上都能取得可观的成绩;

Few-shot比Zero-shot比One-shot表现更好;

结论

模型完成该类任务的能力较强;

模型在该任务上的能力随着给出的样例数增加而增加;

模型的能力随着模型的大小增加;

5.2封闭域问答系统(Closed Book Question Answering

检测GPT-3回答一些广泛事实知识的能力

实验

本文无需借助辅助知识来达成QA任务,并因此命名为closed-book QA。
同时将其应用于三个数据集:NaturalQS、WebQS和TriviaQA上的实验。

通过少量样本训练的新模型在TriviaQA数据集上达到了当前最佳水平(SOTA),其性能与现有最优水平相当;在零样本学习任务中表现出色,在经过微调优化的其他模型之上

One-shot和Zero-shot在另外两个数据集上表现都很差;

本研究通过实证分析证实了Few-shot方法在该系列任务中的有效性;此外,在多个基准数据集上,该方法达到了A100%准确率。

Few-shot比Zero-shot比One-shot表现更好;

结论

样例对于模型理解该类任务很重要;

模型在该任务上的能力随着给出的样例数增加而增加;

模型的能力随着模型的大小增加;

模型储存了大量事实知识;

5.3机器翻译(Translation

GPT-3在GPT-2的基础上增加了对多种语言的数据处理能力。 该任务旨在评估GPT-3在多语言数据处理方面的性能。

实验

当使用其他语言进行到英语翻译时,在这些数据集上,Few-shot能够表现出显著效果,并实现了新的SOTA。

在跨语言翻译任务中进行英到其他语言转换时,该模型表现出色程度有限.其性能与基于广泛标注数据的传统方法相比存在显著差距;同时,经过微调优化后的一般模型上获得的结果亦不理想.

在双侧翻译时,Zero-shot取得的成绩都非常差。

Few-shot比Zero-shot比One-shot表现更好;

结论

GPT-3在语言处理方面存在显著偏向。具体原因可能在于该系统采用了一个基于英语语料开发的分隔符。这一分隔符主要由英语领域的大量数据支撑设计而成。

不给出样例时,模型不能正确的理解任务;

模型在该任务上的能力随着给出的样例数增加而增加;

模型的能力随着模型的大小增加;

5.4Winograd风格的任务(Winograd-Style Tasks

该任务旨在评估模型对语言的理解能力。该任务由两个句子构成,并包含一个细微差别随后提出一个问题。 机器必须识别问题中所涉及的前指关系即确定问题中某一代词的先行词是什么。 只有当机器真正理解人类语言并进行常识推理时才能正确解答此类问题。

实验

基于简单的Winograd基准数据集,在三个不同的学习方案中,模型均展现出与当前最佳水平相当的表现。值得注意的是,在具体得分方面,其中一种方案(One-shot)的表现优于其他两种(Few-shot)。

在具有挑战性的Winogrande (XL)数据集上, 该模型展现出显著的成绩, 并仍与当前最优技术(SOTA)存在一定差距; 在该数据集上, 模型获得的分数与其提供的样例数量相关;

结论

模型已经初步具备理解语言,并进行推理的能力;

推理能力随着模型大小的增加而增加;

5.5常识推理(Common Sense Reasoning

检测模型是否具有科学知识,并能进一步基于这些知识进行推理

实验

模型在该系列任务上展示出不一致的结果。

在难度较高的 ARC (Challenge) 数据集上运行该模型时发现,在即便提供少量示例的情况下仍能取得显著效果的现象较少。进一步分析表明,在不同 shot 类型(包括 few-shot、one-shot 和 zero-shot),其性能差异较小。

基于基础数据集的实验结果表明,在该模型在ARC (Easy)上的表现较好;然而,相较于经过微调后的模型仍存在显著差距;Zero-shot、One-shot和Few-shot策略间的差异不大。

结论

模型的能力没有随着给出的样例增加而增加;

推理能力随着模型大小的增加而增加;

在较难的问题上,模型的推理能力较差;

在该任务领域中,该模型的表现较为薄弱,在与现有最优水平(SOTA)相比存在明显差距,并且这表明该模型在科学知识方面的储备尚显不足。

5.6阅读理解(Reading Comprehension

实验

在自由会话数据集CoQA上通过提供一些样例后,该模型达到了与最先进的基准相当的性能。即使未提供示例的情况下,在这一数据集上依然表现出良好的性能水平。

在其它五个数据集上,模型取得了较差的成绩,和SOTA差距非常大;

在QuAC数据集上取得了最差的结果

Few-shot比Zero-shot比One-shot表现更好;

结论

模型的能力随着给出的样例增加而增加;

模型的能力与回答问题的格式相关;

在该系列任务中进行评估时发现,在这项系列任务上进行评估时发现,在该系列任务上进行评估时发现

推理能力随着模型大小的增加而增加;

5.7SuperGLUE

为了更好地整合NLP任务的表现,并采用系统化的方法对比分析与其他流行模型如BERT和RoBERTa的性能,在标准化的数据集框架(SuperGLUE)中评估了GPT-3的能力。

实验

该模型在COPA和ReCoRD数据集上达到最优效果,并在与SOTA不相上下方面展现了优势。

在WiC数据集上表现最差,和SOTA之间有较大差距;

在大多数模型中应用Few-shot方法能够展现出显著的效果,并且其性能超越了经过微调后的BERT-Large模型。

在该系列任务序列中,在逐步提升所给样例数量后发现,在该序列中使用GPT-3的方法表现超越了经过微调的BERT-Large模型的结果。

结论

模型的能力随着给出的样例增加而稍有增加;

在处理对两个句子或片段进行比较的任务时,该模型的效果较为薄弱。例如,在判断单词在两个句子中是否被以相同方式进行使用(如WiC任务),以及判断一个句子是否为另一个句子的同义表达或隐含指向时;

推理能力随着模型大小的增加而增加;

上下文学习有效;

5.8自然语言推理(Natural Language Inference)

进一步,该任务检测模型理解两个句子之间关系的能力。

实验

无论怎样调整参数,在RTE(二类)数据集上GPT-3得分仅达到56%,仅略高于随机猜测水平的50%。

在更具挑战性的ANLI(三类)数据集上,在该任务中使用One-shot和Zero-shot策略所得出的结果均逼近随机猜测的答案(33%),而采用Few-shot策略则略高于这一水平。

逐步提升在该方法中的训练样本数量后,在GPT-3上实现性能显著高于了随机基准,并整体水平仍有待提升;与现有最优算法(SOTA)相比仍显不足,在传统模型经过微调优化后仍无法企及。

结论

在那些需要比较两个句子或片段的任务中,模型的效果不够理想。

5.9综合和定性任务(Synthetic and Qualitative Tasks)

通过让人工智能系统执行实时计算推理任务、识别出训练数据中未曾涉及的模式特征以及迅速适应异常或未预期的任务等操作来分析GPT-3在学习过程中发展出了哪些核心能力

5.9.1 Arithmetic

检测模型的算术能力

实验

GPT-3在两到三位数的加减法上面取得了近似满分的成绩;

随着位数的增加,准确率逐渐降低,在三位数加减时,准确率骤降;

在乘法操作上准确率低,在20%左右;

小模型在该类任务上表现非常差;

Zero-shirt与One-shirt的表现相较于仅依赖单个样本训练(Few-shirt)的方法而言表现相对较低

结论

总体而言,GPT-3在显示出适度复杂的算术能力;

任务的适应(或至少对任务的识别)对于正确执行这些计算很重要;

5.9.2 Word Scrambling and Manipulation Tasks

检测模型的模式匹配和计算能力

实验

Few-shot优于One-shot和Zero-shot,但在该系列任务上表现仍然较差;

小模型在该类任务上表现非常差;

One-shot和Zero-shot的表现非常差;

5.9.3 SAT Analogies

检测模型在和典型文本分布不同的任务上的表现

实验

GPT-3在三种设置下取得了50%-65%的成绩;

随着给出的样例增加,分数越高,Few-shot甚至取得了及格线以上的成绩;

小模型表现差;

5.9.4 News Article Generation

实验

当模型参数数量提升时,人类能够正确识别模型生成文本的准确性持续减少。

对于GPT-3生成的文本,人类识别的准确率只有52%;

对于故意生成的长文章,人类可正确识别出的概率是88%;

结论

GPT-3生成的文本可以以假乱真;

5.9.5 Learning and Using Novel Words and Correcting English Grammar

结论

总体而言,GPT-3精通在句子中使用新单词;

总结

该系统具备较强的生成能力,并且其生成质量会随着提供的样例数量及模型参数规模的提升而显著增强。在处理长新闻内容时表现出色,在假设计算机输出方面具有高度逼真性的同时也具备一定的代码生成能力。然而,在知识体系构建方面存在明显不足之处:尽管在事实领域储备较为丰富,在科学知识领域则表现欠佳;无法有效运用相关知识进行深度推理分析。值得注意的是,在多语言翻译任务中显示出明显优势:能够将其他语言准确地转换为英语,并且这种优势会随着模型规模和训练样本数量的增加而进一步强化;而在将英语翻译成其他语言的任务中则表现平平;此外还需要指出的是,在涉及常识推理与精细阅读理解方面仍存在明显短板:这一现象可能源于其作为单向语言模型的本质特性——即无法对文档内容进行回顾、比较或深入精读分析等基础操作;从实验数据来看,在大多数典型任务场景下若提供充足样例支持,则该系统的性能已显著超越经过微调优化后的主流模型;值得注意的是系统还展现出一定程度的学习自主性:能够相对独立地应对未曾见过的新任务,并识别出其中存在的简单规律;总体而言该系统知识储备丰富、生成能力强、具备自主学习潜力,并已实现基本的人类语言理解功能

六、GPT-3有什么缺陷,未来可能可以做什么

缺陷

在生成效果方面方面虽然整体质量和较高水平但在实际应用中仍存在一些问题具体表现为:一是重复生成现象较为明显二是处理长段落时往往难以保持良好的连贯性和逻辑性有时会导致前后内容自相矛盾甚至出现明显不合逻辑的句子或段落

2 GPT-3不擅长基础物理知识,在解答"将芝士放入冰箱是否会融化"等日常物理问题时表现出困难;

即使提供一些实例,该方法在某些特定任务中的效果仍有待提升,尤其是涉及比较的任务。例如,在判断两个单词是否在同一个句子中被用作相同词性时,或者判断一个句子是否隐含地表达了另一个(分别指WIC和ANLI)时,上下文学习的表现尚不理想。其主要原因可能在于第4点。

4 GPT-3存在一些结构性和算法上的局限性, 这些缺陷有助于解释文中提出的一些问题。首先, GPT-3是一个单向的语言模型, 因此, 对于那些需要回看文本内容、对比不同的文本片段, 并在多次阅读后才能生成相应回答的任务, 其处理效果较为有限;

5 GPT-3同样受到训练目标的限制;

6 预训练的样本质量比较差,效率低;

7 难以判断few-shot学习在推理过程中是否从零开始学习新任务,或者它仅仅用于识别训练阶段所涉及的任务;

8 模型太大,推理成本太高;

9 不具有可解释性;

未来的方向

构建一个GPT-3级别的双模态语言模型,并采用fine-tune或in-context learning策略相结合。

当前的训练目标采用等权重的方式对各个标记进行评估,并未涉及对于关键术语与非关键术语之间区别的预测;人类如何在语言中区分重要信息与非重要信息的问题?

3 重新构建模仿人类学习的目标函数框架,并利用强化学习进行模型微调以补充多模态知识如图像数据;

七、GPT-3这篇论文在预训练时代的意义是什么

1 不断革新人机协作模式。如程序开发领域所示,在未来阶段中仅需开发者设定需求。人工智能系统则会自动化地处理从设计到上线的全过程。从而使得项目周期大幅缩短;

2 让AI像人类一样学习和思考;

由于计算成本大幅降低, 大模型逐渐逼近人工智能的终极形态, 并为人类解决各种复杂问题提供了强大的工具支持.

4 破坏了传统预训练与微调结合的传统模式,并推动了大规模通用模型的构建工作。该研究开创性地引领了大规模语言模型的发展时代。

全部评论 (0)

还没有任何评论哟~