随着深度学习在自然语言处理领域的迅猛发展,Transformer 架构逐渐成为了语言模型的主流结构。自从 Vaswani 等人提出的基础 Transformer 在《Attention is All You Need》论文中首次亮相以来,各种改进版本相继问世。GPT-2 是其中一个重要的里程碑,其 Transformer Block 设计在细节上与基础 Transformer 有一些重要的差异,尤其是在 Layer Normalization 的位置上做了不同的安排。本文将探讨这两种架构的区别及其对模型性能的影响。
基础 Transformer 的设计
在原始的基础 Transformer 中,模型主要由两个关键的子层组成:多头自注意力层(Multi-Head Self-Attention) 和 前馈神经网络(Feed-Forward Network)。每个子层在设计时都通过了一个 残差连接(Residual Connection) 和 层归一化(Layer Normalization) 过程。这种设计的具体步骤如下:
- 输入数据首先经过 Multi-Head Self-Attention 或 Feed-Forward 子层的计算。
- 然后,将子层的输出与输入数据进行残差连接,即将输入与输出相加。
- 最后,对这个残差连接的结果进行 Layer Normalization。
这一过程可以用如下公式表示: