大模型原理入门指南-Transformer注意力机制详解_第1页
大模型原理入门指南-Transformer注意力机制详解_第2页
大模型原理入门指南-Transformer注意力机制详解_第3页
大模型原理入门指南-Transformer注意力机制详解_第4页
大模型原理入门指南-Transformer注意力机制详解_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大模型原理入门指南——Transformer/注意力机制

详解

标签:大模型原理|Transformer|注意力机制|自注意力|多头注意力|位置编码|2026最新

日期:2026年9月22日

一句话简介:从注意力机制的直觉理解出发,逐层拆解Transformer架构的每个组件——自注意力怎么算、多头注意

力为什么有效、位置编码怎么加、前馈网络做什么,再到GPT和BERT的架构差异,每一步都有具体公式和直观解释。

关键词/标签:Transformer原理、自注意力机制、多头注意力、位置编码、前馈网络、GPT架构、BERT架构、大模型

入门

适用人群:AI初学者、转行AI的开发者、产品经理、对技术原理感兴趣的非技术人员、需要理解大模型底层逻辑的职

场人群

文档类型:教程攻略类

目录

第一章:从RNN到Transformer——为什么需要注意力机制

第二章:注意力机制的直觉理解

第三章:自注意力——Transformer的核心

第四章:多头注意力——让模型从多个角度理解

第五章:位置编码——告诉模型谁在前谁在后

第六章:Transformer完整架构拆解

第七章:从Transformer到大模型——GPT和BERT的差异

第八章:大模型训练三阶段——预训练/微调/对齐

第九章:大模型推理过程——从输入到输出

第十章:常见问题解答

附录:速查表

第一章:从RNN到Transformer——为什么需要注意力机制

1.1RNN的困境

在Transformer出现之前,处理序列数据(如文本、语音)的主流架构是循环神经网络(RNN)。RNN的工作方式

是:从左到右逐词处理,每一步把前一步的"记忆"(隐藏状态)传递到下一步。

RNN有两个致命问题:

问题一:长距离依赖丢失。当句子很长时,前面的信息在逐步传递过程中会被逐渐稀释。比如"我去年在法国买的那本

书,它……"——当模型处理到"它"的时候,已经很难记住"书"和"法国"了。

问题二:无法并行计算。RNN必须逐词处理,第t步的计算依赖第t-1步的结果。这意味着训练时无法并行,速度极

慢。

1.2注意力机制的提出

2014年,Bahdanau等人在机器翻译任务中首次引入注意力机制,让解码器在生成每个词时,能够"关注"编码器中的不

同位置。这解决了长距离依赖问题,但RNN的串行结构仍然存在。

1.3Transformer的诞生

2017年,Google发表论文《AttentionIsAllYouNeed》,提出了完全基于注意力机制的Transformer架构,彻底抛弃

了RNN的循环结构。

维度RNNTransformer

处理方式逐词串行全部并行

长距离依赖随距离衰减任意距离直接关联

训练速度慢(无法并行)快(完全并行)

计算复杂度O(n)O(n²)

Transformer的核心创新是:用自注意力机制(Self-Attention)替代循环结构,让序列中每个位置都能直接"看到"其

他所有位置。

第二章:注意力机制的直觉理解

2.1什么是注意力

注意力的直觉来自人类认知——当你看一张照片时,你不会平均地看每个像素,而是把注意力集中在重要的区域。当

你读一句话时,理解某个词的含义需要关注句中其他相关的词。

注意力机制的核心思想是:对于序列中的每个位置,计算它与其他所有位置的相关性,然后根据相关性加权聚合信

息。

2.2一个生活化的比喻

假设你在图书馆找一本书。图书馆有100万本书(所有信息),但你只需要找关于"注意力机制"的书。

第一步:确定你要找什么——你心里有一个查询(Query),比如"注意力机制"。

第二步:每本书有一个标签——每本书的标签就是它的键(Key),比如"深度学习""注意力""NLP"。

第三步:计算匹配度——你把查询(Query)和每本书的键(Key)做匹配,计算相似度。

第四步:加权提取——相似度高的书,你提取更多内容;相似度低的,提取更少。每本书的实际内容是它的值

(Value)。

这就是注意力机制的核心逻辑:Query和Key计算相似度,用相似度对Value加权求和。

2.3缩放点积注意力

