首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Transformer

Transformer

修改于 2026-09-14 17:32:21
4
概述

Transformer 是由 Vaswani 等人在 2017 年论文《Attention Is All You Need》中提出的一种深度学习架构,它完全摒弃了循环神经网络和卷积结构,仅依赖注意力机制来建模序列中任意位置之间的依赖关系。由于具备高度的并行计算能力和对长距离依赖的有效捕捉能力,Transformer 迅速成为自然语言处理计算机视觉、多模态乃至大语言模型领域的主流基础架构,现代主流大模型(如混元、GPT、Gemini、Claude、Qwen 等系列)均构建于 Transformer 之上。

一、Transformer 的核心机制注意力机制是如何工作的?

1. 注意力机制的基本思想

注意力机制的核心是让序列中的每个位置在生成表示时,能够有选择地"关注"序列中其他相关位置的信息,而不受位置距离的限制。与传统循环神经网络按时间步依次传递隐状态不同,注意力机制允许任意两个位置之间直接建立连接,从而一步到位地关联相距较远的内容。

2. 查询、键、值的角色分工

注意力机制将每个位置的输入表示投影为三个向量:查询(Query)、键(Key)和值(Value)。查询代表当前位置"正在寻找什么",键代表每个位置"能提供什么匹配信号",值则是每个位置实际携带的内容。通过计算查询与各个键的相似度,模型决定应当从哪些位置提取信息。

3. 缩放点积注意力

Transformer 采用缩放点积注意力(Scaled Dot-Product Attention)作为打分函数。其计算方式为:先用查询与所有键做点积得到注意力分数,再除以键维度平方根(√d_k)进行缩放,然后通过 softmax 归一化为权重,最后用这些权重对值进行加权求和。缩放因子的作用是防止点积数值随维度增大而过大,导致 softmax 落入梯度极小的饱和区。

二、Transformer 的自注意力(Self-Attention)如何计算?

1. 自注意力的定义

自注意力(Self-Attention)是一种将同一序列内部不同位置相互关联的注意力机制,其查询、键、值均来自同一个输入序列。与交叉注意力(Cross-Attention)不同——后者查询来自一个序列、键和值来自另一个序列——自注意力用于在单一序列内部建立全局依赖。

2. 计算流程

自注意力的计算分为四步:

  • 对输入序列的每个位置,分别乘以三个可学习的权重矩阵,得到查询、键、值三组向量
  • 将查询与所有键做点积,得到注意力分数矩阵
  • 对分数进行缩放并施加 softmax,得到归一化的注意力权重
  • 用注意力权重对值向量加权求和,得到该位置的输出表示

3. 全局依赖的一步关联

由于所有位置可以同时进行上述计算,任意两个位置之间的信息传递只需一次注意力操作即可完成,最大路径长度为常数。这使得模型能够高效捕捉长距离依赖,也是 Transformer 相较循环结构的关键优势之一。

三、Transformer 的多头注意力(Multi-Head Attention)有什么作用?

1. 多头机制的动机

单一的注意力函数只能学习一种关注模式,难以同时捕捉序列中不同层面、不同粒度的关系。多头注意力(Multi-Head Attention)通过并行运行多个独立的注意力函数,让模型能够同时关注来自不同表示子空间的信息。

2. 计算方式

多头注意力将查询、键、值分别用不同的学习投影线性变换 h 次,得到 h 组投影;对每组投影分别施加单头注意力,得到 h 个输出;再将这 h 个输出拼接起来,经过一次额外的输出投影得到最终结果。原始 Transformer 采用 8 个注意力头。

3. 主要作用

  • 让不同注意力头分别聚焦于语法结构、语义关联、长距离上下文等不同维度的关系
  • 缓解单头注意力因平均化而损失有效分辨率的问题
  • 在不显著增加计算量的前提下增强模型的表达能力

四、Transformer 的位置编码(Positional Encoding)是如何实现的?

1. 引入位置信息的必要性

