Press "Enter" to skip to content

GPT-3:语言模型的少样本学习?

在过去几年中,人工智能和机器学习行业目睹了自然语言处理系统的快速发展和应用,研究人员能够以高度灵活和任务无关的方式实施自然语言处理实践,用于下游的转移任务。

最初,使用单层表示,将词向量输入到任务特定的架构中。接下来,使用多层表示和上下文状态的循环神经网络架构形成更好的表示。最近,我们有了转移语言模型或预训练的循环模型,通过微调这些网络完全不需要任务特定的架构。

转移语言模型已经证明是自然语言处理行业的一个重要转折点,因为它们在回答问题、阅读理解或文本块、文本蕴涵等具有挑战性的任务上取得了巨大的进展。

然而,尽管具有优势,转移语言模型也有一个重大限制,就是需要任务特定的微调或任务特定的数据集才能在任务上获得所需的性能。此外,转移语言模型还需要开发人员微调数十万个特定于特定任务的示例数据集。

不言而喻的是,消除对任务特定数据集和任务特定微调的要求对自然语言处理行业来说将是非常理想和有益的,理由有很多。

现有预训练转移语言模型或循环模型存在的问题

  • 限制可行性和适用性

首先,每个任务都需要一个具有标注数据的大型数据集的要求限制了语言模型的适用性和实用性。语言模型在各种任务中都有应用,从生成短篇故事到纠正语法错误,再到为概念生成示例。有时,收集具有标注数据的大型监督数据集是一项具有挑战性的任务,特别是当这个过程需要为每个单独的任务重复进行时。

  • 利用训练数据中的偶然相关性

训练分布的局限性和模型的表达能力,结合起来可以导致在训练数据中利用偶然相关性的潜力增长。利用训练数据的潜力可能会导致在微调和预训练范式中出现问题,因为转移语言模型的设计方式是在预训练过程中吸收大量信息。

此外,对先前模型的研究表明,大型模型并不总是每次都能得到更好的外推结果。此外,还指出,在这种范式下实现的泛化可能导致性能不佳,主要是因为模型对训练数据的范围之外的情况不具备良好的性能。

  • 与人类学习的比较

最后,与转移语言模型相比,人类在学习大多数语言任务时不需要大型训练数据集。通常,一个人的自然语言简短指令或一小段语言任务演示就足以让人理解并完成语言任务,并具备一定的竞争力。

人类的适应能力具有许多实际优势,因为它使他们能够在不同的技能集之间切换或将它们混合在一起,在方言中表现得更好,而这是当前自然语言处理系统所无法做到的。

应对元学习和GPT-3的问题

解决上述挑战的一个可能的解决方案是使用元学习,这是现代机器学习中的一个概念,允许模型在训练过程中发展更大、更广泛的技能和识别模式的能力,然后在干预期间使用这些学到的能力来快速适应或识别所需的任务。

元学习通过一种称为“上下文学习”的技术在语言模型架构中得到实施,该技术使用预训练语言模型的文本输入作为任务规范。在这个过程中,模型根据自然语言指令进行条件化,甚至可能使用一些示范,然后预测任务的其余部分。

元学习唯一的主要问题是,尽管它显示出积极的潜力,但仍然不如自然语言架构中的微调方法,需要进一步改进才能成为克服语言任务的一种实用方法。

除了元学习之外,另一种越来越受欢迎的方法是增加变压器语言模型的容量。在过去几年中,传输模型的容量大幅增加,其中包括拥有1亿参数的RNSS18模型,拥有3亿参数的DCLT18模型,拥有15亿参数的RWC19模型,拥有80亿参数的SSP19模型,拥有110亿参数的RSR19模型,以及拥有170亿参数的TUR20模型。

增加模型容量或增加参数在文本合成方面历来都能带来改进,并且有迹象表明,与下游任务相关的对数损失也随规模的扩大而呈现出平滑的改进趋势。

这带我们来谈谈拥有1750亿参数的GPT-3模型,它是推理语言模型中容量最高的模型。现在让我们来了解一下GPT-3模型。

GPT-3模型简介

GPT-3是一个具有1750亿参数的自回归语言模型,由OpenAI于2020年发布。GPT-3也被归类为大型语言模型,就像它的前身GPT-2模型一样,它是一个仅包含解码器的深度学习变压器模型,使用卷积架构生成文本数据。