Transformer使用"缩放点积注意力"(ScaledDot-ProductAttention)。具体计算分为四步:

第一步:计算注意力分数。将Query与所有Key做点积,得到每个位置的原始分数。

公式:Score=Q×K^T

第二步:缩放。将分数除以√d_k(d_k是Key的维度)。缩放的原因是:当d_k很大时,点积结果会很大,经过

Softmax后会导致梯度极小,训练不稳定。

公式:ScaledScore=Q×K^T/√d_k

第三步:Softmax归一化。将缩放后的分数通过Softmax,转换为概率分布,使所有位置的权重之和为1。

公式:AttentionWeight=Softmax(Q×K^T/√d_k)

第四步:加权求和。用注意力权重对Value加权求和,得到最终输出。

公式:AttentionOutput=AttentionWeight×V

完整公式:Attention(Q,K,V)=Softmax(Q×K^T/√d_k)×V

符号含义通俗理解

Q(Query)查询向量我想找什么

K(Key)键向量每个位置有什么标签

V(Value)值向量每个位置的实际内容

d_kKey的维度缩放因子,防止数值过大

第三章:自注意力——Transformer的核心

3.1自注意力的含义

自注意力(Self-Attention)是注意力机制的一种特殊形式:Query、Key、Value都来自同一个序列。

在自注意力中,序列中的每个词都会与序列中的其他所有词计算注意力。这意味着:

"它"可以直接关注到"书"

"法国"可以直接关注到"买"

任何两个位置之间的信息传递不需要经过中间步骤

3.2Q、K、V是怎么来的

自注意力中,Q、K、V都是通过对输入向量做线性变换得到的:

Q=X×W_Q

K=X×W_K

V=X×W_V

其中,X是输入序列的向量表示(每个词对应一个向量),W_Q、W_K、W_V是三个可学习的权重矩阵。

关键理解:同一个输入X,通过三个不同的权重矩阵,被投影到三个不同的空间,分别扮演"查询者""被查询者"和"内容

提供者"三种角色。

3.3一个具体计算示例

假设输入序列是"我爱你",三个词的向量维度为4:

输入矩阵X(3×4):

"我":[1,0,1,0]

"爱":[0,1,0,1]

"你":[1,1,0,0]

通过权重矩阵W_Q、W_K、W_V(假设维度为4×3),得到Q、K、V矩阵。

然后计算Q×K^T,得到一个3×3的注意力分数矩阵。每个元素(i,j)表示第i个词对第j个词的关注程度。

经过缩放、Softmax后,得到注意力权重矩阵。最后用权重矩阵乘以V,得到输出。

3.4自注意力的三个关键特性

特性一:全局感知。每个位置都能直接访问序列中所有其他位置的信息,距离不再是障碍。

特性二:动态权重。注意力权重是根据输入动态计算的,不是固定的。同一对词在不同语境中,注意力权重可能完全

不同。

特性三:并行计算。所有位置的注意力可以同时计算,不需要像RNN那样串行处理。

3.5自注意力的计算复杂度

自注意力的计算复杂度是O(n²×d),其中n是序列长度,d是向量维度。当序列长度增加时,计算量呈平方增长。

序列长度注意力矩阵大小计算量

512512×512约26万次

10241024×1024约105万次

40964096×4096约1678万次

128K128K×128K约164亿次

这就是为什么长上下文(如128Ktokens)的计算成本极高,也是各种高效注意力变体(如稀疏注意力、线性注意力)

要解决的问题。

第四章:多头注意力——让模型从多个角度理解

4.1为什么需要多头

单头注意力只能学习一种注意力模式。但语言理解需要多种视角:

语法关系:主语和谓语之间的关系

语义关系:代词和先行词之间的关系

位置关系:相邻词之间的关系

语义角色:动词和宾语之间的关系

多头注意力(Multi-HeadAttention)让模型同时学习多种注意力模式。

4.2多头注意力的工作原理

多头注意力的操作步骤:

第一步:分割。将Q、K、V分别投影到h个不同的子空间(h是头数)。每个子空间的维度是d_model/h。

第二步:独立计算注意力。在每个子空间中独立计算缩放点积注意力。

第三步:拼接。将h个头的输出拼接在一起。

第四步:线性变换。通过一个输出权重矩阵,将拼接后的结果投影回原始维度。

