大模型基石论文:《Attention Is All You Need》
来源: | 作者:DE.Tech | 发布时间: 2024-12-05 | 265 次浏览 | 分享到:

大模型基石论文:《Attention Is All You Need》


    这篇论文《Attention Is All You Need》由Ashish Vaswani等人撰写,介绍了一种全新的神经网络架构——Transformer,它完全基于注意力机制,摒弃了传统的循环(RNN)和卷积(CNN)结构。论文的核心贡献在于提出了一种全新的基于注意力机制的模型架构,该架构在多个NLP任务上展现出了卓越的性能,为大模型技术的发展奠定了理论基础,并且为未来的研究提供了新的方向。

摘要

    Transformer模型在两个机器翻译任务上表现出了优越的质量,同时具有更高的并行化能力,并且训练时间显著减少。在WMT 2014英德翻译任务上,Transformer模型达到了28.4 BLEU分数,超过了之前所有模型的最佳结果。在WMT 2014英法翻译任务上,Transformer模型在3.5天内达到了41.8 BLEU分数,训练成本远低于之前的最佳模型。

引言

    循环神经网络(RNN)在序列建模和转换问题上取得了巨大成功,但其固有的序列性质限制了训练样本内部的并行化。注意力机制已成为各种序列建模和转换模型中不可或缺的一部分,允许模型不考虑输入或输出序列中的距离来建模依赖关系。

背景

    Transformer的目标是减少序列计算,使用卷积神经网络作为基本构建块,为所有输入和输出位置并行计算隐藏表示。

模型架构

    Transformer遵循编码器-解码器结构,使用堆叠的自注意力和逐点全连接层。编码器由多个相同层组成,每层包含多头自注意力机制和逐位置全连接前馈网络。解码器也由多个相同层组成,增加了一个额外的子层,执行对编码器输出的多头注意力。


为什么使用自注意力?

    自注意力层与常用的循环和卷积层相比,在计算复杂性、并行化能力和学习长距离依赖的能力上有显著优势。

(1). 计算复杂性

  • 自注意力层:自注意力层的计算复杂度为𝑂(𝑛2𝑑),其中𝑛是序列长度,𝑑是表示的维度。这意味着对于每个位置,自注意力层需要计算与序列中所有其他位置的关系。

  • 循环层:循环层(如LSTM或GRU)的计算复杂度为𝑂(𝑛𝑑2),因为每个时间步的计算依赖于前一个时间步的输出,导致序列长度𝑛与表示维度𝑑的平方成正比。

  • 卷积层:卷积层的计算复杂度取决于卷积核的大小𝑘,为𝑂(𝑘𝑛𝑑2)。对于覆盖所有输入和输出位置,可能需要多层卷积,导致复杂度增加。

(2). 并行化能力

  • 自注意力层:自注意力层可以并行处理序列中的所有位置,因为每个位置的计算不依赖于其他位置的输出,这使得自注意力层非常适合并行计算。

  • 循环层:由于循环层的计算是顺序的,每个时间步的输出依赖于前一个时间步的输出,因此难以并行化。

  • 卷积层:虽然卷积层可以并行处理,但其并行化能力受到卷积核大小和步长的限制。

(3). 学习长距离依赖的能力

  • 自注意力层:自注意力层可以直接建模任意两个位置之间的依赖关系,无论它们在序列中的距离有多远,这使得自注意力层特别擅长捕捉长距离依赖。

  • 循环层:循环层通过递归地处理序列中的每个元素来学习长距离依赖,但可能会受到梯度消失或梯度爆炸的影响,尤其是在长序列中。

  • 卷积层:卷积层通过多层堆叠来捕捉长距离依赖,但随着层数的增加,计算复杂度和最大路径长度也会增加。



    

训练

    论文描述了Transformer模型的训练数据、批处理、硬件配置、优化器选择和正则化策略。

(1).训练数据和批处理(5.1 Training Data and Batching)

  • WMT 2014 English-German 数据集:包含约450万句子对,使用字节对编码(byte-pair encoding),共享源-目标词汇表约37000个token。

  • WMT 2014 English-French 数据集:包含3600万句子对,使用词片(word-piece)编码,词汇表大小为32000。

  • 批处理:根据近似序列长度将句子对组合在一起,每个训练批次包含约25000个源token和25000个目标token。

(2).硬件和训练计划(5.2 Hardware and Schedule)

  • 硬件:使用一台装有8个NVIDIA P100 GPU的机器。

  • 训练步骤时间:基础模型每个训练步骤约0.4秒,大型模型为1.0秒。

  • 训练时间:基础模型训练了100,000步或12小时,大型模型训练了300,000步(3.5天)。

(3).优化器(5.3 Optimizer)

  • Adam优化器:使用β1 = 0.9, β2 = 0.98, ϵ = 10^-9。

  • 学习率调整:根据公式lrate = d^-0.5_model · min(step_num^-0.5, step_num · warmup_steps^-1.5)调整学习率,其中warmup_steps = 4000。

(4).正则化(5.4 Regularization)

  • 残差Dropout:在每个子层的输出前应用dropout,以及在编码器和解码器堆栈中的嵌入和位置编码的和上应用dropout,基础模型的dropout率为Pdrop = 0.1。

  • 标签平滑:在训练期间使用标签平滑,值ϵls = 0.1,这有助于提高模型的准确性和BLEU分数。


结果

    Transformer在机器翻译任务上取得了新的最佳性能,并且在英语成分句法分析任务上也表现出色。

结论

    Transformer是第一个完全基于注意力的序列转换模型,证明了注意力机制在处理序列数据时的有效性。作者对基于注意力的模型在未来的应用表示期待,并计划将Transformer扩展到文本以外的输入和输出模态。


原文:





注:数据公开渠道收集发布,版权出版方所有,此处不构成任何投资建议
返回