GPT-3模型评估其自身的上下文学习能力,并在两打以上自然语言处理数据集和多个新任务上对GPT-3模型进行评估。对于每个单独的任务,GPT-3模型在以下三种条件下进行评估:

  • 少样本学习或上下文学习:在少样本学习中,GPT-3模型允许尽可能多的分布适应模型的上下文窗口。
  • 单样本学习:在单样本学习中,模型只允许一次演示。
  • 零样本学习:在零样本学习中,没有演示,只有一条自然语言指令输入模型。

GPT-3:语言模型的少样本学习? 四海 第1张

总体而言,GPT-3模型在零样本和单样本设置中实现了期望的性能,在少样本设置中,大部分时间都优于最先进的传输模型。此外,GPT-3模型在零样本和单样本设置中表现良好,适用于测试即时推理的自然语言任务,如在句子后使用新词、解开单词乱序、执行算术运算等需要快速注意力的任务。另一方面,在少样本设置中,GPT-3模型生成的合成新闻文章在通过人工评估时类似于人类写作。

GPT-3:语言模型的少样本学习? 四海 第2张

GPT-3模型:方法

GPT-3模型采用传统的预训练方法,包括模型、数据和训练,它与RWC-19传输语言模型的预训练过程相似。GPT-3模型扩大了模型大小、数据集大小、数据集的多样性,并增加了训练期间的长度。

该模型还使用了一种上下文学习方法,再次类似于RWC-19模型的方法,但通过系统地探索数据集上上下文中不同的学习模式来进行了一些调整。

因此,让我们开始探索这些设置,并评估GTP-3模型在不同设置下的性能。

微调

微调模型一直是传输语言模型中的传统方法,该方法涉及通过在特定于所需任务的监督数据集上训练模型来更新预训练模型的权重,并在此过程中使用数十万个标记示例。

微调方法的好处是它在许多基准测试中都能提供较强的性能。另一方面,使用微调方法的主要限制是每个个体任务都需要一个新的大型数据集,有可能利用训练数据集的虚假特征,可能导致与人类性能的不公平比较,并且对于超出分布范围的泛化效果较差。

GPT-3 模型目前的范围不包括实现微调方法,因为它具有任务无关的性能,尽管将来可以对 GPT-3 模型应用微调方法。

少样本

少样本是指在干预期间给予 GPT-3 模型几个任务示例作为条件,但不更新模型的权重。在少样本设置中,数据集通常包含一个具有上下文和期望完成的示例(例如,一个法语句子及其英文翻译)。少样本设置给模型提供 K 个上下文和完成示例,然后提供模型一个最终的上下文,并期望模型提供完成结果。

使用少样本设置的主要优势是大大减少了对特定任务数据的需求,还减少了从大规模微调的大型数据集中学习狭窄分布的潜力。另一方面,使用少样本学习的主要缺点是与其他经过微调的先进模型相比,少样本设置下的结果不够理想,明显较差。

单样本

在单样本设置中,模型只提供一个示例,其余部分与少样本设置类似。单样本设置在迁移语言模型中是相关的,因为在所有三个设置中,单样本是最能符合人类任务交流方式的设置。这是因为在大多数任务中,通常只给出一个任务示例,否则可能很难理解任务的上下文。

零样本

在零样本设置中,没有示例,模型只提供描述任务的自然语言指令。零样本方法提供了最大的便利性,鲁棒性,并避免了虚假的相关性,但它也是这三个设置中最具挑战性的。这是因为在某些情况下,即使对我们人类来说,没有先看到示例,也很难弄清楚任务的上下文。

无论如何,对于某些任务,零样本设置最接近人类执行自然语言任务的方式。

GPT-3:语言模型的少样本学习? 四海 第3张

上图比较了在执行将英文句子翻译成法语的自然语言任务时,少样本、单样本和零样本设置之间的差异。

GPT-3:模型架构

GPT-3 模型使用与 GPT-2 模型相同的架构,包括预归一化、修改的初始化和可逆标记化技术,与 GPT 模型中使用的策略相似,但在转换器层中使用了一种替代的局部带状稀疏注意模式策略和交替的稠密层,类似于稀疏 Transformer。

