Transformer/zh
| Article | |
|---|---|
| Topic area | Machine Learning |
| Difficulty | Introductory |
Transformer 是一类围绕自注意力机制构建的神经网络架构,由 Vaswani 等人在 2017 年的论文 Attention Is All You Need 中提出。它已成为自然语言处理领域占主导地位的架构,并日益广泛地应用于计算机视觉、语音和多模态任务。
概述
Transformer 处理一个 token 序列时,使用注意力而非循环或卷积,反复在各位置之间混合信息。每一层先应用多头自注意力,再接一个按位置的前馈网络,每个子层都带有残差连接和层归一化。由于注意力对位置具有置换不变性,因此通过位置编码显式注入位置信息。
与循环神经网络不同,Transformer 在训练时并行计算序列中的所有位置,这在现代硬件上显著提升了吞吐量。这种并行性,加上注意力能够在固定层数内建模长距离依赖,使得可以在超大规模语料上训练超大模型——这是当代大语言模型(LLM)的基础。
核心概念
- 自注意力 —— 序列中的每个 token 计算所有其他 token 的加权和,权重根据内容相似度而非位置学习得到。
- 查询、键和值 —— 每个 token 被投影为三个向量:查询与键进行匹配以产生注意力权重,再用这些权重对值进行加权组合。
- 多头注意力 —— 多个注意力操作以独立的投影并行运行,使模型能够同时关注输入的不同方面。
- 位置编码 —— 加到 token 嵌入上的正弦或学习得到的向量,使模型能够在原本与顺序无关的操作中区分位置。
- 残差连接与层归一化 —— 包裹每个子层,以稳定梯度并支持非常深的堆叠。
- 前馈网络 —— 按位置独立作用于每个 token 的两层 MLP,提供逐位置的非线性变换。
- 因果掩码 —— 在解码器中,未来位置在注意力中被屏蔽,使模型在自回归生成时无法窥视未来。
历史
注意力作为编码器与解码器隐藏状态之间的一种软对齐机制,由 Bahdanau 等人 (2015) 引入用于神经机器翻译,并由 Luong 等人 (2015) 加以改进,但这些模型仍然构建在 RNN 之上。2017 年,Vaswani 等人提出了 Transformer,完全去除了循环结构,仅依赖注意力。该架构在 WMT'14 英德和英法翻译基准上取得了最佳成绩,同时训练时间仅为之前的一小部分。
2018 年,Devlin 等人发布了 BERT,这是一种使用掩码语言建模预训练的深度双向编码器,在大量 NLP 基准上刷新了当时的最佳结果。同年,Radford 等人提出了 GPT,一种仅含解码器、用标准语言建模目标训练的自回归 Transformer。随后的规模扩展——GPT-2 (2019)、GPT-3 (2020)、PaLM、LLaMA 以及当代前沿模型——表明随着参数、数据和算力的增长,Transformer 的性能遵循可预测的扩展律(Kaplan 等人 2020)。
Transformer 还扩展到了文本之外:Vision Transformer(Dosovitskiy 等人 2021)将图像块视为 token;语音 Transformer(如 Whisper)作用于音频频谱图;CLIP 和 Flamingo 等多模态模型则将多种模态统一到一个架构中。
主要方法
核心组件是缩放点积注意力。给定查询矩阵 $ Q \in \mathbb{R}^{n \times d_k} $、键矩阵 $ K \in \mathbb{R}^{n \times d_k} $ 和值矩阵 $ V \in \mathbb{R}^{n \times d_v} $:
- $ \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{Q K^{\!\top}}{\sqrt{d_k}}\right) V $
缩放因子 $ \sqrt{d_k} $ 可避免点积过大、将 softmax 推入梯度极小的区域。多头注意力 以独立的投影并行运行 $ h $ 个头,并将它们的输出拼接起来:
- $ \mathrm{MultiHead}(Q, K, V) = \mathrm{Concat}(\mathrm{head}_1, \dots, \mathrm{head}_h)\, W^O $
其中 $ \mathrm{head}_i = \mathrm{Attention}(Q W_i^Q,\, K W_i^K,\, V W_i^V) $。
在实践中,三种架构变体占据主导地位:
- 编码器–解码器 Transformer —— 最初的设计,用于翻译、摘要等序列到序列任务。编码器层使用双向自注意力;解码器层使用因果自注意力以及对编码器输出的交叉注意力。代表:T5、BART 及最早的 Vaswani 模型。
- 仅编码器 Transformer —— 去除解码器,全程使用双向自注意力。以掩码语言建模进行预训练,用于表示学习。代表:BERT、RoBERTa、DeBERTa。
- 仅解码器 Transformer —— 去除编码器,仅使用因果自注意力,以下一 token 预测为训练目标。如今已成为通用语言模型的主流设计。代表:GPT 系列、LLaMA、Mistral、Claude。
最初的 Transformer 使用正弦位置编码:
- $ \mathrm{PE}(pos, 2i) = \sin\!\left(\frac{pos}{10000^{2i/d}}\right), \quad \mathrm{PE}(pos, 2i+1) = \cos\!\left(\frac{pos}{10000^{2i/d}}\right) $
后续工作引入了学习得到的绝对位置(BERT、GPT-2)、相对位置编码(Shaw 等人 2018,T5)、旋转位置 嵌入(RoPE,Su 等人 2021),以及 ALiBi 线性偏置(Press 等人 2022);后两者能够更好地外推到比训练时更长的序列。
自注意力的复杂度为 $ O(n^2 d) $,对长序列而言代价高昂。高效 Transformer 变体降低了这一开销:Linformer 和 Performer 采用低秩或核近似;Longformer 和 BigBird 混合使用局部与全局注意力模式;FlashAttention(Dao 等人 2022)通过对 IO 友好的方式重排计算,在大幅提高硬件利用率的同时实现精确注意力。稀疏专家混合(MoE)路由用稀疏激活的专家(Switch Transformer、Mixtral)替代稠密前馈子层,以在不按比例增加算力的情况下扩大参数规模。
关联
Transformer 与现代机器学习中的其他思想有着深刻联系。它直接建立在 注意力机制之上,将早期 序列到序列模型中使用的软对齐加以推广。其输入通常是稠密的 词嵌入(或如 BPE 和 SentencePiece 这样学习得到的子词 嵌入),其在词表上的输出则由作用在线性 logits 上的 softmax 产生。
训练依赖与其他深度网络相同的机制:通过注意力与前馈子层进行反向传播,使用如 Adam 和 AdamW 这类梯度下降变体进行优化,并使用交叉熵损失进行下一 token 预测或掩码 token 恢复。正则化技术也是标准做法,包括作用于注意力权重和前馈激活上的 dropout,以及权重衰减。
从架构上看,Transformer 可被视为带有内容条件路由的全连接层的推广,或视为作用于全连接图上的图神经网络的特例。它们通常在大规模未标注语料上预训练,然后通过迁移学习适配到下游任务——微调、LoRA 和前缀微调等参数高效方法,或者直接进行上下文提示。
参见
- Attention Mechanisms
- Neural Networks
- Recurrent Neural Networks
- Word Embeddings
- Softmax Function
- Transfer Learning
- Backpropagation
- Cross-Entropy Loss
参考文献
- Vaswani, A.、Shazeer, N.、Parmar, N.、Uszkoreit, J.、Jones, L.、Gomez, A. N.、Kaiser, Ł. 与 Polosukhin, I. (2017). "Attention Is All You Need". NeurIPS.
- Devlin, J.、Chang, M.-W.、Lee, K. 与 Toutanova, K. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". NAACL.
- Radford, A.、Narasimhan, K.、Salimans, T. 与 Sutskever, I. (2018). "Improving Language Understanding by Generative Pre-Training". OpenAI technical report.
- Brown, T. 等 (2020). "Language Models are Few-Shot Learners". NeurIPS.
- Kaplan, J. 等 (2020). "Scaling Laws for Neural Language Models". arXiv:2001.08361.
- Dosovitskiy, A. 等 (2021). "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale". ICLR.
- Su, J.、Lu, Y.、Pan, S.、Murtadha, A.、Wen, B. 与 Liu, Y. (2021). "RoFormer: Enhanced Transformer with Rotary Position Embedding". arXiv:2104.09864.
- Dao, T.、Fu, D. Y.、Ermon, S.、Rudra, A. 与 Ré, C. (2022). "FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness". NeurIPS.