摘要
现有的预训练模型通常针对特定类别的问题。迄今为止,关于何种架构和预训练设置应为最佳似乎仍未达成共识。本文提出了一个统一的框架,用于预训练在多种数据集和设置中普遍有效的模型。我们首先将架构原型与预训练目标这两个常被混为一谈的概念进行分离。接着,我们为自然语言处理(NLP)中的自监督学习提供了一个广义且统一的视角,并展示了不同的预训练目标如何相互转换,以及在不同目标之间进行插值如何能够有效。随后,我们提出了混合去噪器(Mixture-of-Denoisers, MoD),这是一种将多种预训练范式结合在一起的预训练目标。此外,我们引入了模式切换的概念,其中下游的微调与特定的预训练方案相关联。我们进行了广泛的消融实验,以比较多种预训练目标,并发现我们的方法通过在多样的设置中超越T5和/或GPT类模型,推动了帕累托前沿。最后,通过将我们的模型扩展到200亿参数,我们在50个成熟的监督NLP任务上实现了最先进的性能,这些任务包括语言生成(通过自动和人工评估)、语言理解、文本分类、问答、常识推理、长文本推理、结构化知识基础和信息检索。我们的模型在上下文学习中也取得了强劲的成绩,在零样本SuperGLUE上超越了1750亿参数的GPT-3,并在一次性摘要上将T5-XXL的性能提高了三倍。我们在https://github.com/google-research/google-research/tree/master/ul2上发布了基于Flax的T5X模型检查点,适用于200亿参数的模型。
1. 简介
UL2(Unifying Language Learning Paradigms)是谷歌提出的一个统一语言学习范式框架,旨在通过结合多种预训练目标,训练出在不同数据集和任务中都表现出色的语言模型。
传统的预训练模型通常针对特定类型的任务进行优化,导致在处理多样化任务时表现不佳。UL2通过引入“去噪器混合”(Mixture-of-Denoisers,简称MoD)的预训练目标,将多种预训练范式融合在一起,增强了模型的通用性。 此外,UL2还引入了“模式切换”的概念,使下游微调与特定的预训练方案相关联,从而提高了模型在不同任务中的适应性。
在多项实验中,UL2在50个广泛使用的监督微调NLP任务上取得了领先性能。在上下文学习方面,UL2在零样本SuperGLUE测试中表现优异,超过了GPT-3 175B模型。此外,UL2在推理任务中也表现出色,使其在20B参数规模下成为研究推理任务的有吸引力的选择。
总的来说,UL2通过统一不同的语言学习范式,提供了一种在各种任务和设置中都表现出色的通用语言模型预训练框架。
通用模型的吸引力显而易见,这不仅因为集中精力改进和扩展单一模型比分散资源于N个模型更为高效,而且在资源受限的环境中(例如在设备上),能够服务于多种任务的单一预训练模型将是更优选择。
UL2模型的核心是新提出的混合去噪器(Mixture-of-Denoisers, MoD),这是一种预训练目标,能够在多种任务中实现强劲表现。MoD结合了几种成熟的去噪目标以及新引入的目标;即X-去噪(极端去噪),它考虑了极端的跨度长度和破坏率,S-去噪(顺序去噪),它严格遵循序列顺序,以及R-去噪(常规去噪),这是在(Raffel等,2019)中引入的标准跨度破坏目标。我们展示了MoD在概念上简单,但对于多样化的任务集极为有效。我们的方法利用了这样一个认识:大多数(如果不是全部)经过充分研究的预训练目标在模型所依赖的上下文类型上有所不同。例如,跨度破坏目标类似于调用多个前缀语言建模(PLM)区域(Liu等,2018;Raffel等,2019),其中前缀是未破坏标记的连续段,目标可以完全访问所有PLM段的前缀。当跨度接近完整序列长度时,该设置大致上是一个依赖于长距离上下文条件的语言建模目标。因此,我们能够设计一个预训练目标,平滑地插值这些不同的范式(跨度破坏与语言建模与前缀语言建模)。
同样容易看出,每种去噪器以不同的方式具有挑战性。它们在外推(或插值)的性质上也不同。例如,通过双向上下文(或未来)限制模型(即跨度破坏)使任务变得更容易,更类似于事实完成。同时,PrefixLM/LM目标通常更“开放”。通过监控这些不同去噪目标的交叉熵损失,可以轻松观察到这些行为。
鉴于MoD的表述,我们推测,我们的模型不仅在预训练期间区分不同的去噪器是有益的,而且在学习下游任务时自适应地切换模式也是有益的。我们引入了模式切换,这是一个新概念,它将预训练任务与专用的哨兵标记相关联,并允许通过离散提示进行动态模式切换。我们的模型在预训练后能够按需在R、S和X去噪器之间切换模式。
然后,我们将架构与自监督方案分离。虽然这可能是一个常见的误解,正如Raffel等(2019)先前指出的那样,预训练模型强烈地由其骨干架构(例如,仅解码器与编码器-解码器)所表征,我们发现去噪器的选择有更大的影响。MoD支持任何一种骨干架构,类似于T5的跨度破坏可以用仅解码器模型训练。因此,UL2对架构是不可知的。我们认为,骨干架构的选择主要是在不同效率指标之间的权衡。
我们在一套旨在捕捉不同问题表述(监督和基于提示的上下文少样本学习)的9个多样化任务上进行了系统和消融实验。我们在SuperGLUE套件(Wang等,2019)和GEM基准(Gehrmann等,2021)的三个任务上进行了实验。此外,我们评估了开放文本生成,以及所有任务上基于提示的一次性设置。在这个消融设置中,我们的实验结果显示,UL2在所有9个设置上都优于T5和GPT类基线。平均而言,UL2比T5基线高出+43.6%,比语言模型高出+76.1%。在所有考虑的其他竞争基线中,UL2是唯一一个在所有任务上都优于T5和GPT类模型的方法。
我们将UL2扩展到大约20B(确切地说是19.5)参数的中等规模设置,并在50多个NLP任务上进行了实验,这些任务涵盖了语言生成(通过自动和人工评估)、语言理解、文本分类、问答、常识推理、长文本推理、结构化知识基础和信息检索。我们的结果显示,UL2在绝大多数任务和设置上实现了最先进的性能。
最后,我们使用UL2进行了零/少样本实验,并显示UL2在零样本SuperGLUE上优于GPT-3 175B。与GLaM(Du等,2021)、PaLM(Chowdhery等,2022)和ST-MoE(Zoph等,2022)等最新的最先进模型相比,UL2在计算匹配的设置中仍然具有竞争力,尽管仅在C4语料库上训练,这已知不如(Du等,2021;Chowdhery等,2022)中使用的特别策划的数据集有效。我们深入了解了零样本和微调性能之间的权衡,并展示了UL2在两种学习范式方面都是帕累托有效的。在一次性摘要上,UL2将LM适应的T5 XXL模型的性能提高了三倍,并且在相同的计算成本下与PaLM和LaMDA竞争(或超越)。我们发布了基于T5X的Flax检查点的训练UL2模型。
2 背景:预训练语言模型
在本节中,我们将讨论预训练语言模型、预训练目标以及其他统一预训练提案的背景。
2.1 预训练语言模型
学习语言的预训练表示是现代自然语言处理(NLP)研究的一个深远支柱,可以追溯到(Mikolov等,2013;Pennington等,2014;Neumann等,2018;Dai & Le,2015;Howard & Ruder,2018)。第一个预训练的Transformer,GPT,由(Radford等,2019)提出,并作为因果语言模型进行训练。随后,BERT(Devlin等,2018)证明了双向建模对于许多下游任务的重要性。BERT引入了掩码语言建模(MLM),这是一种去噪目标,使用双向感受野就地重建输入。XLNet(Yang等,2019)引入了排列语言建模,以考虑训练期间掩码标记之间的依赖关系。许多其他论文(例如,RoBERTA(Liu等,2019),SpanBERT(Joshi等,2020))提出了对预训练过程的进一步改进。
同时,像T5(Raffel等,2019)这样的双栈编码器-解码器架构由于在分类和序列到序列(“seq2seq”)任务上的改进性能而变得流行。然而,到目前为止,这些模型在开放文本生成和基于提示的推理(即上下文学习)方面表现有限,这促使使用不同目标训练的仅解码器模型(例如,GPT-3(Brown等,2020),GLaM(Du等,2021),LaMDa(Thoppilan等,2022)和PaLM(Chowdhery等,2022))。在本工作中,我们旨在通过一个适合两种架构的通用训练范式来弥合两者之间的性能差距。
仅解码器与仅编码器 仅解码器和仅编码器架构的关键相似之处在于,仅解码器架构使用输入到目标范式或如果使用CausalLM而不是PrefixLM,则使用仅目标范式。对于这两种架构,目标始终是预测下一个标记(LM),因此它们是自回归模型。值得注意的是,这与位置掩码LM去噪(有时称为自动编码)不同,后者已被仅编码器BERT风格模型所普及。这类模型在生成能力上非常受限。此外,下游任务通常还使用特定任务的分类头。由于特定任务分类头的繁琐性,我们强烈不建议继续使用这类自动编码模型,并认为它们有些过时。当然也有例外。例如,回归可能是添加特定任务头的唯一原因(Lees等,2022),或者为了从消除完整词汇表中挤出一些效率增益。无论如何,人们总是可以从编码器-解码器开始,然后稍后去掉解码器,因此没有理由使用仅编码器模型。因此,这里唯一真正的客观考虑是在仅解码器和编码器-解码器架构之间。
仅解码器与编码器-解码器 仅解码器和编码器-解码器模型之间的界限不太清晰。PrefixLM模型几乎是与共享参数的编码器-解码器模型(但不完全是)。从归纳偏置的角度来看,存在多个差异。编码器-解码器模型使用不同的参数集独立处理输入和目标。这是一种稀疏性形式,其中不同的参数集用于不同的标记。编码器-解码器模型还具有将输入标记连接到目标标记的交叉注意力组件。同时,仅解码器模型通过连接输入和目标来处理它们。因此,随着输入/目标在网络中传播,输入和目标的表示逐层同时构建。相反,编码器-解码器模型中的解码器通常只查看完全处理的编码器输入。总体而言,PrefixLM仅解码器模型和编码器-解码器模型的归纳偏置可能非常相似,除了上述细微差异。独特的属性是,当计算匹配时,编码器-解码器模型的参数通常是仅解码器模型的大约两倍。
稀疏模型 另外,稀疏预训练模型也出现了一个新兴趋势,这些模型实现了最先进的性能。如Switch Transformer(Fedus等,2021)、GLaM(Du等,2021)和/或GShard(Lepikhin等,2020)等稀疏专家混合模型也展示了许多前景。虽然与预训练目标的主题正交,稀疏模型实现了与密集模型非常不同的每参数浮点运算比率——这是围绕编码器-解码器模型与仅解码器模型辩论中的一个核心反复出现的主题。
2.2 大型语言模型的预训练目标
虽然最近的研究展示了大型监督多任务预训练的潜力(Aribandi等,2021;Sanh等,2021;Wang等,2022),但大多数预训练目标依赖于大量无监督数据的可用性,并使用自训练技术。如上所述,不同的架构通常利用不同的目标。仅解码器模型通常使用因果语言模型目标进行训练,以模仿自回归生成(Radford等,2019)。Raffel等(2019)探索了编码器-解码器模型的许多目标,并发现跨度破坏是有效的。(Wang等,2022)对结合三种不同预训练目标(因果LM、prefixLM和跨度破坏)的不同架构进行了系统研究,并分析了它们对零样本泛化的影响。与我们提出的X-去噪器相关,(Wettig等,2022)研究了BERT风格掩码语言建模中破坏率的影响,并假设这提高了样本效率,同时有利于更大的模型。值得注意的是,作为独立去噪器的高破坏率的好处仍然不清楚,正如(Raffel等,2019)所指出的,并且在我们自己的消融实验中也显而易见。预训练(或去噪)通常应用于子词级别(Raffel等,2019;Devlin等,2018),但值得注意的是,它也已应用于字符或字节级别(Xue等,2021;Tay等,2021c)。在这些设置中,破坏的跨度通常比基于子词的去噪大得多。
2.3 统一预训练提案
UniLM(Dong等,2019)提出使用单个Transformer模型训练多种语言建模目标。具体来说,UniLM训练单向LM、双向LM和seq2seq LM。这与将自回归LM与BERT和prefix-LM模型结合起来非常相似。值得注意的是,UniLM使用填空式公式进行训练,该公式向输入添加显式掩码标记。然后通过预测标记和目标标记在位置上的差异计算损失。除了预训练统一外,最近还出现了主题统一的趋势,即将常见任务统一到一个模型中。这些例子包括用于常识推理的UNICORN(Lourie等,2021)、用于问答的UnifiedQA(Khashabi等,2020,2022)、用于问题解决的Programming Puzzles(Schuster等,2021b)和用于结构化知识基础的UnifiedSKG(Xie等,2022)。
3 统一语言学习范式(UL2)
本节描述了UL2框架以及我们在本文其余部分研究的预训练目标。
3.1 预训练
本节讨论了提出的预训练目标。
3.1.1 预训练任务的统一视角
许多预训练任务可以简单地表述为“输入到目标”任务,其中输入指的是模型所依赖的任何形式的记忆或上下文,目标是模型的预期输出。语言模型使用所有先前的时间步作为模型的输入来预测下一个标记,这是目标。在跨度破坏中,模型利用过去和未来的所有未破坏标记作为输入来预测破坏的跨度(目标)。Prefix-LMs是使用过去标记作为输入的语言模型,但双向消耗输入:这比普通LM中的单向输入编码提供了更多的建模能力。
鉴于这一视角,我们可以近似地将一个预训练目标简化为另一个。例如,在跨度破坏目标中,当破坏的跨度,即目标,等于整个序列时,问题实际上变成了语言建模问题。考虑到这一点,通过设置跨度长度较大,我们可以有效地在局部区域模仿LM目标。
我们定义了一种符号,涵盖了本文中使用的所有不同去噪任务。去噪任务的输入和目标由SPANCoRRUPT函数生成,该函数由三个值 ( μ , r , n ) ( \mu , r , n ) (μ,r,n)参数化。其中,μ表示跨度长度的平均值,r表示破坏率,n表示破坏跨度的数量。注意,n可能是输入长度L和跨度长度μ的函数,例如 L / μ , L / \mu , L/μ,但在某些情况下,我们使用固定的n值。给定一个输入文本,SPANCoRRUPT会引入跨度的破坏,这些跨度的长度是从均值为μ的(正态或均匀)分布中抽取的。破坏后,输入文本被送入去噪任务,破坏的跨度被用作需要恢复的目标。
例如,要使用此公式构建类似于因果语言建模的目标,只需设置 ( μ = L , r = 1.0 , n = 1 ) ( \mu = L , r = 1 . 0 , n = 1 ) (μ=L,r=1.0,n=1),即一个跨度长度等于序列长度的单一跨度。要表达类似于Prefix LM目标的目标,可以设置 ( μ = L − P ( \mu = L - P (μ=L−P r = 1.0 − P / L , n = 1 ) r = 1 . 0 - P / L , n = 1 ) r=1.0−P/L,n=1),其中P是前缀的长度,并附加约束条件,即单一破坏跨度始终延伸到序列的末尾。
我们注意到,这种输入到目标的公式可以应用于编码器-解码器模型和单栈Transformer模型(例如,解码器模型)。我们选择预测下一个目标标记的模型,而不是那些就地预测的模型(例如,在BERT中预测当前掩码标记),因为下一个目标的公式更为通用,可以涵盖更多任务,而不需要使用特殊的“CLS”标记和特定任务的投影头。
3.1.2 混合去噪器
我们推测,一个强大的通用模型在预训练期间必须暴露于解决各种问题。鉴于预训练是通过自监督完成的,我们认为这种多样性应该注入到模型的目标中,否则模型可能会缺乏某些能力,如生成长连贯文本。
受此启发,以及当前类别的目标函数,我们定义了预训练期间使用的三种主要范式:
- R-去噪器 - 常规去噪是Raffel等(2019)引入的标准跨度破坏,使用2到5个标记作为跨度长度,掩码约15%的输入标记。这些跨度较短,可能有助于获取知识,而不是学习生成流畅文本。
- S-去噪器 - 去噪的一种特殊情况,在构建输入到目标的任务时,我们观察到严格的顺序,即前缀语言建模。为此,我们简单地将输入序列划分为两个子序列作为上下文和目标,使得目标不依赖于未来信息。这与标准跨度破坏不同,后者可能存在目标标记早于上下文标记的情况。注意,与Prefix-LM设置类似,上下文(前缀)保留双向感受野。我们注意到,具有非常短记忆或无记忆的S-去噪与标准因果语言建模有相似之处。
- X-去噪器 - 去噪的极端版本,模型必须从输入的一小部分或中等部分恢复大部分输入。这模拟了模型需要从信息相对有限的记忆中生成长目标的情况。为此,我们选择包括具有激进去噪的示例,其中约50%的输入序列被掩码。这是通过增加跨度长度和/或破坏率来实现的。如果预训练任务具有长跨度(例如,≥12个标记)或大破坏率(例如,≥30%),我们则认为该任务是极端的。X-去噪的动机是作为常规跨度破坏和语言模型目标之间的插值。
这组去噪器与之前使用的目标函数有很强的联系:R-去噪是T5跨度破坏目标,S-去噪与类似GPT的因果语言模型相关,X-去噪可以使模型暴露于T5和因果LM目标的组合中。值得注意的是,X-去噪器也与提高样本效率相关,因为每个样本中预测的标记更多,与LM的精神相似。我们建议以统一的方式混合所有这些任务,并具有混合自监督目标。最终目标是7个去噪器的混合,配置如下:
对于X-和R-去噪器,跨度长度从均值为μ的正态分布中采样。
对于S-去噪器,我们使用均匀分布,将破坏跨度的数量固定为1,并附加一个约束条件,即破坏跨度应结束于原始输入文本的末尾,也就是说,在破坏部分之后不应出现未裁剪的标记。这大致等同于序列到序列(seq2seq)去噪或Prefix LM预训练目标。
由于语言模型(LM)是前缀语言模型(Prefix-LM)的一种特殊情况,我们认为没有必要将因果LM任务纳入混合中。所有任务在混合中的参与比例大致相等。我们还探索了一种替代方案,即将S-去噪器的数量增加到混合中去噪器的50%,其余去噪器占据剩余部分。我们将在后续章节中详细介绍各种设计选择的消融研究。
最终,混合去噪器(Mixture-of-Denoisers)的混合使其具有普遍强大的能力。单独来看,某些去噪器类型的表现并不理想。例如,原始的T5论文探索了50%破坏率(X-去噪)的选项,并发现其效果不佳。
UL2的混合去噪器实现简单,易于使用像seqio3(Roberts等,2022)这样的库来实现。有关实现的更多细节,请参阅附录。
3.1.3 模式切换
我们通过模式切换引入了范式转换的概念。在预训练期间,我们向模型提供一个额外的范式标记,即f[R], [S], [X],以帮助模型切换模式,使其更适合给定任务。对于微调和下游少样本学习,为了触发模型学习更好的解决方案,我们还根据下游任务的设置和要求添加范式标记。模式切换实际上将下游行为绑定到我们在上游训练期间使用的模式之一。
3.2 模型架构
UL2采用了一种与架构无关的理念。我们认为,在编码器-解码器与仅解码器架构之间的选择更多是效率的权衡,架构选择不应与预训练目标混淆。因此,我们同时拥有UL2解码器和UL2编码器-解码器,类似于每个模型有多种尺寸。我们将在实验部分详细讨论这种效率权衡。UL2采用了一个相当标准的T5 Transformer,并通过经受住时间考验的修改进行了增强,即GLU层(Shazeer,2020)和T5风格的相对注意力。为了不进一步混淆架构修改与预训练贡献,模型的骨干部分仍然类似于T5风格的模型。这也是基于(Narang等,2021)等结果。
4 消融实验
本节描述了我们的消融实验设置(例如,基线、数据集、实现细节)和结果。我们的总体发现表明,UL2在多个任务上优于T5风格和GPT风格的模型。
4.1 基线
对于预训练目标,我们与以下预训练基线进行比较:
- 因果语言模型(CLM) - 这是标准的从左到右的自回归语言模型预训练,用于许多标准的预训练模型,如GPT(Radford等,2019;Brown等,2020)。我们在实验中将其称为GPT风格模型。
- 前缀语言模型(PLM) - 这是因果语言模型的一个轻微变体,其中M具有双向感受野,由(Liu等,2018;Raffel等,2019)引入。我们均匀采样M的长度,并仅在自回归目标处计算损失。
- 跨度破坏(SC) - 这是T5(Raffel等,2019)中提出的标准去噪目标。其思想是删除某些文本部分并用哨兵标记替换它们。替换为哨兵标记的文本随后被复制到目标中,并由模型自回归生成。我们使用平均跨度为3和去噪率为15%的默认T5设置。
- 跨度破坏+语言模型(SCLM) - 我们在CLM和跨度破坏的混合中进行训练,混合比例相等。我们使用与SC相同的超参数。
- UniLM(ULM) - 这是Dong等(2019)提出的目标。与原始UniLM类似,我们混合了因果语言建模、前缀LM(序列到序列LM)和双向独立同分布去噪。我们选择生成掩码标记,而不是以填空或BERT风格训练UniLM。这使得该目标适用于仅解码器和编码器-解码器架构,并消除了微调时对特定任务线性头的需求。
对于所有目标,我们探索了单栈和编码器-解码器架构。所有架构都是以输入到目标的方式实现的,无论是编码器-解码器还是仅解码器模型结构,因为我们认为BERT风格的掩码语言建模预训练已经被这种预训练风格有效取代,正如(Raffel等,2019)中经验证的那样。特定任务的分类头也不推荐使用,因为它们显然违背了拥有通用模型的原则(并且也非常繁琐)。
4.2 实验设置
我们在多样化的监督和基于提示的少样本学习任务上进行了实验。
4.2.1 数据集和任务
我们使用的数据集包括SuperGLUE(Wang等,2019),包含8个自然语言理解(NLU)子任务。我们还在GEM基准(Gehrmann等,2021)上进行了实验,该基准专注于语言生成问题。我们任意选择了XSUM(摘要生成)、ToTTo(表格到文本生成)(Parikh等,2020)和Schema Guided Dialog(SGD)(Rastogi等,2019)进行实验。对于所有这些任务,我们评估了监督微调和基于提示的一次性学习。最后,我们还使用C4验证集上的困惑度分数比较了模型在文本生成方面的通用能力。我们相信我们的任务集涵盖了文献中的许多设置,包括监督和条件少样本学习。
4.2.2 指标和整体评估
对于SuperGLUE,我们报告了准确性、F1或精确匹配等成熟指标。对于GEM基准,我们使用Rouge-L指标。对于语言建模,我们报告负对数困惑度。模型的普遍性,即它们在所有任务中的集体表现,是这里的主要评估标准。为了从这个角度比较模型,我们需要一个综合性能评分。然而,我们包含的不同任务的指标在性质上有很大差异——例如,F1和困惑度。为了解决这个问题,我们选择报告并使用相对于基线的归一化相对增益作为整体指标。为此,我们使用标准语言模型(仅解码器)(GPT风格)和标准跨度去噪编码器-解码器(T5)作为主要基线,并报告所有方法相对于这些成熟候选者的相对性能。我们相信这是比较这些模型的最合适方法,因为它易于推理新模型在多大程度上优于流行设置(例如,GPT或T5风格)。我们还强调了整体增益是归一化的,因此这更难被利用或受到基准彩票效应的影响(Dehghani等,2021b)。
4.2.3 实施细节
我们的实验全部在 JAX/Flax(Bradbury 等人,2018)中使用开源的 T5X 框架(Roberts 等人,2022)和 Flaxformer 进行。我们在 C4 语料库上对所有模型进行了 50 万步的预训练,批量大小为 128,输入和目标序列长度均为 512。预训练期间总共处理的标记数量约为 320 亿。每次预训练通常使用 64 到 128 个 TPUv4 芯片(Jouppi 等人,2020)。我们使用 Adafactor 优化器(Shazeer & Stern,2018)并采用反平方根学习率。为了理解不同基础架构之间的权衡,我们在仅解码器架构和编码器-解码器架构上运行了所有基线预训练目标。我们报告了基于大约 1.67 亿参数的仅解码器模型和 3.35 亿参数的编码器-解码器模型的关键实验结果。所有模型都使用标准的 Transformer,并采用 SwiGLU 层(Shazeer,2020)。我们对所有模型使用默认的 T5 英文 32K sentencepiece。在仅解码器模型的情况下,除了在因果语言模型上训练的解码器模型外,我们的实验始终仅在输入段使用双向感受野,在目标段使用自回归解码。这本质上是一种 PrefixLM 类型的架构(Raffel 等人,2019),我们发现它始终优于完全因果解码器模型。
4.3 消融实验结果概述
表 2 报告了所有基准任务和数据集的原始结果。为了便于在不同设置之间进行比较,我们还报告了与公认的基线模型(如 T5 和 GPT 模型)的相对比较,分别见表 3 和表 4。
4.3.1 解码器与编码器-解码器
在深入讨论这一部分的结果之前,我们想提醒读者,解码器模型与编码器-解码器模型之间没有简单的比较方法。简而言之,我们可以在计算匹配的设置或参数匹配的方式下进行比较。因此,在这一组结果中,编码器-解码器模型的参数数量大约是解码器模型的两倍,但速度相似。
我们注意到,这可能略微偏向编码器-解码器模型,因为这可被解释为一种模型稀疏性形式。回到结果,当使用T5作为参考基线时,我们注意到,除了UL2解码器外,没有任何预训练的解码器模型优于T5。此外,整体相对性能下降了10%到30%。这里最好的解码器基线模型是Prefix-LM解码器模型,其性能比T5基线差约10%。从这些结果可以清楚地看出,编码器-解码器模型应优先于仅解码器模型,前提是存储不是问题,即参数数量通常不如实际吞吐量重要。
当存在参数限制时,Prefix-LM解码器是一个合适的替代方案。最后,一个有趣的数据点是我们如何将UL2解码器的性能提升到比T5编码器-解码器设置高出+14.6%。尽管如此,这个UL2解码器并未超越我们的UL2编码器-解码器。然而,这强化了我们的观点,即自监督目标可能本质上比骨干架构更重要,而架构选择的谈判主要是关于可以独立研究的效率权衡。
4.3.2 GPT和/或T5是最佳设置吗?
基于与GPT风格(因果LM + 解码器)和T5风格(跨度破坏 + 编码器-解码器)设置的相对比较,我们能够轻松识别这些成熟设置是否确实是最优或接近最优的。首先,因果LM(GPT风格)设置似乎是最差的配置,因为它被我们所有的基线模型超越。因此,我们建议尽可能至少使用Prefix-LM或UniLM进行训练。最好的仅解码器模型(除了UL2之外)是Prefix-LM预训练模型,它保留了语言模型的前缀记忆。关于Prefix-LM预训练,有趣的是Prefix-LM实际上比T5跨度破坏设置高出+16.7%。Prefix-LM编码器-解码器模型在SuperGLUE上的表现确实不如默认的T5模型,但总体上更强,尤其是在一次性或开放文本生成方面。总体而言,在Prefix-LM和跨度破坏编码器-解码器模型(T5)之间,尚不清楚哪个是普遍更优的模型,因为不同子任务之间存在取舍,尽管值得注意的是Prefix-LM编码器-解码器模型在某些任务中仅牺牲了轻微的退化,而在其他任务中却实现了巨大的多倍提升。
4.3.3 UniLM和SCLM的表现
在编码器-解码器设置中,UniLM和SCLM目标在聚合和归一化整体增益方面均优于标准跨度破坏目标。这表明,混合预训练目标通常是有帮助的。在解码器设置中,与基线因果LM相比,UniLM的整体增益为+9.4%,SCLM为+16.1%。在个别任务中,UniLM和SCLM在9个任务中的6个上均优于T5。值得注意的是,SCLM在一次性生成任务(SGD和TOTTO)中表现最佳。
4.3.4 关于UL2的性能表现
最后,我们注意到,与GPT风格模型和T5风格模型相比,UL2表现最佳。总体而言,UL2比T5高出+43.4%,比GPT风格的CLM解码器模型高出+76.2%。这是与所有其他替代方案相比最高的相对(整体)增益。我们还注意到,在所有个别任务中,UL2在9个任务中均优于T5。因此,与跨度破坏的T5模型相比,UL2是一个普遍更优的选择。虽然UL2并非在所有个别任务中始终优于所有基线模型,但UL2的表现非常一致。即使在某些任务上输给其他方法,其差距也相对较小(例如,在一次性TOTTO任务中,6.5 vs 7.3)。相反,当UL2优于T5等基线模型时,增益可能高达+363%。UL2始终是最一致且强大的方法。这种一致的改进也表明,它可以作为T5和GPT风格模型的更一致替代品。
4.4 模式切换的消融实验
为了确认我们的模式切换能力对性能有实际影响,我们进行了消融实验。我们在一次性XSum和一次性SuperGLUE任务上进行了实验。表5报告了不同范式提示对模型性能的影响结果。首先,我们观察到提示对模型性能有显著影响——即使用正确或错误的提示可能导致性能差距高达48%(在XSum任务中,Rouge-1指标)。另一方面,SuperGLUE对提示的敏感性较低。在SuperGLUE任务中,使用提示几乎总是比在一次性评估中不使用提示更好。然而,对于XSum任务,选择正确的提示似乎对获得良好性能至关重要。
4.5 混合去噪器的消融实验
X-去噪作为一种补充方法是有效的,但单独使用效果不足
我们进行了大量实验以验证混合去噪器(MoD)目标中各个目标的有效性。表6报告了这些消融实验的结果。我们报告了不同平均跨度、破坏率以及S-去噪使用百分比(用% SD表示)的结果。请注意,混合中去噪器的总数为 ∥ S p a n ∥ × ∥ C o r r u p t _ R a t e ∥ + 1 \| S p a n \| \times \| C o r r u p t \_ R a t e \| + 1 ∥Span∥×∥Corrupt_Rate∥+1。我们将这些配置从Var-A到Var-J进行标记,以便于引用。
我们观察到,混合使用极端去噪(Extreme Denoising)是有效的。大多数最佳结果都来自于包含长跨度(例如,32或64)的混合方式。与不使用长跨度的变体(Var-D vs. Var-C)相比,Var-D明显更好。我们还请读者注意仅使用长跨度的变体Var-H。总体而言,Var-H表现不佳,这表明极端去噪可以补充常规去噪,但单独使用效果不足。这也印证了Raffel等人(2019)的结果,显示50%的腐败率效果不佳。这与Wettig等人(2022)的发现略有冲突,尽管我们的架构使用了输入到目标的预训练形式,而非BERT风格的掩码语言模型。
少量S-去噪更为理想
我们探讨了将S-去噪比例扩大到整个MoD混合的50%的情况,发现这通常会降低性能。因此,我们得出结论,S-去噪是必要的,但仅需少量(约20%)即可。Var-K和Var-L还探讨了完全不使用S-去噪的情况。虽然在某些任务上性能有所提升(如SuperGLUE),但在其他任务上则显著下降(如一次性XSUM)。同时,Var-L与Var-F相同(但没有S-去噪),总体表现明显更差。因此,我们证明了S-去噪至关重要。
4.6 适度扩大模型规模和预训练数据
我们进行了额外的实验,扩大了1)模型规模和2)预训练数据集的规模。具体而言,我们将UL2编码器-解码器模型扩展到约10亿参数,并将预训练标记数量增加到0.5万亿。我们的动机是验证所提出的公式在不同模型规模下的有效性,并观察在更大规模下的差异和影响。此外,为语言模型研究推导缩放法则也已成为惯例(Kaplan等人,2020;Tay等人,2021b)。表7报告了此缩放设置下的结果。在大规模下,我们发现所提出的UL2编码器-解码器模型仍具有竞争力。一个关键区别是,UL2在SuperGLUE套件上相对于T5(10亿)有所下降。然而,这不仅在8个任务中的7个上表现优异,还在一次性评估中提高了2-4倍。在监督微调上,提升较小,但在XSUM、SGD和TOT上仍有明显提升。
5 扩展到200亿参数
我们也有兴趣在更大规模的设置中评估UL2。根据我们从消融实验中获得的见解,我们在此次运行中使用编码器-解码器架构。虽然UL2是架构无关的,但我们的建议是默认使用编码器-解码器架构,因为其具有内在的稀疏性。
我们训练了一个总参数约为200亿的UL2模型。与真正的大型语言模型(Du等,2021;Chowdhery等,2022)相比,200亿参数代表了一个中等规模的模型,我们将其作为概念验证进行训练,以展示UL2在比消融实验更大规模下的潜力。诚然,我们并未过多关注该模型的确切参数数量,即我们已经在训练一个200亿参数的模型一段时间,并决定让其收敛。此外,我们注意到,由于潜在的各种原因(数据损坏、硬件间歇性问题如抢占),在扩展模型时常见的损失波动和不稳定性。在此次运行中,我们并未特别控制或采取任何缓解策略(如偶尔重启),因为我们没有密切监控任务。因此,我们在训练这个200亿模型时偶尔会看到损失波动。然而,由于使用这些检查点进行的许多微调实验仍然经常达到最先进的性能,我们暂时保留它,并将一个经过适当监控的运行留给未来的工作。尽管在50多个NLP基准测试中获得了最先进的性能,我们预计当前呈现的结果仍然低估了模型的真正潜力。我们将UL2扩展到真正大规模的任务留给未来的工作。
5.1 预训练和模型配置
我们遵循早期实验中的训练协议,通过在C4语料库上进行预训练,但增加了模型在预训练期间看到的标记数量。我们使用1024的批量大小和512个TPUv4芯片来预训练这个模型。模型在C4上总共训练了1万亿个标记(200万步)。输入和目标的序列长度设置为512/512。预训练期间,dropout设置为0。预训练大约花费了一个多月的时间,训练了约1万亿个标记。我们使用与之前部分相同的去噪器混合。模型有32个编码器层和32个解码器层, d m o d e l d_{model} dmodel为4096, d f f d_{ff} dff为16384。每个头的维度为256,总共有16个头。我们的模型使用了8的模型并行度。我们保留了与T5相同的32k词汇量的sentencepiece分词器。因此,UL20B可以解释为一个与T5非常相似的模型,但使用了不同的目标和略微不同的扩展参数。与早期实验类似,UL20B使用Jax和T5X基础设施进行训练。我们发布并开源了基于T5X的20B模型检查点。
5.2 200亿规模的实验
本节描述了我们在UL20B实验中的实验设置。
5.2.1 设置和实现细节
我们在微调和上下文学习中都进行了实验。对于监督微调,我们的模型在N个预训练步骤后持续进行微调,其中N通常为50k到100k。换句话说,在每Nk步预训练后,我们在每个下游任务上进行微调并记录其结果。这通常以手动方式进行。虽然一些任务在模型仍在预训练时使用了较早的预训练检查点进行微调,但许多任务是在接近收敛的检查点上进行微调的,这些检查点是我们发布的。由于我们持续进行微调,一旦某个任务达到最先进水平,我们就会停止微调以节省计算资源。微调通常以每个任务为基础进行,而不是联合训练。有关联合训练的详细信息请参见附录。我们将大规模多任务训练(Aribandi等,2021)与UL2的结合留给未来的工作。
对于监督微调,我们通常使用Adafactor优化器,学习率范围为 { 5 × 1 0 − 5 , 1 × 1 0 − 5 1 × 1 0 − 4 } \{ 5 \times 1 0 ^ { - 5 } , 1 \times 1 0 ^ { - 5 } \, 1 \, \times 1 0 ^ { - 4 } \} {5×10−5,1×10−51×10−4}。一般的做法是,我们重置Adafactor优化器状态,并/或基于实际目标标记的数量进行损失归一化。这让人联想到PaLM微调设置(Chowdhery等,2022)。批量大小通常在32到128之间,尽管我们发现批量大小对微调性能的影响不大。许多评估任务并未进行过多调整,我们只进行了一两次运行后便提交了排行榜结果。
5.2.2 监督微调的数据集
为了展示该方法的普遍性,我们考虑了总共近50多个NLP任务。我们在下面列出了任务的分类。请注意,任务的分类通常是软性的,某些任务可能跨越不同的分类边界。
- 语言生成 - 我们考虑了摘要生成和数据到文本生成任务。我们使用CNN/Dailymail(Hermann等,2015)、XSUM(Narayan等,2018)、MultiNews(Fabbri等,2019)、SAMSum(Gliwa等,2019)、WebNLG(Castro Ferreira等,2020)(英文)、E2E(Dusek等,2019)和CommonGen(Lin等,2020)来评估我们的模型。对于WebNLG、E2E和CommonGen,我们使用GEM基准(Gehrmann等,2021)中的版本。
- 人类评估的语言生成 - 我们通过GENIE排行榜(Khashabi等,2021)评估了多种文本生成任务。这些任务包括aNLG(Bhagavatula等,2019)、ARC-DA(Clark等,2018)、WMT19(Foundation)和XSUM(Narayan等,2018)。
- 语言理解、分类和问答 - 我们使用阅读理解、问答、文本分类和自然语言推理数据集。具体来说,我们使用RACE(阅读理解)(Lai等,2017)、QASC(Khot等,2020)、OpenBookQA(Mihaylov等,2018)、TweetQA(Xiong等,2019)、QuAIL(Rogers等,2020)、IMDB(Maas等,2011)、Agnews(Zhang等,2015)、DocNLI(Yin等,2021)、Adversarial NLI(Nie等,2019)、VitaminC(Schuster等,2021a)、Civil Comments和Wikipedia Toxicity检测数据集(Borkan等,2019)。我们还使用了标准的SuperGLUE(Wang等,2019)和GLUE(Wang等,2018)数据集。
- 常识推理 - 我们使用HellaSwag(Zellers等,2019)、SocialIQA/SIQA(Sap等,2019)、PhysicalIQA/PIQA(Bisk等,2020)、CosmosQA(Huang等,2019)、AbductiveNLI(Bhagavatula等,2019)、CommonsenseQA(Talmor等,2018)、CommonsenseQA2(Talmor等,2021)。
- 长距离推理 - 我们使用Scrolls基准(Shaham等,2022),它包含七个组件任务,包括GovReport(Huang等,2021)、SumScr(Chen等,2021)、QMSUm(Zhong等,2021)、QASPER(Dasigi等,2021)、NarrativeQA(Kocisk ˇ y等,2018)、QuaLITY(Pang等,2021)和ContractNLI(Koreeda & Manning,2021)。
- 结构化知识基础 - 我们使用了UnifiedSKG(Xie等,2022)中的几个组件任务,即WikiTQ(Pasupat & Liang,2015)、CompWQ(Talmor & Berant,2018)、FetaQA(Nan等,2021)、HybridQA(Chen等,2020)、WikiSQL(Zhong等,2017)、TabFat(Chen等,2019)、Feverous(Aly等,2021)、SQA(Iyyer等,2017)、MTOP(Li等,2020)和DART(Nan等,2020)。我们选择了相对方便进行评估并使用主流指标(如准确性或精确匹配)的数据集,而不是那些需要大量领域特定后处理的指标。
- 信息检索 - 信息检索是根据查询检索相关文档的任务。我们使用最新的下一代信息检索范式,即可微分搜索索引(Tay等,2022)进行实验。我们使用DSI论文中的相同NQ(Kwiatkowski等,2019)分割。
对于每个数据集,我们报告了之前的最佳结果。对于生成任务,我们通常遵循(Gehrmann等,2022)的建议报告ROUGE-2。对于其余数据集,我们报告了先前工作中报告的主要指标。对于BLEU分数,我们使用sacrebleu。对于常识推理任务,我们不与使用外部知识库的方法进行比较,因为它们是正交的且超出了本文的范围。对于大多数情况,GLUE通常被认为是饱和的,GLUE排行榜上有很多未发表的结果。因此,我们做出了一个非常合理的决定,将(Raffel等,2019)视为最先进的结果,因为我们相信自T5模型(Raffel等,2019)以来,GLUE基准测试并未取得任何真正的进展。GLUE结果已经非常饱和,因此仅供参考,应谨慎对待。
通常,我们尽最大努力向任何排行榜(未发布的测试集)提交分数,但在提交成本过高的情况下避免这样做——特别是当现有最先进方法已经提供了开发集分数,或者报告该数据集仅是为了完整性(例如GLUE)时。我们建议读者不要过度思考开发集和测试集之间的差异,因为(1)在大多数学术排行榜中,开发集和测试集不仅从我们的经验中一致,而且可以经验性地观察到;(2)真正的测试是生产环境。在报告排行榜时,我们将表现最佳的已发表工作视为最先进水平,并在结果中使用#符号表示可能存在某些匿名提交的分数更高。为此,我们认为质量合理的arxiv预印本可以算作已发表工作。这些结果和比较截至2022年4月15日,我们在停止实验以专注于完善本文时是准确的。后来,在准备将本文上传到arxiv时,我们意识到Scrolls基准测试上有了新的结果,使用了一个模型(Guo等,2021),其序列长度为16k,而我们的序列长度为2k(在我们达到最先进水平后保持不变)。预计将长度增加到UL2会显著提高我们的分数,可能超过当前的最先进水平,但出于物流和时间线的考虑,我们将此留给未来的工作。
5.2.3 监督微调结果总结
本节描述了我们实验的概述结果。
5.2.4 监督微调结果
我们的实验结果表明,UL2在约50多个NLP任务和设置中达到了最先进的性能。对于许多任务,UL2的优势相当明显;而对于那些UL2未能达到最先进水平的任务,其表现通常也非常具有竞争力。值得注意的是,每个基准测试上达到最先进水平的难度差异很大。对于某些任务,最先进的模型是一个320亿参数的密集等效模型(Zoph等,2022);而对于其他任务,最先进的模型可能只是一个基础模型。此外,许多基准测试的最先进模型是相对较大的模型,例如30亿或110亿参数的T5、UnifiedQA(Khashabi等,2020)或Unicorn(Lourie等,2021),因此超越这些模型也并非易事。总体而言,我们建议读者自行判断这些最先进结果的价值。最后,我们注意到,UL2 200亿在GENIE任务的人类评估中表现相当出色,在多个指标上超越了最先进水平。这证实了UL2的生成质量相当可靠。
5.2.5 微调与基于提示的零样本学习(SuperGLUE)之间的权衡
在本节中,我们探讨了在SuperGLUE基准测试上微调与上下文学习之间的权衡。我们使用UL20B在SuperGLUE上进行了实验。虽然UL20B在该基准测试上未达到最先进水平,但我们注意到UL20B至少保持了竞争力,并超越了T5-110亿。本节进一步证实了UL2确实能够扩展,并在SuperGLUE上与T5-110亿相当或略微超越(同时在许多其他上下文任务中显著超越T5-XXL)。UL20B仍然落后于最先进的ST-MoE-320亿模型,主要原因有两个:首先,ST-MoE-320亿拥有2000亿+参数,其计算成本相当于一个320亿的密集模型;其次,ST-MoE-320亿仅使用跨度破坏目标进行训练,并采用编码器-解码器架构,这在自然语言理解(NLU)微调中具有显著优势。
5.2.6 生成式少样本学习:XSUM摘要生成
最后,我们使用XSum数据集进行了额外的少样本上下文一次性学习实验。我们将我们的模型与基线T5-XXL、经过LM Adaptation(Lester等,2021)调整的T5-XXL、LaMDA 137B(Thoppilan等,2022)以及PaLM(8B、62B、540B)(Chowdhery等,2022)进行了比较。我们在相同的实验设置下运行了T5-XXL,但对于其他模型,我们报告了(Chowdhery等,2022)中的结果。
表11 报告了一次性摘要生成的结果。我们注意到,T5-XXL在这个任务上表现不佳。即使经过LM Adaptation调整,Rouge-2分数仅为2.3,远远落后于仅解码器的因果语言模型(例如PaLM 8B模型)。值得注意的是,现成的T5-XXL即使通过提示也无法生成有意义的摘要,因为它仅通过跨度破坏进行训练,因此直观上需要某种形式的调整才能适应生成式少样本设置。这里值得注意的是,UL2 200亿的性能大约是经过LM Adaptation调整的T5 XXL模型的3倍。此外,UL2 200亿超越了LaMDA 137B,并且接近PaLM 8B的两倍性能。然而,最佳结果仍然是更大的540亿和620亿PaLM模型。
6 结论
我们提出了一种新的训练通用有效模型的范式。UL2有两个关键思想。首先,我们提出了一种新的混合去噪器(MoD)预训练方法,将多个预训练任务框架化为跨度破坏,多样化并混合它们。其次,我们引入了模式切换,这是一种将下游任务行为与上游预训练关联起来的方式。广泛的消融实验表明,UL2在各种监督和少样本任务中始终优于GPT风格和T5模型,在9个任务中的9个上超越了T5,并且归一化整体增益达到+76.1%。最后,我们将UL2扩展到200亿参数,并在50到60个NLP任务和设置上进行了实验。UL2在其中50个任务上达到了最先进的性能。