为了研究模型性能与模型大小的依赖关系,开发人员训练了8个不同大小的模型,其参数范围从1.25亿到超过1750亿个参数,其中最后一个被称为 GPT-3 模型。与 LLM 模型相关的先前工作表明,随着足够多的训练数据,验证损失的缩放应该作为大小的平滑幂律函数。训练不同大小的模型允许开发人员测试假设,无论是下游语言任务还是验证损失。

GPT-3:语言模型的少样本学习? 四海 第4张

上图比较了用于开发 GPT-3 的8个不同模型的大小和架构。这里,n(params)定义了可训练模式的总数,n(layers)定义了模型中的总层数,d(model)定义了瓶颈层中每个单元的数量,d(head)定义了每个注意力头的维度。每个模型的上下文窗口都是相同的,为2048个标记。

此外,为了最小化节点之间的数据传输,模型沿着深度和宽度的维度在 GPU 上进行分区。每个模型的架构参数是基于计算效率和负载平衡选择的,以最大程度地提高在 GPU 上模型布局的精度。

训练数据集

通常,大型语言模型使用的数据集随着最近的发展而显著扩展,它们最终汇集成了Common Crawl数据集,该数据集包含超过一万亿个不同的词汇。该数据集的规模足够大,足以训练GPT-3模型,无需在相同序列上多次进行更新。然而,研究和性能分析表明,与经过精心筛选的数据集相比,轻度过滤版本或未过滤版本的Common Crawl数据集质量较低。

为了解决数据集平均质量的问题,开发者采取了3个步骤来提高数据集的质量。

  1. 开发者下载并过滤了一份基于高质量参考语料库类似范围的Common Crawl数据集的版本。
  2. 开发者在数据集的文档级别上执行模糊的重复处理,以保留其保留的验证集的完整性作为过拟合的有效度量,并防止冗余。
  3. 开发者还将高质量的参考语料库添加到训练数据中,以增加Common Crawl数据集的多样性。

下图显示了用于训练GPT-3模型的数据集的最终比例或混合。Common Crawl数据在过滤之前包含超过45TB的纯文本数据,过滤后减少到570GB的数据,大约相当于超过4000亿个字节对编码的标记。值得注意的是,在训练中,被视为高质量的数据集以更高的频率进行采样,而不是按照其大小进行采样。因此,像Books2和Common Crawl这样的数据集在训练过程中的采样次数较少,而其他数据集则采样多次。这使得模型能够在接受一小部分过拟合的同时,以更高质量的训练数据进行训练。

GPT-3:语言模型的少样本学习? 四海 第5张

大型预训练语言模型在大量互联网数据上进行预训练,并具有记忆和学习大量内容的能力,一个重要的问题是在预训练过程中,其开发或测试集是否会对下游任务造成潜在的污染。为了减少这种潜在的污染,开发者搜索了GPT-3所研究的基准测试集和开发集之间的任何重叠,并试图消除这些重叠。

GPT-3:语言模型的少样本学习? 四海 第6张

上图显示了GPT-3模型训练期间使用的总计算量。该模型使用神经语言模型的规模定律,在比典型情况下少量的标记上训练更大的模型。因此,无论是GPT-3模型还是比其小10倍的RoBERTa-Large模型,在预训练过程中每天都需要近50个拍千次的计算量。

评估

对于少样本学习,该模型通过从该任务的训练数据集中随机选择K个示例作为条件来评估评估数据集中的每个示例,并通过1个或2个换行符来界定它。对于Storycloze和LAMBADA,该模型从开发集中选择条件示例,并在测试集上进行评估,因为没有可用的监督训练集。对于Winograd,只有一个数据集,因此条件样本直接从该数据集中提取。

K可以是从0到模型上下文窗口允许的最大数量,对于所有模型来说,即next=2048,通常适合大约10到100个示例。较大的K值通常会产生更好的结果,但并不总是如此,这就是为什么当模型有一个可用的测试集和单独的开发集时,模型会在开发集上尝试几个K值,并根据结果在测试集上运行最佳值的原因。

此外,对于需要从多个选项中选择正确完成的任务,开发者会提供K个纠正加上上下文完成的示例,并提供一个仅包含上下文的示例,然后根据每个完成的语言模型可能性对任务进行比较。对于需要二元分类的任务,模型通常会以更语义化、更有意义的名称提供选项,并将任务视为多项选择,并有时也会以RSR模型和架构所做的方式来设置任务。

对于需要自由形式完成的任务,模型使用与RSR框架中相同的参数进行波束搜索,波束长度为4,惩罚系数为0.6。然后,根据数据集的标准,使用F1相似度得分、完全匹配或BLEU对模型进行评分。