公式:MultiHead(Q,K,V)=Concat(head_1,...,head_h)×W_O

其中,head_i=Attention(Q×W_Q_i,K×W_K_i,V×W_V_i)

4.3多头注意力的参数配置

以GPT-3为例:

参数值

d_model(模型维度)12288

头数(h)96

每头维度(d_k)128

层数96

每头的维度=12288/96=128。虽然每头的维度变小了,但总计算量与单头(维度12288)相当。

4.4多头注意力的实际效果

研究表明,不同的注意力头确实学到了不同的模式:

有的头关注相邻词(局部语法)

有的头关注句首词(全局信息)

有的头关注动词-宾语关系

有的头关注代词-先行词关系

这些模式不是人工设计的,而是在训练中自动涌现的。

第五章:位置编码——告诉模型谁在前谁在后

5.1为什么需要位置编码

自注意力机制本身是"位置无关"的——它计算的是任意两个位置之间的相关性,不包含位置信息。如果不加位置编

码,"我打你"和"你打我"在自注意力看来是一样的。

位置编码的作用是:给每个位置添加一个独特的"位置标记",让模型知道每个词在序列中的位置。

5.2正弦位置编码

原始Transformer使用正弦位置编码:

PE(pos,2i)=sin(pos/10000^(2i/d_model))

PE(pos,2i+1)=cos(pos/10000^(2i/d_model))

其中,pos是位置,i是维度索引,d_model是模型维度。

为什么用正弦函数:

不同位置有不同的编码值

编码值有界(在-1到1之间)

相对位置可以通过线性变换得到:PE(pos+k)可以用PE(pos)线性表示

5.3可学习位置编码

GPT系列使用可学习的位置编码:为每个位置初始化一个向量,在训练中学习。这种方法更灵活,但无法外推到训练

时未见过的长度。

5.4旋转位置编码(RoPE)

现代大模型(如LLaMA、Qwen)广泛使用旋转位置编码(RoPE)。RoPE的核心思想是:通过旋转矩阵将位置信息编

码到Q和K中,使得注意力分数自然包含相对位置信息。

RoPE的优势:

更好的外推能力(可以处理比训练时更长的序列)

相对位置编码,更符合语言特性

计算效率高

5.5三种位置编码对比

类型代表模型优势局限

正弦编码原始Transformer无需训练、可外推表达能力有限

可学习编码GPT系列灵活、表达能力强无法外推

旋转编码(RoPE)LLaMA/Qwen外推能力强、效率高实现较复杂

第六章:Transformer完整架构拆解

6.1整体结构

Transformer由编码器(Encoder)和解码器(Decoder)两部分组成。原始Transformer用于机器翻译,编码器处理

源语言,解码器生成目标语言。

以编码器为例,每一层的结构是:

输入→自注意力→残差连接+层归一化→前馈网络→残差连接+层归一化→输出

6.2残差连接

残差连接(ResidualConnection)的作用是:将输入直接加到输出上,即Output=Layer(x)+x。

为什么需要残差连接:

解决深层网络的梯度消失问题

让梯度可以直接流过,加速训练

让每一层只需要学习"增量"而非"全部"

没有残差连接时,深层Transformer(如96层)几乎无法训练。

6.3层归一化

层归一化(LayerNormalization)的作用是:对每个样本的特征维度做归一化,使其均值为0、方差为1。

为什么需要层归一化:

稳定训练过程

加速收敛

减少对初始化参数的敏感度

Transformer使用Pre-LN(先归一化再进子层)或Post-LN(先进子层再归一化)。现代大模型多使用Pre-LN,因为

训练更稳定。

6.4前馈网络

前馈网络(Feed-ForwardNetwork,FFN)是Transformer中另一个核心组件。它是一个两层全连接网络:

FFN(x)=max(0,x×W_1+b_1)×W_2+b_2

关键特点:

中间层的维度通常是d_model的4倍(如d_model=512,中间层=2048)

使用ReLU或GELU激活函数

对每个位置独立应用(位置之间不交互)

为什么需要前馈网络:

自注意力负责"位置之间的信息交换"

前馈网络负责"每个位置内部的信息处理"

两者的结合让Transformer既能理解上下文,又能深度处理每个位置的信息

6.5完整结构速查

组件作用关键公式

自注意力位置间信息交换Attention(Q,K,V)=Softmax(QK^T/√d_k)V