由于 Transformer 完全不含循环和卷积结构,模型本身对序列中 token 的顺序没有感知能力——若仅靠注意力机制,打乱顺序的输入会得到相同结果。因此必须显式地向输入注入位置信息。

2. 正弦位置编码

原始 Transformer 采用不同频率的正弦和余弦函数生成位置编码,将其直接加到输入嵌入上。其设计特点是:任意两个位置之间的编码关系可以通过线性变换相互推导,使模型能够学习基于相对位置的注意力,并且具备对超出训练长度序列的一定泛化能力。

3. 可学习位置编码

除正弦编码外,许多后续模型采用可学习的位置嵌入,即把位置当作可训练参数随模型一起优化。两种方式在实践中均被证明有效,可学习编码在特定任务上往往更灵活,正弦编码则在长度外推上更具优势。

五、Transformer 的残差连接和层归一化是如何工作的?

1. 残差连接的作用

Transformer 的每个子层(多头注意力子层、前馈网络子层)都包裹一层残差连接,即把子层的输入直接加到其输出上。残差连接为梯度提供了直达浅层的通路,显著缓解了深层网络的梯度消失问题,使堆叠数十层成为可能。

2. 层归一化的作用

每个子层在残差相加之后施加层归一化(Layer Normalization),对当前样本的特征维度进行归一化,稳定激活值的分布。这一组合(残差连接 + 层归一化)是深层 Transformer 能够稳定训练的关键工程基础。

3. 前馈网络子层

在注意力子层之外,Transformer 每个编码器和解码器层还包含一个逐位置的前馈神经网络(Feed-Forward Network)。该网络对每个位置独立地施加相同的非线性变换,先升维再降维,用于增强模型对每个位置表示的非线性加工能力,其参数在所有位置上共享。

六、Transformer 的掩码机制(Mask)是如何工作的?

1. 掩码的目的

掩码机制用于控制注意力可以"看到"哪些位置,通过在注意力分数矩阵中将不允许的位置置为极小值(如负无穷),使其经 softmax 后权重归零。掩码是层数学定义的一部分,而非单纯的实现细节。

2. 因果掩码

在解码器的自注意力中,为保证自回归生成特性——即当前位置只能依赖此前已生成的位置——需要施加因果掩码(Causal Mask),禁止位置 i 关注位置 i 之后的所有位置。这确保模型在预测下一个 token 时不会"偷看"未来信息。

3. 交叉注意力掩码与填充掩码

在编码器—解码器的交叉注意力中,解码器状态作为查询、编码器输出作为键和值,用于将生成过程对齐到输入序列。此外,在处理长度不等的批量样本时,填充掩码(Padding Mask)用于排除为对齐而补齐的占位位置,避免无效 token 干扰注意力计算。

七、Transformer 为什么能支持并行计算?

1. 摆脱序列依赖

循环神经网络必须在时间步 t-1 完成后才能计算时间步 t,本质上是串行过程,难以充分利用 GPU 的并行能力。Transformer 用注意力替代循环状态,序列中所有位置可以在同一时刻并行计算表示,大幅提升训练效率。

2. 训练效率的提升

由于并行化能力增强,Transformer 可以在更大规模的数据集上以更低的时间成本完成训练。原始论文报告,模型在 8 块 P100 GPU 上训练约 3.5 天即可在 WMT 2014 英法翻译任务上取得 41.8 BLEU 的单模型最优结果,训练成本远低于同期基于循环网络的模型。

3. 扩展性的基础

并行计算能力使 Transformer 天然适配大规模分布式训练,为后续将模型参数扩展到数百亿乃至数千亿提供了工程前提。国内主流大模型如腾讯混元即基于 Transformer 架构,依托大规模并行训练实现能力扩展。

八、Transformer 如何处理长序列数据?

1. 长序列带来的挑战

标准自注意力的时间和空间复杂度均为序列长度的平方级(O(n²))。当序列长度增大时,注意力分数矩阵的存储与计算开销急剧上升,成为处理长文档、长上下文场景的主要瓶颈。