结果

GPT-3:语言模型的少样本学习? 四海 第7张

上图显示了GPT-3模型架构中使用的8个模型的训练曲线,如前几节所述。与KMH语言模型的结果类似,使用有效的训练计算时,GPT-3模型的性能遵循适当的规律。只有当趋势扩展了两个数量级时,才存在轻微的差异。人们可能会认为交叉熵损失的改进可能是对训练语料库细节的建模结果。然而,交叉熵损失的改进导致了广泛范围的各种NLP任务整体性能的一致增益。

在对各种训练数据上评估这8个不同的模型之前,将数据集分为8个不同的类别,代表类似任务。这些类别包括:

  1. 评估传统的语言模型任务,以及类似语言模型的任务,如Cloze任务或句子/段落完成任务。
  2. 评估“闭卷”问答任务。
  3. 评估模型在语言之间的翻译能力(尤其是一次性和少次性)。
  4. 评估模型在Winograd模式类似任务上的表现。
  5. 评估涉及常识推理或问答的数据集。
  6. 评估阅读理解任务。
  7. 评估SuperGLUE基准套件。
  8. 探索NLI。

语言建模、完成和Cloze任务

在本节中,对GPT-3模型在传统的语言建模任务以及需要预测感兴趣单词、完成段落或句子或完成一段文本的任务上的表现进行评估。让我们简要讨论一下。

语言建模

GPT-3模型在PTB或Penn Tree Bank数据集上计算零样本困惑度。模型省略了与维基百科相关的任务,因为它已经包含在模型的训练数据中,而10亿词基准也被省略,因为它导致数据集在训练数据内部引发了显著的摩擦。然而,PTB数据集解决了这些问题,因为它可以追溯到现代互联网之前。GPT-3模型架构中最大的模型在PTB数据集上以15个点的显著优势实现了新的SOTA,并实现了20.50的困惑度。

LAMBADA

LAMBADA数据集用于测试模型在段落或文本中的长程依赖建模。这意味着在阅读段落以获取上下文后,要求模型预测句子的最后一个单词。此外,语言模型的连续扩展对基准测试的回报递减。

GPT-3:语言模型的少样本学习? 四海 第8张

GPT-3模型在LAMBADA上实现了76%的准确率,并比之前最好的模型提高了8%以上。此外,LAMBADA模型展示了少样本学习的灵活性,因为它以经典的方式解决了数据集中经常出现的问题。在LAMBADA中,句子的完成通常是句子的最后一个词,但是作为语言模型无法知道这一点,它不仅给正确的结尾赋予概率,还给段落中的其他连续性赋予概率。

此外,当提供给GPT-3模型的示例以某种方式进行修改时,模型的准确率超过86%,比之前的模型提高了18%以上。此外,结果还表明,模型在少样本设置中的性能与模型规模的增加成比例增加。尽管这种策略减少了GPT-3架构中最小的模型20%的大小,但它提高了拥有1750亿参数的主要GPT-3模型的准确率10%。

封闭式问题回答

封闭式问题回答是为了衡量GPT-3模型在基于广泛事实知识的问题回答能力上的尝试。由于此类问题通常具有大量可能的查询,因此通常使用信息检索系统来实现该任务,该系统允许模型在找到相关文本的同时,学习生成对检索到的文本和问题给出答案的响应。

GPT-3:语言模型的少样本学习? 四海 第9张

上图比较了GPT-3模型与不同模型在不同数据集上的结果。在TriviaQA数据集上,该模型在零样本设置下实现了64.3%的准确率,而在一次样本和少次样本设置下,准确率分别为68%和71.2%。

显然可以看出,在零样本设置下,GPT-3模型的表现优于微调的T5-11B模型超过14%。

GPT-3:语言模型的少样本学习? 四海 第10张

上图显示了GPT-3模型在模型规模增加时表现的平滑增长。这一表现表明,随着容量的增加,语言模型继续从数据集中学习。

最后的思考

<p可以说,GPT-3是LLM行业的一个革命性阶段,因为GPT-3帮助推动了语言模型能够完成的极限。正是GPT-3的发展和克服的障碍为迄今为止最先进、最准确的大型语言模型GPT-4铺平了道路。

Leave a Reply

Your email address will not be published. Required fields are marked *