Scaling Laws vs Model Architectures: How does Inductive Bias Influence Scaling?
Yi Tay, Mostafa Dehghani, Samira Abnar, Hyung Won Chung, William Fedus, Jinfeng Rao, Sharan Narang, Vinh Q. Tran, Dani Yogatama, Donald Metzler
https://arxiv.org/abs/2207.10551
人们对Transformer模型的缩放特性非常感兴趣。然而,在研究不同归纳偏置和模型架构的缩放特性的影响方面,还没有做太多的工作。模型架构的缩放是否不同?如果是这样的话,归纳偏置是如何影响缩放行为的?这对上游(预训练)和下游(迁移)有何影响?本文对Transformer、SwitchTransformer、UniversalTransformer、动态卷积、Performers和最近提出的MLP-Mixers等十种不同模型架构的缩放行为进行了系统研究。通过大量的实验,我们表明:(1)在执行缩放时,架构确实是一个重要的考虑因素;(2)性能最好的模型可以在不同的尺度上波动。我们相信,这项工作中概述的发现对当前社区中如何评估模型架构具有重要意义。
1简介
最近,人们对Transformer模型的缩放特性产生了很大的兴趣(Kaplan等人,2020;Hernandez等人,2021;Bahri等人,2021年;Henighan等人,2020年;Tay等人,2021b;Abnar等人,2021)。然而,对于模型架构所施加的不同归纳偏置的缩放特性,人们了解的并不多。通常假设特定缩放(计算、缩放等)的改进会迁移到不同的缩放和计算区域(So et al.,2019;Choromanski等人,2020;Lan等人,2019;Dehghani等人,2018),并且新的研究通常以与缩放相关的逐点方式呈现。简言之,在非常特定或有限的计算区域(例如,基本大小)提供数据点的新方法并不罕见。我们认为,理解架构和缩放定律之间的相互作用至关重要,因为设计在不同缩放下表现良好的模型可能会产生重大影响。
本文试图理解归纳偏置(架构)对语言模型的缩放律的影响。为此,我们在多个计算区域和缩放(例如,从1500万到400亿个参数)上对十种不同的模型架构进行了预训练和微调。总的来说,我们对100多个不同架构和大小的不同模型进行了预训练和微调,并在扩展这十个不同架构方面提出了见解和挑战。
我们在广泛的实验中考虑了广泛的模型。具体而言,我们考虑了几种成熟的Transformer变体(Vaswani et al.,2017),如EvolvedTransformer(So et al.,2019)、UniversalTransformer(Dehghani et al.,2018)和SwitchTransformer(Fedus et al.,2021)。我们还考虑了轻型模型,如ALBERT(Lan et al.,2019)和/或高效Transformer(Tay et al.,2020),如Performer(Choromanski等人,2020)和 FunnelTransformer(Dai等人,2020年)。在我们的比较中,我们还感兴趣的是了解对Transformer架构的一般改进,如Softmax的混合(Yang et al.,2017)和/或门控线性单元(Dauphin等人,2017;Shazeer,2020)是否会影响模型的缩放行为。最后,我们还评估了Transformer家族之外的模型,包括轻量级卷积(Wu et al.,2019)、动态卷积(吴et al.,2017)和最近提出的MLPMixers(Tolstikhin et al.,2021)。图1展示了我们运行的实验的概述。
我们还注意到,缩放这些模型并不像看上去那么简单,即,缩放的复杂细节与我们在本文中详细研究的架构选择交织在一起。例如,UniversalTransformer(和ALBERT)的一个显著特点是参数共享。
因此,与标准Transformer相比,这种架构选择不仅在性能方面,而且在FLOP、速度和参数数量等计算指标之间,都显著扭曲了缩放行为(Dehghani等人,2021a)。相反,SwitchTransformer等模型处于频谱的另一端,FLOP和参数数量之间存在不常见的关系,即它们具有高的参数与FLOP比率。这一困难使得驾驭这片土地具有挑战性。
我们的贡献和见解本文的主要贡献如下:
我们首次推导了不同归纳偏置和模型结构的缩放律。我们发现,不同模型的缩放系数差异很大。我们认为这是模型开发中的一个重要考虑因素。事实证明,在我们考虑的所有十种架构中,vanilla Transformer具有最好的缩放性能,即使它在每个计算区域的绝对性能不是最好的。
•我们观察到,在一个计算缩放区域中运行良好的模型在另一个计算区域中不一定是最好的。此外,我们发现,尽管某些模型在较低的计算区域表现良好(相当),但仍难以缩放。这是有意义的,因为在某个计算区域进行逐点比较很难全面了解模型的可缩放性。
•我们发现,当涉及到缩放不同的模型架构时,上游预训练的困惑可能与下游迁移没有很好的相关性。因此,底层架构和归纳偏置对下游迁移也至关重要。
•我们强调了用某些架构进行扩展的困难,并表明一些模型不进行扩展(或以负趋势进行扩展)。我们还发现了一些令人担忧的趋势,其中线性时间注意力模型(如Performer)难以扩展。
2相关工作
Kaplan等人(2020)研究了纯解码器Transformers语言模型的经验缩放定律。他们专注于以交叉熵损失作为性能度量的标准左右语言建模目标。主要发现之一是,损失是一个幂律,具有模型训练的三个主要特征:模型大小、数据集大小和训练计算。另一个有点令人惊讶的发现是,Transformer网络的宽度或深度等模型形状对大范围尺度的交叉熵损失的影响最小。随后的工作(Henighan等人,2020;Hernandez等人,2021)分别对自回归生成建模和迁移学习得出了类似的结论。这一发现也得到了(Tay et al.,2021b)的普遍支持,但在预训练和微调之间的差距上发现了差异,这突出表明观察大型语言模型的下游性能确实很重要。在(Tay等人,2021b)中,深度对下游性能的影响异常明显。
Raffel等人(2019)研究了预训练目标、模型结构(例如,仅限编码器、解码器)、预训练数据集大小和训练策略对迁移学习的影响。他们表明,下游性能随着模型缩放(从60M参数到11B参数)单调增加。虽然他们研究了几个模型结构,但Transformer的实现与Vaswani等人的原始Transformer基本相同。(2017)。Conneau等人(2020);Goyal等人(2021)在保持原始Transformer实现的同时,将多语言编码器架构扩展到11B参数。他们发现,缩放模型可以提高其跨语言能力。Fedus等人(2021)基于专家混合模型对稀疏模型进行了缩放,参数高达万亿。
虽然之前的研究一再表明,缩放对密集和稀疏Transformers的语言理解任务以及跨语言能力都有好处,但所有这些都在每项研究中使用了相同的Transformers实现。随着文献中提出的大量改进的Transformer架构,研究这些改进的架构中哪一个具有最佳的缩放特性是及时的。本文的主要目标是系统地研究这些Transformer变体施加的归纳偏置如何影响共享软件和硬件设置中的缩放行为。这与研究架构对性能影响的(Narang et al.,2021)精神相似。我们的分析将(Narang et al.,2021)的分析扩展到模型尺度轴。
3方法
本节概述了我们的实验设置。
3.1型号
本节介绍我们在实验中评估的模型。我们的模型在很大程度上是按照T5的惯例(Raffel等人,2019)在序列到序列的框架中实现的(Sutskever等人,2014)。编码器-解码器模型是这种实验的自然选择,因为它们可以Universal地表达编码和解码任务。
Transformer变体
我们考虑几种标准Transformer变体。
•Transformer(Vaswani等人,2017)-基本的vanilla Transformer架构。我们的基本设置考虑了T5风格的Transformer(Raffel et al.,2019),它在很大程度上遵循了vanilla Transformer,只是它使用了相对关注,而不是正弦位置嵌入和层前归一化,即在每个子层之前应用层归一化。
•EvolvedTransformer(So等人,2019)-通过AutoML学习的Transformer架构。该架构包括卷积和注意力。我们按照与vanilla Transformers相同的模式来缩放EvolvedTransformers。
•UniversalTransformer(UT)(Dehghani等人,2018)-一种Transformer架构,具有共享参数和类似循环计算的变换层。由于参数共享,缩放UT具有挑战性。虽然我们也可以增加dF或dmodel,但参数的增加幅度比标准Transformer大N层。探索的另一个轴是缩放每个UT层的重复计算次数——这增加了计算(FLOP的数量),但不会增加模型的参数大小。
•SwitchTransformer(Fedus等人,2021)-一种稀疏激活的专家架构混合体。稀疏Transformers是另一个在参数数量和计算之间存在异常关系的模型。当我们均匀地缩放这个模型时,参数的数量很容易达到40B左右。
高效Transformers变体这类模型主要关注降低计算成本、内存使用或模型的参数计数。
•Performers(Choromanski等人,2020)-使用可推广内核注意力的线性时间注意力模型。为了简单起见,我们在实验中采用了relu内核变体。我们以类似于vanilla Transformers的方式缩放Performer(即均匀缩放)。
• FunnelTransformer(FT)(Dai et al.,2020)一种Transformer架构,可对整个层堆栈的输入序列进行下采样。我们的实现仅在编码器中使用FT,并在Narang等人(2021)之后在解码器中恢复为vanilla Transformer。
•ALBERT(Lan et al.,2019)-一种轻量级Transformer架构,可在所有层共享参数,并将嵌入和输出softmax层分解。对于我们的seq2seq ALBERT,我们还共享编码器和解码器的权重。
一般改进
我们考虑的一般改进不一定与Transformers有关。我们选择了在Narang等人(2021)中表现良好的候选人。
•Softmax的混合物(Yang et al.,2017)-在Softmax层采用MoS方法的Transformer架构。
•带GeLU的门控线性单元(GLUTransformer)-用门控线性单元取代Transformer中的位置前馈网络(Dauphin等人,2017)。
非Transformers架构我们对基于非Transformers的架构(如卷积和/或混频器架构)的缩放行为感兴趣。
•轻量级卷积(Wu et al.,2019)-轻量级深度卷积在Transformer架构上显示出了前景。
•动态卷积(Wu et al.,2019)-轻量级卷积的扩展,用于创建与时间相关的内核。
•MLP-Mixers(Tolstikhin等人,2021)-混合器是最近提出的学习代币轻量级混合的架构。由于混合器尚未用于自回归解码,因此我们仅在输入编码器上使用令牌混合器。
3.2实验设置
我们的设置以及所有模型都是在Mesh TensorFlow(Shazeer et al.,2018)中实现的,这是一个与TensorFlow接口相似的库,但可以在多个工作线程之间实现分布式模型并行。为了公平比较,所有模型都在英语C4语料库上进行了219步的预训练,该语料库使用Adafactor的平方根学习率进行了优化(Shazeer和Stern,2018)。所有模型都使用相同的句子片段标记器(Kudo和Richardson,2018),包含32K个子词。这与T5论文中的设置密切相关(Raffel等人,2019)。在GLUE(Wang等人,2018)、SuperGLUE(王等人,2019)和SQuAD(Rajpurkar等人,2016)的混合物上进行100K步的微调。我们评估了微调后NLU任务(GLUE+SuperGLUE+SQuAD)的上游(预训练)验证困惑和下游迁移。我们使用16个具有数据并行性的TPU-v3芯片对模型进行预训练和微调。所有大型模型的模型并行度为2,XL模型的模型平行度为8。
型号尺寸
我们为每个架构考虑几种不同的模型大小。对于易于缩放的模型,我们只需遵循Raffel等人的标准惯例。(2019),从小型到基础,再到大型和XL。我们包括每个模型的一个小版本,以观察不同模型在较低计算区域的行为。对于无法直接缩放的型号(例如,UniversalTransformer、ALBERT),我们试图以类似的方式缩放它们,但面临明显的限制,例如使ALBERT具有与T5 XL相同数量的参数,而不会在FLOP方面产生大量成本。对于卷积模型,我们认为dmodel是一维卷积层的隐藏大小(即通道深度)。然后,诸如dkv、NH之类的值将变得多余。每个架构的缩放细节1的详细信息可以在补充材料中找到。
3.3主要结果
我们在表1中报告了本文的主要结果。我们报告了可训练参数的数量,FLOP(单次向前传播)和速度(每秒步数)。我们还报告了验证困惑(上游预训练)和17项下游任务的结果。结果报告了GLUE、SuperGLUE和SQuAD的聚集物。虽然我们使用了Raffel等人使用的相同的基于Mesh TensorFlow的代码库。(2019),因此希望我们的实验结果与他们的结果相匹配,但我们验证了我们的T5库确实实现了与Raffel et al.(2019)中报道的结果相似的结果。
3.4所有型号的缩放是否相同?
本节研究是否所有模型架构都以相同的方式扩展。
上游困惑
图2报告了随着FLOP数量的增加,所有模型的缩放行为。我们观察到,所有模型的缩放行为都非常独特,即大多数模型与标准Transformer截然不同。也许这里最大的发现是,大多数模型(例如,LConv、Evolved)似乎都与标准Transformers不相上下或更好,但无法以更高的计算预算进行扩展。另一个有趣的趋势是,“线性”Transformers(如Performer)无法按缩放缩放,如图2i所示。从基本到大缩放,训练前的困惑度指标仅下降2.7%,而普通Transformers的困惑度为8.4%。
下游迁移
图3显示了所有模型在下游迁移时的缩放曲线。与Transformers相比,大多数模型都有不同的缩放曲线,这一总体发现在下游任务中也很明显。同样值得注意的是,大多数模型都有不同的上游和下游缩放曲线。我们发现,一些模型,如 FunnelTransformer和LConvs,在上游似乎表现得很好,但在下游却受到了很大的影响。至于Performer,与上游相比,下游的性能(差异)似乎更大。值得注意的是,SuperGLUE下游任务通常需要编码器上的伪交叉关注,而卷积等模型不具备处理能力(Tay等人,2021a)。为此,我们发现,尽管上游性能良好,但某些模型可能难以学习下游任务。
3.5每个缩放的最佳模型是否不同?
图1显示了根据上游和下游性能绘制计算时的Pareto边界。由于绘图的颜色代表不同的模型,我们可以观察到,每个缩放和计算区域的最佳模型可能不同。此外,从图3中,我们还可以观察到这一点。例如,Evolved Transformer在从小到小的区域(下游)与标准Transformer相比似乎做得很好,但当放大模型时,这种情况会很快发生变化。我们在MoS Transformer中也观察到了这一点,它在某些地区明显优于vanilla Transformer,但在其他地区则不然。
3.6每个模型的缩放定律
表2显示了多个场景中每个模型的拟合线性线α的斜率。我们通过绘制F(FLOPs)、U(上游困惑)、D(下游精度)、P(参数数量)来导出α。通常,α的大多数值都描述了模型的缩放程度。例如,αF,U绘制了FLOP与上游性能的关系图。唯一的例外是αU,D,它是衡量上游与下游性能的指标。高的αU,D值意味着随着模型的扩展,向下游任务的迁移更好。总体而言,α值是一个指标,表示模型在所有尺度上的相对表现
每个模型的坡度分析
通常,我们发现vanilla Transformer具有最高的α值。Evolved Transformer、GLU Transformer、MoS Transformer和Funnel Transformer等模型往往具有与普通Transformer类似的缩放特性。GLU Transformer具有与vanilla Transformer相似但稍差的缩放特性,即使在某些计算机区域上观察到它在绝对意义上做得更好。另一方面,我们还观察到,存在难以缩放的模型,如LConv、UT、MLP Mixer和Performer。这在下游任务中更为明显。我们还注意到,随着模型的扩大,ALBERT的缩放(趋势)为负2(变得更糟)。另一方面,度量αU,D衡量下游性能如何与上游性能成缩放。总的来说,SwitchTransformer在这一指标上做得最好,下游性能与上游性能的缩放很好。通常,对主Transformer架构(GLUTransformer、MoSTransformer)进行较少更改的模型往往会保持类似的缩放行为,而更改归纳偏置也会显著改变模型的缩放特性。
3.7缩放协议对模型架构的影响是否相同?
我们感兴趣的是不同的缩放协议如何影响模型架构。图4显示了四种模型架构(MoS-Transformer、Transformer、Evolved Transformer和LConv)的缩放深度的影响。图5显示了缩放宽度对相同四种架构的影响。首先,在上游(负对数困惑)曲线上,我们注意到,虽然不同的架构在绝对排列上有明显的差异,但缩放趋势仍然非常相似。在下游,深度缩放(图4)似乎对除LConv之外的大多数架构都起到了同样的作用。同时,对于宽度缩放,Evolved Transformers在应用宽度缩放时的缩放效果似乎稍好。值得注意的是,与宽度缩放相比,深度缩放对下游缩放的影响要大得多。
3.8结语和结论
在本文中,我们对多达100个模型进行了广泛的实验、预训练和微调,这些模型包括10个成熟的Transformer和非Transformer架构。我们表明,不同的模型架构可能具有不同的缩放行为,并且在一个计算区域(或模型大小)中表现良好的模型在另一计算区域中可能表现不同。
我们还表明,模型架构可以很好地解决上游的困惑,但不能迁移到下游的任务。因此,从业者应该谨慎开发不仅能很好地解决上游难题,而且能基于下游性能的架构。虽然我们当然不希望研究人员总是报告所有缩放(尤其是大缩放)的模型性能,但我们相信,最好记住,架构在不同的计算区域可以表现得截然不同。因此,在设计新的归纳偏置时,这可能是一个很好的考虑因素。因此,在某个计算区域执行评估可能不足以捕捉全貌。考虑不同的归纳偏置是否会导致应急能力的不同扩展也是很好的(Wei等人,2022;Abnar等人,2020)。
我们还表明,不同的模型架构可能对不同的缩放协议做出不同的反应,这进一步扩展了比较和基准测试这些模型可能非常具有挑战性的说法(Dehghani等人,2021b)。当涉及到缩放大型模型时,本文表明,新的归纳偏置确实有很大的风险,这可能解释了为什么大多数最先进的大型语言模型(Rae et al.,2021;Chowdhery et al.,2022;Tay等人,2022)都是基于相对普通的架构。我们的建议是,在Transformer架构上投入昂贵的运行时要谨慎,因为它会极大地改变注意力机制(例如,从我们的实验结果中可以看出,混音器和Performers通常是高风险的选项)。最后,我们承认,并不是每个从业者或研究人员都需要能够扩展到数十亿个参数的模型。在这种情况下,为小计算量或低计算量量身定制的归纳偏置就足够了。