超越注意力机制
超越注意力机制
注意力机制是Transformer模型的明星,甚至拥有专门介绍它的章节。但说实话,Transformer架构的内涵远比表面看到的更丰富。我想让大家关注几个处于辅助地位、却很容易被忽视的组件:层归一化(layer normalization)和前馈网络(FFN,也称为MLP,即多层感知机)。
我们早已习惯对模型的输入进行归一化处理,无论是表格数据中的特征还是图像数据,以至于可能没足够重视归一化层。计算机视觉模型引入了批归一化(batch normalization)来解决著名的“内部协变量偏移”问题——即模型深层的输入很难保持归一化状态。
顾名思义,批归一化通过在一个小批量样本中对单个特征进行标准化来工作,而层归一化则采用不同的思路:它在单个样本中对所有特征进行标准化。在我们讨论的场景中,这些特征指的是token的嵌入向量,以及每个Transformer块生成的相应隐藏状态。
在整个实践实验系列中,你会发现层归一化被格外重视:它们是“一等公民”层,并保持在最高精度的数据类型,以确保模型平稳运行。除了传统的LayerNorm,你可能还会遇到它的变体——均方根归一化(RMSNorm),许多最新模型(如Phi-3)都在使用这种归一化方法。
另一个辅助组件是大家熟知的前馈网络。它通常由几个线性层组成,中间夹着一个激活函数——很典型的结构。以下是Phi-3模型中的MLP结构示例。
(mlp)