多头注意力多角度理解MultiHead=Concat(head_1,...,head_h)W_O

位置编码提供位置信息PE(pos,2i)=sin(pos/10000^(2i/d))

组件作用关键公式

残差连接解决梯度消失Output=Layer(x)+x

层归一化稳定训练LayerNorm(x)=(x-μ)/σ×γ+β

前馈网络位置内信息处理FFN(x)=max(0,xW_1+b_1)W_2+b_2

第七章:从Transformer到大模型——GPT和BERT的差异

7.1三种架构变体

原始Transformer包含编码器和解码器。后续模型根据任务需求,发展出三种变体:

架构代表模型结构适用任务

Encoder-onlyBERT只用编码器理解任务(分类、抽取、问答)

Decoder-onlyGPT只用解码器生成任务(写作、对话、代码)

Encoder-DecoderT5、BART编码器+解码器序列到序列任务(翻译、摘要)

7.2GPT——Decoder-only架构

GPT(GenerativePre-trainedTransformer)使用Decoder-only架构,核心特点是:

特点一:因果注意力。每个位置只能关注它之前的位置,不能关注之后的位置。这保证了生成时不会"偷看"未来的

词。

特点二:自回归生成。每次预测下一个词,然后将预测的词加入输入,继续预测下一个词。

特点三:仅用解码器。没有独立的编码器,输入和输出都在同一个解码器中处理。

因果注意力的实现:通过一个上三角矩阵(Mask)实现。Mask矩阵中,位置(i,j)在j>i时值为负无穷,经过Softmax后

权重为0。

7.3BERT——Encoder-only架构

BERT(BidirectionalEncoderRepresentationsfromTransformers)使用Encoder-only架构,核心特点是:

特点一:双向注意力。每个位置可以关注所有位置(包括之前和之后),获得完整的上下文信息。

特点二:掩码语言模型。训练时随机遮盖15%的词,让模型预测被遮盖的词。这使得模型必须理解双向上下文才能正

确预测。

特点三:仅用编码器。没有解码器,不能直接用于生成任务。

7.4GPT和BERT的对比

维度GPTBERT

架构Decoder-onlyEncoder-only

注意力因果(单向)双向

维度GPTBERT

训练目标预测下一个词预测被遮盖的词

擅长任务生成理解

代表应用ChatGPT、写作、代码搜索、分类、抽取

生成能力强弱

理解能力中强

7.5为什么GPT最终胜出

2020年之后,GPT系列逐渐成为主流,原因包括:

原因一:生成能力更通用。生成模型可以完成理解任务(通过生成答案),但理解模型无法完成生成任务。

原因二:规模扩展性更好。GPT的架构更适合大规模扩展,参数从1.17亿扩展到1.8万亿。

原因三:上下文学习能力。GPT展现出少样本学习能力——给几个示例就能完成新任务,无需微调。

第八章:大模型训练三阶段——预训练/微调/对齐

8.1第一阶段:预训练

预训练是大模型训练的第一步,目标是让模型学习语言的基本规律和世界知识。

训练数据:数万亿tokens的文本,来自网页、书籍、代码、论文等。

训练目标:预测下一个词(自回归语言建模)。

训练成本:以GPT-3为例,训练一次约需数百万美元。

关键点:预训练后的模型称为"基座模型"(BaseModel),它能续写文本,但不会遵循指令。

8.2第二阶段:监督微调

监督微调(SupervisedFine-Tuning,SFT)的目标是让模型学会遵循指令。

训练数据:人工标注的"指令-回答"对,通常数万到数十万条。

训练目标:给定指令,生成正确的回答。

关键点:SFT让模型从"续写文本"变成"回答问题",但回答质量可能不稳定。

8.3第三阶段:对齐

对齐(Alignment)的目标是让模型的输出符合人类偏好——有用、诚实、无害。

主流方法:RLHF(基于人类反馈的强化学习):

第一步,训练奖励模型。让人类对模型的多个输出进行排序,训练一个奖励模型来预测人类偏好。

第二步,强化学习。用奖励模型作为信号,通过PPO等算法优化语言模型,使其输出获得更高奖励。

替代方法:DPO(直接偏好优化)。DPO跳过奖励模型,直接用人类偏好数据优化语言模型,更简单、更稳定。

8.4三阶段对比

