Transformer家族2.0版
本文是Lilian Weng对2020年《Transformer家族》一文的重大更新,篇幅翻倍。文章系统梳理了近年来Transformer架构的众多改进,涵盖注意力机制、位置编码、长上下文支持、自适应建模和高效注意力等核心主题,并纳入Transformer-XL、Rotary位置嵌入、ALiBi、通用Transformer等最新进展。
本文是Lilian Weng于2023年1月27日发布的博客文章,是对她2020年同名文章的全面更新。原文篇幅翻倍,结构重新组织,并融入了过去三年中大量新的Transformer架构改进。文章系统介绍了Transformer的基础知识、注意力机制、位置编码、长上下文处理、自适应建模以及高效注意力等核心主题,并涵盖了Transformer-XL、Compressive Transformer、kNN-LM、SPALM、Memorizing Transformer、DA-Transformer、ALiBi、Universal Transformer、自适应注意力跨度、深度自适应Transformer以及多种稀疏注意力模式等最新进展。
文章首先回顾了Transformer的基础:缩放点积注意力、多头自注意力以及编码器-解码器架构。注意力机制允许模型有选择地关注输入数据的特定部分,而自注意力则关注同一序列的不同位置。多头注意力通过并行计算多个子空间丰富了表示能力。编码器-解码器结构分别用于生成上下文感知的表示和提取信息。
位置编码是Transformer的关键,因为自注意力是置换不变的。文章详细介绍了多种位置编码方法:正弦位置编码使用不同频率的正弦和余弦函数;学习位置编码为每个位置分配可学习向量;相对位置编码(Shaw et al.)编码位置偏移;Transformer-XL提出了一种基于点积重参数化的相对位置编码;旋转位置嵌入(RoPE)利用旋转矩阵将相对位置信息注入每一层。这些方法对于模型理解序列顺序至关重要。
为了支持更长的上下文,研究者提出了多种改进。Transformer-XL通过引入段级别的循环连接和记忆来重用前一隐藏状态,从而扩展注意力范围。Compressive Transformer进一步压缩旧记忆以支持更长的序列。kNN-LM和SPALM使用外部键值存储作为非可微长期记忆,通过最近邻检索增强预测。Memorizing Transformer在解码器顶部添加了kNN增强的注意力层。此外,DA-Transformer和ALiBi通过基于距离的偏置项调整注意力分数,鼓励模型外推至更长的上下文。Universal Transformer则将递归机制与Transformer结合,通过自适应计算时间动态调整处理步数。
自适应建模方面,自适应注意力跨度(Sukhbaatar et al.)允许每个注意力头学习最优的注意力范围,通过软掩码和L1正则化实现。深度自适应Transformer(Elabyad et al.)和CALM(Schuster et al.)则在推理时动态决定每个令牌需要经过的层数,以平衡速度和性能。这些方法显著降低了计算成本。
高效注意力旨在解决标准Transformer二次复杂度的问题。文章介绍了多种稀疏注意力模式,包括固定局部上下文(如图像Transformer)、步进上下文、局部与全局组合等。低秩注意力通过矩阵分解进一步降低复杂度。这些改进使得Transformer能够处理更长的序列,同时保持计算可行性。
总之,自2020年以来,Transformer架构在多个维度上取得了显著进步,这些改进不仅提升了模型性能,还扩展了其应用范围,特别是在自然语言处理和强化学习领域。