定义
Transformer 是一种深度学习模型架构,由 Google 的研究人员在 2017 年的论文《Attention Is All You Need》中提出。它最初用于机器翻译,核心创新是完全依靠“注意力机制”来建模序列中各元素之间的关系,而不再使用此前主流的循环神经网络(RNN)结构。
如今,几乎所有主流大语言模型都建立在 Transformer 或其变体之上,它也被广泛用于图像、语音、蛋白质结构预测等领域。
工作原理
在 Transformer 之前,处理文本的主流模型是 RNN 及其改进版 LSTM。它们按顺序逐词处理文本,前一步算完才能算后一步,难以并行,而且距离较远的词之间的信息容易在传递中衰减。
Transformer 换了一种思路:让序列中的每个位置都能直接“看到”其他所有位置,并根据相关程度分配注意力。这样既能捕捉长距离依赖,又能在训练时并行计算整个序列,充分利用 GPU 的算力。
一个 Transformer 层通常包含以下组件:
自注意力层。 每个 Token 根据与其他 Token 的相关性,汇总它们的信息,更新自身的表示。实际使用“多头注意力”,即同时运行多组注意力,从不同角度捕捉关系。
前馈网络。 对每个位置单独做一次非线性变换,增强模型的表达能力。
残差连接与层归一化。 帮助深层网络稳定训练,让信息和梯度更容易在多层之间传递。
位置编码。 注意力本身不区分顺序,因此需要额外注入位置信息,让模型知道每个 Token 在序列中的位置。
把这样的层堆叠几十层甚至更多,就构成了完整的模型。
原始论文中的 Transformer 包含“编码器”和“解码器”两部分。后来的模型发展出三种主要形态:
- 仅编码器:如 BERT,擅长理解类任务,如分类、检索。
- 仅解码器:如 GPT 系列,擅长生成类任务,是当前大语言模型的主流形态。
- 编码器—解码器:如 T5,常用于翻译、摘要等输入到输出的转换任务。
典型应用
- 大语言模型与对话助手
- 机器翻译、文本摘要
- 文本分类、语义检索(通过生成 Embedding)
- 图像识别(Vision Transformer)与图像生成中的去噪网络
- 语音识别与语音合成
- 生物信息学,如蛋白质序列建模
相关概念
- 注意力机制:Transformer 的核心计算单元。
- 大语言模型:基于 Transformer 的大规模生成模型。
- 上下文窗口:受注意力计算成本影响,模型可处理的序列长度有限。
- 混合专家模型(MoE):一种把前馈网络替换为多个“专家”的 Transformer 变体。
- Embedding:Transformer 输入端把 Token 映射为向量的表示。