Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

归一化提高预训练、缓解梯度不匹配,Facebook的模型超越GPT-3

来自 Facebook AI 的研究者提出了 NormFormer,该模型能够更快地达到目标预训练的困惑度,更好地实现预训练困惑度和下游任务性能。

在原始的 Transformer 架构中,LayerNorm 通常在 Residual 之后,称之为 Post-LN(Post-Layer Normalization)Transformer,该模型已经在机器翻译文本分类等诸多自然语言的任务中表现突出。

最近的研究表明,在 Post-LN transformer 中,与较早层的网络相比,在较后层的网络中具有更大的梯度幅度。

实践表明,Pre-LN Transformer 可以使用更大的学习率、极小的学习率进行预热(即 warm-up),并且与 Post-LN Transformer 相比通常会产生更好的性能,所以最近大型预训练语言模型倾向于使用 Pre-LN transformer。

来自 Facebook AI 的研究者表明,虽然 Pre-LN 比 Post-LN 提高了稳定性,但也具有缺点:较早层的梯度往往大于较后层的梯度。这些问题可以通过该研究提出的 NormFormer 来缓解,它通过向每一层添加 3 个归一化操作来缓解梯度幅度不匹配问题(见图 1,中间):自注意力之后添加层归一,自注意力输出的 head-wise 扩展,在第一个全连接层之后添加层归一。这些操作减少了早期层的梯度,增加了后期层的梯度,使不同层的梯度大小更接近。

此外,这些额外的操作产生的计算成本可以忽略不计(+0.4% 的参数增加),但这样做可以提高模型预训练困惑度和在下游任务的表现,包括在 1.25 亿参数到 27 亿参数的因果模型和掩码语言模型的性能。例如,该研究在最强的 1.3B 参数基线之上添加 NormFormer 可以将同等困惑度提高 24%,或者在相同的计算预算下更好地收敛 0.27 倍困惑度。该模型以快 60% 的速度达到了与 GPT3-Large (1.3B)零样本相同的性能。对于掩码语言模型,NormFormer 提高了微调好的 GLUE 性能,平均提高了 1.9%。


论文地址:https://arxiv.org/pdf/2110.09456.pdf

与计算匹配、微调好的 Pre-LN 基线相比,NormFormer 模型能够更快地达到目标预训练的困惑度,更好地实现预训练困惑度和下游任务性能。

论文一作 Sam Shleifer 在推特上表示:很高兴发布 NormFormer,这是我们新的语言建模架构,在实验过的每个扩展(高达 2.7B 参数)上都优于 GPT-3。


来自魁北克蒙特利尔学习算法研究所的机器学习研究者 Ethan Caballero 表示:「更多的归一化 is All You Need,在 GPT-3 架构中使用 NormFormer 达到了 SOTA 性能, 速度提高了 22%,并在下游任务中获得了更强的零样本性能。」


方法架构

NormFormer 对 Pre-LN transformer 做了三处修改:在注意力模块内部应用 head-wise 缩放,并添加两个额外的 LayerNorm 操作(一个放在注意力模块后面,另一个放在首个全连接层后面)。这些修改引入了少量额外的可学得参数,使得每个层都能以经济高效的方式改变特征大小,进而改变后续组件的梯度大小。这些变化的细节如下图 1 所示:


缩放注意力头。标准多头注意力操作定义如下:


研究者提出通过学得的标量系数γ_i 缩放每个注意力头的输出:


额外层归一化以及将所有组件放在一起。在 Pre-LN transformer 中,每个层 l 将输入 x_l 做出如下修改:


相反,NormFormer 将每个输入 x_l 修改如下:



其中,新引入了 bolded operations。

实验结果


对于因果语言模型(Casual Language Model),研究者预训练的 CLM 模型分别为 Small(1.25 亿参数)、Medium(3.55 亿参数)、Large(13 亿参数)和 XL(27 亿参数)。

他们训练了 3000 亿个 token 的基线模型,并用等量的 GPU 小时数训练 NormFormer 模型,由于归一化操作的额外开销,后者通常会减少 2%-6% 的 steps 和 tokens。

在使用的数据集上,研究者发现 GPT-3 中提出的学习率不是最理想的。因此,对于除了 27 亿参数之外的每个大小的基线和 NormFormer 模型,他们通过训练 5 万 steps 的模型并从 {1e−4, 6e−4, 3e−4, 6e−4, 1e−3, 3e−3} 中选择性能最佳的学习率来对学习率进行调整。这一过程中获得的学习率如下表 1 所示,NormFormer 的学习率是 GPT-3 的 3-5 倍。



对于掩码语言模型(Masked Language Model, MLM),研究者采用了 Liu et al. (2019)中使用的 RoBERTa-base、Pre-LN 架构和超参数。对于基线模型,他们对 100 万个 token 预训练了 200 万个 batch,是原始 roberta-base 训练预算的 1/4。相较之下,NormFormer 在相同时间内运行了 192 万个 batch。

对于预训练数据,研究者在包含 CC100 英语语料库以及由 BookCorpus、英文维基百科和 Common Crawl 过滤子集组成的 Liu et al. (2019)的数据英语文本集合上对所有模型进行预训练。

在下图 2 中,研究者将 CLM 和 MLM 的预训练困惑度表示训练时间,即 GPU days。可以看到,NormFormer 的训练速度明显更快,并且在给定训练计算预算下实现了更好的验证困惑度。



研究者在下游任务上也观察到了类似的趋势。如下表 2 所示,研究者使用 Brown et al. (2020)中的任务和 prompt 来观察 CLM 模型的零样本准确率。同样地,NormFormer 在所有大小上均优于 GPT-3。


对于 MLM 模型,研究者在下表 3 中报告了在 GLUE 上的微调准确率。再次,NormFormer MLM 模型在每个任务上都优于它们的 Pre-LN 模型。



为了度量架构的稳定性,研究者使用具有极大峰值学习率学习率计划对其进行训练,使得学习率每个 step 增加一点,直到损失爆炸。图 5 显示了与基线相比,NormFormer 模型在此环境中可以承受更多的更新。

入门GPT-3Facebook归一化
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

推荐文章
暂无评论
暂无评论~