阶段目标数据成本产出

预训练学习语言和知识数万亿tokens极高基座模型

监督微调学会遵循指令数万条指令对中指令模型

对齐符合人类偏好人类偏好数据中高对齐模型

第九章:大模型推理过程——从输入到输出

9.1完整推理流程

当你向大模型输入一句话时,模型内部发生了什么:

第一步:分词。将输入文本拆分为token。例如"我爱北京"可能被拆为["我","爱","北京"]。

第二步:嵌入。将每个token转换为向量。每个token对应一个嵌入向量(维度通常为4096或更大)。

第三步:位置编码。为每个token的向量添加位置信息。

第四步:多层Transformer。向量经过N层Transformer(GPT-3有96层),每层包含自注意力、前馈网络等。

第五步:输出概率。最后一层的输出经过一个线性层和Softmax,得到词表中每个词的概率。

第六步:采样。根据概率分布选择下一个词。可以选择概率最高的词(贪婪搜索),也可以按概率采样(温度采

样)。

第七步:自回归生成。将生成的词加入输入,重复上述过程,直到生成结束标记或达到最大长度。

9.2关键参数

参数作用典型值

温度(Temperature)控制随机性。越低越确定,越高越随机0.7

Top-p只从累积概率前p的词中采样0.9

Top-k只从概率最高的k个词中采样50

最大长度生成的最大token数2048

9.3为什么大模型会"幻觉"

幻觉是指模型生成看似合理但实际错误的内容。原因包括:

模型学习的是"什么词最可能出现在什么位置",不是"什么是真实的"

训练数据中包含错误信息

模型在不确定时倾向于"编造"而非说"不知道"

自回归生成中,一旦前面生成了错误内容,后面会继续"合理化"

第十章:常见问题解答

Q1:Transformer为什么比RNN好?

两个核心原因:第一,自注意力让任意两个位置直接关联,解决了RNN的长距离依赖丢失问题;第二,Transformer

可以完全并行计算,训练速度远快于RNN的串行处理。

Q2:自注意力和注意力有什么区别?

注意力机制是通用概念:Query和Key计算相似度,用相似度对Value加权。自注意力是注意力的一种特殊形式:

Query、Key、Value都来自同一个序列。在Transformer中,编码器和解码器的自注意力都是这种形式。

Q3:多头注意力为什么有效?

多头注意力让模型同时学习多种注意力模式。不同的头可以关注不同的关系——有的关注语法,有的关注语义,有的

关注位置。这些模式不是人工设计的,而是在训练中自动涌现的。

Q4:位置编码为什么重要?

自注意力本身是位置无关的,不加位置编码,"我打你"和"你打我"在模型看来是一样的。位置编码给每个位置添加独特

的标记,让模型知道词序。

Q5:GPT和BERT哪个更好?

取决于任务。GPT擅长生成(写作、对话、代码),BERT擅长理解(分类、抽取、搜索)。2020年之后GPT成为主

流,因为生成模型可以完成理解任务,但理解模型无法完成生成任务。

Q6:预训练、微调、对齐有什么区别?

预训练让模型学习语言和知识(数万亿tokens,成本极高)。监督微调让模型学会遵循指令(数万条指令对)。对齐

让模型输出符合人类偏好(有用、诚实、无害)。

Q7:大模型为什么会有幻觉?

模型学习的是"什么词最可能出现在什么位置",不是"什么是真实的"。当模型不确定时,它倾向于生成看起来合理的内

容,而非说"不知道"。自回归生成中,一旦前面出错,后面会继续"合理化"。

Q8:什么是上下文窗口?为什么重要?

上下文窗口是模型一次能处理的最大token数。GPT-3是2048,GPT-4是128K,最新的模型可达1M以上。上下文窗口

越大,模型能处理的文档越长,但计算成本也越高(自注意力的复杂度是O(n²))。

附录:速查表

附录A:核心公式速查表

公式含义应用

Attention(Q,K,V)=Softmax(QK^T/√d_k)V缩放点积注意力自注意力计算

MultiHead=Concat(head_1,...,head_h)W_O多头注意力多角度理解

PE(pos,2i)=sin(pos/10000^(2i/d))正弦位置编码位置信息

Output=Layer(x)+x残差连接解决梯度消失

FFN(x)=max(0,xW_1+b_1)W_2+b_2前馈网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论