2. 上下文窗口的扩展思路

为应对长序列,实践中发展出多条技术路线:通过滑动窗口限制每个位置的关注范围,通过稀疏注意力只计算部分 token 对,或通过线性化近似降低复杂度。这些方法在保持性能的同时,使模型能够处理数十万乃至百万级 token 的上下文。

3. 位置外推技术

针对超出训练长度的序列,还可通过位置编码外推技术(如 NTK、YaRN 等)调整位置编码尺度,使模型在推理阶段支持更长的上下文窗口,而无需从头重新训练。

九、有哪些方法可以降低 Transformer 的注意力计算复杂度?

1. 稀疏注意力

稀疏注意力通过只计算一部分 token 之间的注意力来降低开销。代表性工作包括 2019 年的 Sparse Transformer(将复杂度降至 O(n√n))、2020 年的 Longformer(滑动窗口加少量全局 token)和 BigBird(随机加局部加全局,兼具通用逼近性质)。

2. 线性注意力

线性注意力通过核技巧或随机特征近似 softmax,将复杂度降为线性 O(n)。代表性方法包括 Linformer(将键值投影到低维)和 Performer(用正交随机特征近似 softmax 核)。这类方法在长序列上速度优势明显,但在长上下文召回等任务上精度通常略有损失。

3. 硬件感知优化

FlashAttention 是另一条影响深远的路线,它不改变注意力的数学定义,而是通过分块计算和核融合,将注意力运算留在片上高速缓存中完成,避免在显存中物化完整的注意力矩阵,从而实现线性内存占用和数倍加速。它已成为 PyTorch、JAX 及主流推理框架的默认注意力内核,其后续版本 FlashAttention-2(2023)、FlashAttention-3(2024)依次提升了并行度与硬件利用率;2026 年 3 月发布的 FlashAttention-4 面向 Blackwell 架构(如 B200)进行算法与内核协同设计,在 BF16 精度下性能可达约 1613 TFLOPs/s。

十、Transformer 的训练过程中使用了哪些优化技巧?

1. 优化器与学习率调度

原始 Transformer 采用 Adam 优化器,并配合预热(Warmup)学习率调度:训练初期逐步升高学习率以避免早期发散,随后再按策略衰减。预热机制对深层注意力模型的稳定收敛至关重要。

2. 标签平滑

训练中使用标签平滑(Label Smoothing),将正确目标 token 的部分概率质量分散到其他 token 上,作为一种正则化手段,有助于缓解过拟合、提升泛化表现。

3. 残差与归一化的稳定作用

如前所述,残差连接与层归一化的组合为深层网络的梯度流动提供了保障,是大规模堆叠层数时维持训练稳定的基础技巧。这些技巧共同支撑了 Transformer 在大规模数据上的可靠训练。

十一、Transformer 在大语言模型中扮演什么角色?

1. 作为基础架构

Transformer 是当代大语言模型(LLM)的通用底座。几乎所有主流大模型都采用以解码器为主的 Transformer 架构,通过自回归方式逐 token 生成文本,其自注意力机制是模型捕捉长距离语义依赖的核心。

2. 预训练范式

基于 Transformer 的编码器(如 BERT)与解码器(如 GPT 系列)分别发展出双向理解与自回归生成两条技术路线,前者擅长文本理解类任务,后者成为生成式大模型的主流形态。大规模预训练加下游适配的范式,使 Transformer 成为通用人工智能能力的主要载体。

3. 产业落地

在产业实践中,基于 Transformer 的大模型被广泛用于对话、代码生成、检索增强生成等场景。腾讯混元大模型即是基于 Transformer 构建的代表性产品之一,依托这一架构实现了对长距离语义依赖的有效建模与大规模训练。

十二、Transformer 在多模态模型中如何发挥作用?

1. 视觉领域的引入

2020 年提出的 Vision Transformer(ViT)证明,Transformer 可以直接应用于图像:将图像切分为固定大小的图块(如 16×16 像素),把每个图块当作一个 token 展平成序列,再送入标准 Transformer 编码器处理。这打破了此前计算机视觉由卷积神经网络主导的格局。

