【Transformer架构】Transformer架构核心知识体系(包括自注意力机制、多头注意力、Encoder-Decoder结构)

文章目录

  • Transformer架构系统性知识体系总结
    • [一、Transformer 整体定位与核心背景](#一、Transformer 整体定位与核心背景)
      • [1. 核心定位](#1. 核心定位)
      • [2. 解决的核心痛点](#2. 解决的核心痛点)
      • [3. 核心设计思想](#3. 核心设计思想)
    • 二、底层核心:自注意力机制(Self-Attention)
      • [1. 核心定义与本质](#1. 核心定义与本质)
      • [2. 核心载体:缩放点积注意力(Scaled Dot-Product Attention)](#2. 核心载体:缩放点积注意力(Scaled Dot-Product Attention))
        • [2.1 核心三要素:Q/K/V向量](#2.1 核心三要素:Q/K/V向量)
        • [2.2 核心计算公式](#2.2 核心计算公式)
        • [2.3 分步计算全流程](#2.3 分步计算全流程)
      • [3. 核心配套:掩码机制(Mask)](#3. 核心配套:掩码机制(Mask))
    • [三、自注意力核心升级:多头注意力机制(Multi-Head Attention, MHA)](#三、自注意力核心升级:多头注意力机制(Multi-Head Attention, MHA))
      • [1. 核心设计动机](#1. 核心设计动机)
      • [2. 核心计算公式](#2. 核心计算公式)
      • [3. 分步计算全流程](#3. 分步计算全流程)
      • [4. 核心优势](#4. 核心优势)
      • [5. 核心变体:交叉注意力(Cross-Attention)](#5. 核心变体:交叉注意力(Cross-Attention))
    • 四、Transformer整体骨架:Encoder-Decoder编解码架构
      • [1. 编解码架构核心设计思想](#1. 编解码架构核心设计思想)
      • [2. Encoder 编码器结构详解](#2. Encoder 编码器结构详解)
        • [2.1 第一层:多头自注意力层](#2.1 第一层:多头自注意力层)
        • [2.2 第二层:前馈神经网络层(Feed-Forward Network, FFN)](#2.2 第二层:前馈神经网络层(Feed-Forward Network, FFN))
      • [3. Decoder 解码器结构详解](#3. Decoder 解码器结构详解)
        • [3.1 第一层:掩码多头自注意力层(Masked Multi-Head Self-Attention)](#3.1 第一层:掩码多头自注意力层(Masked Multi-Head Self-Attention))
        • [3.2 第二层:交叉注意力层(Encoder-Decoder Attention)](#3.2 第二层:交叉注意力层(Encoder-Decoder Attention))
        • [3.3 第三层:前馈神经网络层(FFN)](#3.3 第三层:前馈神经网络层(FFN))
      • [4. Encoder与Decoder的核心交互逻辑](#4. Encoder与Decoder的核心交互逻辑)
    • [五、完整Transformer架构 端到端全链路流程](#五、完整Transformer架构 端到端全链路流程)
      • [1. 输入预处理与嵌入层](#1. 输入预处理与嵌入层)
      • [2. Encoder编码阶段](#2. Encoder编码阶段)
      • [3. Decoder解码阶段](#3. Decoder解码阶段)
      • [4. 输出层与最终预测](#4. 输出层与最终预测)
    • 六、Transformer核心设计细节与原理
      • [1. 残差连接与层归一化](#1. 残差连接与层归一化)
      • [2. 注意力计算复杂度](#2. 注意力计算复杂度)
    • 七、基于Transformer的大模型三大架构演进分支
    • 八、核心知识体系总结

Transformer架构系统性知识体系总结

本文以底层核心→组件升级→整体架构→全链路流程→工程细节→产业演进 的逻辑,全方位结构化梳理Transformer核心知识体系 ,覆盖自注意力机制、多头注意力、Encoder-Decoder结构三大核心模块,同时关联现代大语言模型的架构演进。


一、Transformer 整体定位与核心背景

1. 核心定位

Transformer是2017年Google团队在《Attention is All You Need》中提出的完全基于注意力机制的序列建模架构,是当前所有通用大语言模型、多模态大模型的核心基石,彻底替代了此前主流的RNN/LSTM/CNN序列建模方案。

2. 解决的核心痛点

传统方案 核心缺陷 Transformer的解决方案
RNN/LSTM系列 串行计算,无法并行训练,训练效率极低;长序列依赖存在梯度衰减,难以捕捉远距离语义关联 全注意力机制,抛弃循环结构,训练阶段实现全序列并行计算;全局注意力直接建模任意两个token的依赖,无长距离衰减
CNN系列 局部感受野限制,捕捉长距离依赖需要堆叠多层,特征传递损耗大 单注意力层即可实现全局感受野,一步到位捕捉全序列依赖

3. 核心设计思想

完全基于自注意力机制实现序列建模,通过计算序列内token间的关联权重,动态聚焦关键信息;同时通过Encoder-Decoder编解码框架,实现输入序列到输出序列的端到端映射。


二、底层核心:自注意力机制(Self-Attention)

自注意力是Transformer的最底层核心,是整个架构的能力来源。

1. 核心定义与本质

  • 定义:序列中每个token,通过计算与同序列内所有token的语义关联权重,加权求和得到自身的全局特征表达,实现序列内部的全局依赖建模。
  • 与传统注意力的核心区别 :传统注意力仅用于Encoder与Decoder之间的跨序列交互,而自注意力的Q/K/V全部来自同一个输入序列,实现序列内部的双向/单向语义建模。
  • 核心解决的问题:让模型在处理每个token时,动态分配注意力权重给序列中不同位置的关键信息,而非使用固定权重,大幅提升语义表达的灵活性。

2. 核心载体:缩放点积注意力(Scaled Dot-Product Attention)

自注意力的标准实现方式,也是多头注意力的基础计算单元。

2.1 核心三要素:Q/K/V向量
向量 全称 核心作用
Q Query 查询向量 代表当前token的特征,用于匹配序列中其他token的语义
K Key 键向量 代表对应token的特征,用于被Query匹配,计算相似度
V Value 值向量 代表对应token的特征载体,用于根据相似度权重加权求和,生成最终输出
2.2 核心计算公式

A t t e n t i o n ( Q , K , V ) = softmax ( Q K T d k ) V Attention(Q,K,V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V Attention(Q,K,V)=softmax(dk QKT)V

其中: d k d_k dk 为K/Q向量的维度,用于缩放操作。

2.3 分步计算全流程
  1. 线性映射生成Q/K/V :输入特征矩阵 X X X(维度 [batch_size, seq_len, d_model]),通过三个独立的线性层,分别生成Q、K、V三个矩阵,维度均为 [batch_size, seq_len, d_k]
  2. 相似度计算 :Q与K的转置做点积,得到token间的相似度得分矩阵,维度 [batch_size, seq_len, seq_len],每个元素代表两个token的语义匹配度。
  3. 缩放处理 :将相似度矩阵除以 d k \sqrt{d_k} dk ,核心作用是缓解高维下softmax梯度消失问题 :当 d k d_k dk很大时,点积结果的方差会被放大,导致softmax输出极度尖锐(权重集中在少数token),缩放后将方差拉回1,稳定训练过程。
  4. 掩码处理(可选) :对需要屏蔽的位置赋值为 − ∞ -∞ −∞,使其经过softmax后权重趋近于0,避免无效信息干扰。
  5. 权重归一化:通过softmax函数,将相似度得分转化为和为1的注意力权重矩阵,确保每个token的所有关联权重之和为1。
  6. 加权求和生成输出 :注意力权重矩阵与V矩阵相乘,得到最终的自注意力输出,维度与输入一致 [batch_size, seq_len, d_k]

3. 核心配套:掩码机制(Mask)

掩码是自注意力适配不同任务的关键设计,分为两类:

  • Padding Mask(填充掩码):适用于Encoder和Decoder的所有注意力层。针对变长序列补齐长度时的padding无效token,屏蔽这些位置的信息,避免无效内容干扰语义建模。
  • Look-Ahead Mask(因果掩码/前瞻掩码) :仅适用于Decoder的自注意力层。屏蔽当前token之后的所有位置,让每个token只能关注自身和之前已生成的token,保证自回归生成的因果性,防止模型"看到未来信息"。

三、自注意力核心升级:多头注意力机制(Multi-Head Attention, MHA)

多头注意力是Transformer中实际落地的注意力实现,是单头自注意力的核心升级,直接决定了模型的特征表达能力。

1. 核心设计动机

单头自注意力只能捕捉单一语义空间的依赖关系,而多头注意力通过多组独立的注意力头并行计算,让模型在不同的特征子空间中学习不同类型的语义依赖,比如语法结构、长距离指代、局部固定搭配、情感倾向等,大幅提升特征表达的丰富度。

2. 核心计算公式

MultiHead ( Q , K , V ) = Concat ( head 1 , head 2 , . . . , head h ) W O \text{MultiHead}(Q,K,V) = \text{Concat}(\text{head}_1, \text{head}_2, ..., \text{head}_h) W^O MultiHead(Q,K,V)=Concat(head1,head2,...,headh)WO
head i = Attention ( Q W i Q , K W i K , V W i V ) \text{head}_i = \text{Attention}(Q W_i^Q, K W_i^K, V W_i^V) headi=Attention(QWiQ,KWiK,VWiV)

其中: h h h 为注意力头的数量, W i Q , W i K , W i V W_i^Q, W_i^K, W_i^V WiQ,WiK,WiV 为每个头独立的线性映射矩阵, W O W^O WO 为最终融合的线性投影矩阵。

3. 分步计算全流程

  1. 线性投影分头 :输入特征矩阵分别通过三个独立的线性层,生成整体的Q、K、V矩阵,再在特征维度上均匀切分为 h h h组,每组对应一个独立的注意力头。原生Transformer中, h = 8 h=8 h=8,模型维度 d m o d e l = 512 d_{model}=512 dmodel=512,每个头的维度 d k = d m o d e l / h = 64 d_k = d_{model}/h = 64 dk=dmodel/h=64。
  2. 并行单头注意力计算 :对 h h h组独立的Q、K、V,分别并行执行缩放点积注意力计算,得到 h h h个独立的单头注意力输出。
  3. 拼接与线性融合 :将 h h h个头的输出在特征维度上拼接,恢复为 d m o d e l d_{model} dmodel维度,再通过一个线性层进行全局投影融合,得到最终的多头注意力输出,维度与输入完全一致。

4. 核心优势

  • 多子空间特征学习:不同注意力头可以自发学习到不同维度的语义依赖,实现对文本语义的全方位建模;
  • 特征表达能力增强:相比单头注意力,多头可以捕捉更细粒度、更丰富的序列信息,大幅提升模型的泛化能力;
  • 完全并行计算:多个头的计算完全独立并行,不会增加训练的时间成本,同时适配GPU的并行计算架构。

5. 核心变体:交叉注意力(Cross-Attention)

交叉注意力是多头注意力的特殊形式,是Encoder与Decoder交互的核心:

  • 核心区别:自注意力的Q/K/V全部来自同一个序列;交叉注意力的Q来自Decoder的上一层输出,K和V全部来自Encoder的最终编码结果
  • 核心作用:让解码器在生成每个token时,动态关注输入序列中的关键语义信息,实现输入序列与输出序列的语义对齐(比如机器翻译中,生成目标词时对应源语言的相关词汇)。

四、Transformer整体骨架:Encoder-Decoder编解码架构

Encoder-Decoder是Transformer的整体框架,是一个标准的序列到序列(Seq2Seq) 建模架构,原生设计用于机器翻译等输入-输出序列映射任务。

1. 编解码架构核心设计思想

  • Encoder(编码器):负责对输入序列进行全局双向编码,提取输入文本的完整上下文语义特征,输出固定维度的语义编码矩阵,供Decoder使用。
  • Decoder(解码器):基于Encoder的全局编码结果,自回归地逐token生成输出序列,同时兼顾已生成序列的上下文依赖和输入序列的语义信息。
  • 原生架构参数:6层完全相同的Encoder层堆叠 + 6层完全相同的Decoder层堆叠。

2. Encoder 编码器结构详解

每一层Encoder包含两个核心子层,每个子层都配套残差连接 + 层归一化 的固定结构,整体公式为: LayerNorm ( x + Sublayer ( x ) ) \text{LayerNorm}(x + \text{Sublayer}(x)) LayerNorm(x+Sublayer(x))(原生采用Post-LN结构)。

2.1 第一层:多头自注意力层
  • 核心特点:双向无掩码自注意力,仅使用Padding Mask,无因果掩码;每个token可以关注输入序列中所有位置的token,实现全局双向语义建模。
  • 核心作用:捕捉输入序列中所有token间的语义依赖,包括局部搭配和长距离关联,生成包含全局上下文的特征表达。
2.2 第二层:前馈神经网络层(Feed-Forward Network, FFN)
  • 核心结构:两个线性层 + 非线性激活函数,公式为:
    FFN ( x ) = max ⁡ ( 0 , x W 1 + b 1 ) W 2 + b 2 \text{FFN}(x) = \max(0, x W_1 + b_1) W_2 + b_2 FFN(x)=max(0,xW1+b1)W2+b2
  • 原生实现:先升维(512→2048,4倍升维),经过ReLU激活函数,再降维(2048→512)回到模型维度;token-wise独立计算,每个token的FFN计算互不干扰,可完全并行。
  • 核心作用:对注意力输出的特征进行非线性变换,提升模型的特征拟合能力,将注意力捕捉的全局语义映射到更适合下游任务的特征空间。

3. Decoder 解码器结构详解

每一层Decoder包含三个核心子层,同样每个子层都配套残差连接 + 层归一化结构。

3.1 第一层:掩码多头自注意力层(Masked Multi-Head Self-Attention)
  • 核心特点:单向因果自注意力,同时使用Padding Mask和Look-Ahead Mask;每个token只能关注自身和之前已生成的token,无法看到未来的token。
  • 核心作用:建模输出序列的上下文依赖,保证自回归生成的因果性,防止未来信息泄露,符合文本生成的时序逻辑。
3.2 第二层:交叉注意力层(Encoder-Decoder Attention)
  • 核心实现:标准多头注意力机制,Q来自上一层Decoder的输出,K和V来自Encoder的最终输出。
  • 核心作用:实现Encoder与Decoder的语义交互,让解码器在生成每一个token时,都能动态聚焦输入序列中的关键信息,完成输入到输出的语义对齐。
3.3 第三层:前馈神经网络层(FFN)
  • 结构、实现与作用与Encoder中的FFN完全一致,对解码器的特征进行非线性变换与拟合。

4. Encoder与Decoder的核心交互逻辑

  1. Encoder对输入序列的编码是一次性完成的,编码结果会作为所有Decoder层中交叉注意力模块的K和V,贯穿整个解码过程;
  2. 训练阶段,Decoder可以并行计算完整目标序列的所有token的输出,仅通过掩码保证因果性,大幅提升训练效率;
  3. 推理阶段,Decoder采用自回归模式,逐token生成输出,每一步的输出都会作为下一步的输入,同时复用Encoder的编码结果。

五、完整Transformer架构 端到端全链路流程

将上述所有组件串联,形成从文本输入到生成输出的完整流程:

1. 输入预处理与嵌入层

  • Tokenization:将输入/目标文本转化为token id序列,完成文本的数字化;
  • Token Embedding :将token id映射为 d m o d e l d_{model} dmodel维度的稠密特征向量,实现离散符号到连续语义空间的映射;
  • 位置编码(Positional Encoding) :为每个token添加位置信息,解决自注意力排列等变 的缺陷(输入序列打乱顺序,注意力输出不变),让模型感知序列的时序信息。
    • 原生实现:正弦余弦绝对位置编码,公式为:
      P E ( p o s , 2 i ) = sin ⁡ ( p o s 10000 2 i / d m o d e l ) PE_{(pos,2i)} = \sin\left( \frac{pos}{10000^{2i/d_{model}}} \right) PE(pos,2i)=sin(100002i/dmodelpos)
      P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s 10000 2 i / d m o d e l ) PE_{(pos,2i+1)} = \cos\left( \frac{pos}{10000^{2i/d_{model}}} \right) PE(pos,2i+1)=cos(100002i/dmodelpos)
    • 最终输入:Token Embedding + 位置编码,两者直接相加,输入Encoder/Decoder。

2. Encoder编码阶段

  • 嵌入层输出输入到第1层Encoder,依次经过6层Encoder的堆叠,每层完成「多头自注意力→残差+LN→FFN→残差+LN」的特征变换;
  • 最终输出输入序列的全局语义编码矩阵,维度为 [batch_size, input_seq_len, d_model]

3. Decoder解码阶段

  • 目标序列的嵌入结果输入到第1层Decoder,依次经过6层Decoder的堆叠,每层完成「掩码多头自注意力→残差+LN→交叉注意力→残差+LN→FFN→残差+LN」的特征变换;
  • 每一层Decoder的交叉注意力模块,均复用Encoder的最终编码结果作为K/V;
  • 训练阶段采用Teacher Forcing机制,将完整的目标序列输入Decoder,并行计算所有token的输出;推理阶段逐token自回归生成。

4. 输出层与最终预测

  • Decoder的最终输出,经过线性层,将 d m o d e l d_{model} dmodel维度映射为词表大小 v o c a b _ s i z e vocab\_size vocab_size的维度;
  • 经过Softmax函数,转化为每个位置token在全词表上的概率分布;
  • 取概率最大的token作为当前步的输出,完成序列生成。

六、Transformer核心设计细节与原理

1. 残差连接与层归一化

  • 残差连接:解决深层网络的梯度消失问题,让梯度可以直接通过残差路径回传,保证6层甚至上百层的深层网络可以稳定训练;原生Transformer的残差路径不做任何线性变换,直接恒等映射。
  • 层归一化(Layer Normalization, LN):对每个样本的特征维度做归一化,稳定训练时的数值分布,加速模型收敛;区别于Batch Normalization(BN),LN不受批次大小和序列长度的影响,完美适配NLP变长序列任务。
  • Pre-LN vs Post-LN:原生Transformer采用Post-LN(先过子层,再加残差,最后LN);现代大模型普遍采用Pre-LN(先LN,再过子层,最后加残差),训练更稳定,深层网络更容易收敛。

2. 注意力计算复杂度

  • 原生自注意力的时间&空间复杂度为 O ( n 2 ⋅ d ) O(n^2 \cdot d) O(n2⋅d),其中 n n n为序列长度, d d d为模型维度;
  • 核心瓶颈: n 2 n^2 n2的复杂度随序列长度呈平方级增长,是原生Transformer处理超长序列的核心限制;后续Transformer变体(如Linear Transformer、Mamba、滑动窗口注意力)均围绕降低该复杂度展开。

七、基于Transformer的大模型三大架构演进分支

原生Transformer是完整的Encoder-Decoder架构,而现代大语言模型基于其核心组件,演化出三大主流架构分支,适配不同的任务场景:

架构分支 核心结构 代表模型 核心特点 主流适用场景
Encoder-Only(编码-only) 仅使用Transformer的Encoder栈,双向无掩码自注意力 BERT、RoBERTa、ALBERT 双向上下文建模,能充分理解输入文本的全局语义,无自回归生成能力 自然语言理解任务:文本分类、命名实体识别、情感分析、语义匹配、信息抽取
Decoder-Only(解码-only) 仅使用Transformer的Decoder栈,单向因果掩码自注意力 GPT全系列、LLaMA系列、Qwen、DeepSeek、Claude 自回归因果语言建模,逐token生成文本,预训练与微调范式统一,缩放性极强 通用大语言模型、文本生成、对话交互、代码生成、零样本/少样本学习,是当前AGI的绝对主流架构
Encoder-Decoder(编解码) 完整的Transformer编解码架构 T5、BART、mT5、GLM 兼顾双向编码理解与自回归生成能力,适配强条件生成任务 机器翻译、文本摘要、文档生成、结构化数据到文本的映射、语音识别等跨模态生成任务
Decoder-Only成为大模型主流的核心原因
  1. 缩放定律适配:随着模型参数量、数据量、计算量的提升,Decoder-Only架构的性能呈现稳定的幂律增长,可扩展性极强;
  2. 预训练-微调范式统一:预训练采用因果语言建模(CLM),与下游生成任务的形式完全一致,对齐性好,泛化能力强;
  3. 工程实现简单:单向自注意力的计算优化更简单,适配大规模分布式训练和推理优化,工程落地门槛更低。

八、核心知识体系总结

  1. 底层基石 :Transformer的核心是自注意力机制,通过Q/K/V计算序列内token的全局依赖,实现训练全并行,彻底解决了RNN的串行瓶颈和长距离依赖衰减问题;
  2. 能力升级多头注意力通过多子空间并行学习,让模型捕捉多维度、细粒度的语义依赖,是模型特征表达能力的核心来源;
  3. 整体骨架Encoder-Decoder架构中,Encoder负责全局双向语义编码,Decoder负责因果自回归生成,通过交叉注意力实现输入与输出的语义对齐;
  4. 工程保障:位置编码、残差连接+层归一化、FFN、掩码机制,共同解决了Transformer的时序感知、深层训练稳定、特征拟合等核心问题;
  5. 产业落地 :现代大模型演化出三大架构分支,其中Decoder-Only架构凭借极强的缩放性和泛化能力,成为当前通用大语言模型的绝对主流。
相关推荐
AI先驱体验官4 小时前
债小白分析:债务优化服务的新变量、AI能否带来行业升级
大数据·人工智能·深度学习·重构·aigc
7年前端辞职转AI4 小时前
Python 注释
python·编程语言
青苔猿猿4 小时前
OpenWebUI(20)源码学习-版本升级
人工智能·学习·ai·openwebui
黑金IT4 小时前
当博弈论遇见AI开发,研发即博弈,对抗即进化
人工智能·自动化
xcjbqd04 小时前
CSS如何给Bootstrap侧边菜单加图标_使用font-awesome结合CSS
jvm·数据库·python
ai生成式引擎优化技术4 小时前
服装店AI生成式引擎优化(GEO)方案
人工智能
小松加哲4 小时前
深入剖析Tomcat原理
java·tomcat
mseaspring4 小时前
离线语音识别 Vosk 入门指南:开源、轻量、告别网络依赖
人工智能·语音识别
LeeeX!4 小时前
Openclaw接入飞书,指导AI在飞书群里干活
人工智能·飞书·openclaw