2. 图文对齐

2021 年提出的 CLIP 通过对比学习,将图像编码器(ViT)与文本编码器映射到同一嵌入空间,使匹配的图文对彼此靠近、不匹配的彼此远离。这种对齐能力支撑了零样本分类、图文检索等任务,并成为众多多模态模型的视觉前端。

3. 统一的多模态架构

由于图像和文本都可以被表示为 token 序列并由同一套 Transformer 机制处理,将视觉与语言模态融合变得自然。当前主流视觉语言模型通常由视觉编码器、投影层和语言模型三部分组成,Transformer 在其中承担跨模态信息整合与推理的核心角色。

十三、Transformer 的混合专家(MoE)扩展是如何工作的?

1. 稀疏激活思想

混合专家(Mixture of Experts, MoE)是一种条件计算机制:模型将前馈层替换为多个并行的"专家"子网络,并为每个输入 token 由门控网络动态选择其中一小部分专家参与计算。这样可以在不成比例增加计算成本的前提下,大幅扩充模型的总参数量。

2. 容量与计算的解耦

传统稠密模型中,每个 token 都要经过全部参数;而 MoE 让总参数与单次激活参数解耦——模型可以拥有数百亿乃至数千亿总参数,但每个 token 只激活其中一小部分。这使模型在保持较高推理效率的同时获得更强的表达能力。

3. 代表性实践

MoE 已成为当前大规模模型扩展的主流方向之一,被广泛应用于 Mixtral、DeepSeek 等系列模型。以 Qwen3-235B-A22B 为例,其将每个 token 路由到 128 个专家中的 8 个,在 2350 亿总参数中激活约 220 亿参数,体现了"大总参、小激活"的典型设计。

十四、Transformer 的推理阶段如何提升效率?

1. 键值缓存

在自回归解码中,每生成一个新 token 都需要复用此前所有 token 的键和值。键值缓存(KV Cache)将这些中间计算结果缓存起来,后续步骤只需重算新 token 的查询,避免重复计算,是推理加速的基础手段。

2. 压缩 KV 缓存

为减小缓存占用,实践中发展出多查询注意力(MQA)和分组查询注意力(GQA):MQA 让所有查询头共享同一组键值,GQA 则在二者之间折中,将查询头分组共享键值。GQA 在质量与速度间取得平衡,已被 Llama、Mistral 等现代模型广泛采用。

3. 系统级优化

推理优化的完整技术栈还包括:FlashAttention 降低注意力内存开销、PagedAttention 以分页方式管理 KV 缓存消除碎片、量化(INT8/INT4)减少显存占用、以及投机解码(Speculative Decoding)用小模型并行草稿、大模型批量验证来摊薄单 token 成本。这些手段组合使用,使生产环境能够高效服务长上下文、高并发的推理请求。

十五、Transformer 与传统循环神经网络(RNN)相比有什么优势?

1. 并行能力

RNN 的隐状态必须按时间步依次传递,训练难以并行;Transformer 基于注意力,序列中所有位置可同时计算,训练并行度高,能更充分利用 GPU 算力,显著缩短大规模训练时间。

2. 长距离依赖

在 RNN 中,相距较远的两个位置之间信息需经过多个中间步骤传递,容易出现梯度消失或爆炸;Transformer 中任意两个位置之间只需一次注意力操作即可直接关联,最大路径长度为常数,更擅长捕捉长距离依赖。

3. 可扩展性

由于并行化程度高、训练更稳定,Transformer 更容易随数据和算力规模扩展,参数可以增长到 RNN 时代难以企及的量级,这也是其成为当代大模型基础架构的根本原因。

相关文章
  • Transformer是什么,Transformer应用
    1.1K
  • Transformer - 3 - Transformer 的实现
    1.1K
  • Transformer - 4 - Transformer 的细节
    1K
  • Transformer
    1.4K
  • Transformer
    1.2K
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券