大模型基础之Transformer:小白也能看懂的架构详解,建议收藏

本文详细介绍了Transformer模型架构,包括其核心组件自注意力机制和多头注意力机制。文章解释了Transformer的编码器和解码器结构,以及位置编码、残差连接和层归一化等技术细节。Transformer通过并行处理序列数据解决了RNN的局限性,成为大模型的基础架构,对于自然语言处理和序列到序列任务具有重要意义。

1、 什么是Transformer

Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构,它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制(self-attention mechanism),这是一个关键的创新,使其在处理序列数据时表现出色。

以下是Transformer的一些重要组成部分和特点:

  • 自注意力机制(Self-Attention):这是Transformer的核心概念之一,它使模型能够同时考虑输入序列中的所有位置,而不是像循环神经网络(RNN)或卷积神经网络(CNN)一样逐步处理。自注意力机制允许模型根据输入序列中的不同部分来赋予不同的注意权重,从而更好地捕捉语义关系。

  • 多头注意力(Multi-Head Attention):Transformer中的自注意力机制被扩展为多个注意力头,每个头可以学习不同的注意权重,以更好地捕捉不同类型的关系。多头注意力允许模型并行处理不同的信息子空间。

  • 堆叠层(Stacked Layers):Transformer通常由多个相同的编码器和解码器层堆叠而成。这些堆叠的层有助于模型学习复杂的特征表示和语义。

  • 位置编码(Positional Encoding):由于Transformer没有内置的序列位置信息,它需要额外的位置编码来表达输入序列中单词的位置顺序。

  • 残差连接和层归一化(Residual Connections and Layer Normalization):这些技术有助于减轻训练过程中的梯度消失和爆炸问题,使模型更容易训练。

  • 编码器和解码器:Transformer通常包括一个编码器用于处理输入序列和一个解码器用于生成输出序列,这使其适用于序列到序列的任务,如机器翻译。

2 、Transformer 整体结构

首先介绍 Transformer 的整体结构,下图是 Transformer 用于中英文翻译的整体结构:

可以看到 Transformer 由 Encoder 和 Decoder 两个部分组成,Encoder 和 Decoder 都包含 6 个 block。Transformer 的工作流程大体如下:

第一步: 获取输入句子的每一个单词的表示向量 X,X由单词的 Embedding(Embedding就是从原始数据提取出来的Feature) 和单词位置的 Embedding 相加得到。

第二步: 将得到的单词表示向量矩阵 (如上图所示,每一行是一个单词的表示 x) 传入 Encoder 中,经过 6 个 Encoder block 后可以得到句子所有单词的编码信息矩阵 C,如下图。单词向量矩阵用 𝑋𝑛×𝑑 表示, n 是句子中单词个数,d 是表示向量的维度 (论文中 d=512)。每一个 Encoder block 输出的矩阵维度与输入完全一致。

第三步: 将 Encoder 输出的编码信息矩阵 C传递到 Decoder 中,Decoder 依次会根据当前翻译过的单词 1~ i 翻译下一个单词 i+1,如下图所示。在使用的过程中,翻译到单词 i+1 的时候需要通过 Mask (掩盖) 操作遮盖住 i+1 之后的单词。

Decoder 接收到 Encoder 的编码矩阵 C 后,首先输入起始标记"“来预测第一个单词"I”;接着将"“和已生成的"I"一起输入,预测下一个单词"have”,并依此类推。这是 Transformer 运行时的基本过程,后续将详细介绍其中的各个组件细节。

3 、Transformer 的输入

Transformer 中单词的输入表示 x由单词 Embedding 和位置 Embedding (Positional Encoding)相加得到。

3.1 单词 Embedding

单词的 Embedding 有很多种方式可以获取,例如可以采用 Word2Vec、Glove 等算法预训练得到,也可以在 Transformer 中训练得到。

3.2 位置 Embedding

由于 Transformer 没有采用 RNN 的循环结构,而是直接处理整个序列,因此无法自动获取单词的顺序信息。然而,单词的位置信息在自然语言处理中至关重要。为了解决这个问题,Transformer 除了使用单词 Embedding 来表示词义外,还引入了位置 Embedding(Positional Encoding),用于编码单词在句子中的绝对或相对位置,从而保留序列的顺序信息。

位置 Embedding 用 PE表示,PE 的维度与单词 Embedding 是一样的。PE 可以通过训练得到,也可以使用某种公式计算得到。在 Transformer 中采用了后者,计算公式如下:

其中,pos 表示单词在句子中的位置,d 表示 PE的维度 (与词 Embedding 一样),2i 表示偶数的维度,2i+1 表示奇数维度 (即 2i≤d, 2i+1≤d)。

将单词的词 Embedding 和位置 Embedding 相加,就可以得到单词的表示向量 x,x 就是 Transformer 的输入。

4、 Self-Attention(自注意力机制)

上图展示了 Transformer 的架构组成,左侧是编码器模块(Encoder block),右侧是解码器模块(Decoder block)。图中红色标注的部分是多头注意力机制(Multi-Head Attention),它由多个自注意力(Self-Attention)单元构成。可以看到,编码器模块包含一个多头注意力层,而解码器模块则包含两个——其中一个使用了掩码机制(Masked)。

在每个多头注意力层之上还有一个"Add & Norm"层:"Add"代表残差连接(Residual Connection),用于缓解深层网络的退化问题;"Norm"指层归一化(Layer Normalization),用于对每层的输出进行标准化处理。

由于自注意力机制是 Transformer 的核心,接下来我们将重点解析 Multi-Head Attention 和 Self-Attention 的具体实现原理。

4.1 Self-Attention结构

上图展示了 Self-Attention 的运算机制,其核心是通过查询矩阵 Q(Query)、键矩阵 K(Key)和值矩阵 V(Value)进行计算。在实际操作中,Self-Attention 的输入可能是词向量矩阵 X(由单词的嵌入表示组成),也可能是前一个 Encoder block 的输出。而 Q、K、V 这三个矩阵,正是通过对 Self-Attention 的输入进行线性变换(矩阵乘法)得到的。

4.2 Q, K, V 的计算

Self-Attention 的输入用矩阵X进行表示,则可以使用线性变阵矩阵WQ,WK,WV计算得到Q,K,V。计算如下图所示,注意 X, Q, K, V 的每一行都表示一个单词。

4.3 Self-Attention的输出

得到矩阵 Q, K, V之后就可以计算出 Self-Attention 的输出了,计算的公式如下:

公式中计算矩阵Q和K每一行向量的内积,为了防止内积过大,因此除以 𝑑𝑘 的平方根。Q乘以K的转置后,得到的矩阵行列数都为 n,n 为句子单词数,这个矩阵可以表示单词之间的 attention 强度。下图为Q乘以 𝐾𝑇 ,1234 表示的是句子中的单词。

得到𝑄𝐾𝑇 之后,使用 Softmax 计算每一个单词对于其他单词的 attention 系数,公式中的 Softmax 是对矩阵的每一行进行 Softmax,即每一行的和都变为 1。

得到 Softmax 矩阵之后可以和V相乘,得到最终的输出Z。

上图中 Softmax 矩阵的第 1 行表示单词 1 与其他所有单词的 attention 系数,最终单词 1 的输出 𝑍1 等于所有单词 i 的值 𝑉𝑖 根据 attention 系数的比例加在一起得到,如下图所示:

4.4 Multi-Head Attention

在上一步,我们已经知道怎么通过 Self-Attention 计算得到输出矩阵 Z,而 Multi-Head Attention 是由多个 Self-Attention 组合形成的,下图是论文中 Multi-Head Attention 的结构图。

从上图可以看到 Multi-Head Attention 包含多个 Self-Attention 层,首先将输入X分别传递到 h 个不同的 Self-Attention 中,计算得到 h 个输出矩阵Z。下图是 h=8 时候的情况,此时会得到 8 个输出矩阵Z。

得到 8 个输出矩阵 𝑍1 到 𝑍8 之后,Multi-Head Attention 将它们拼接在一起 (Concat),然后传入一个Linear层,得到 Multi-Head Attention 最终的输出Z。

可以看到 Multi-Head Attention 输出的矩阵Z与其输入的矩阵X的维度是一样的。

5 、Encoder结构

图中红色高亮部分展示了 Transformer 编码器块(Encoder block)的具体结构,它主要由四个核心组件顺序组成:

  • 多头注意力机制(Multi-Head Attention)

  • 残差连接与层归一化(Add & Norm)

  • 前馈神经网络(Feed Forward)

  • 第二个残差连接与层归一化(Add & Norm)

我们已经详细分析了多头注意力机制的工作原理,接下来将重点解析剩余的两个关键部分:Add & Norm(残差归一化层)和 Feed Forward(前馈网络)的结构与功能。

5.1 Add & Norm

Add & Norm 层由 Add 和 Norm 两部分组成,其计算公式如下:

其中 X表示 Multi-Head Attention 或者 Feed Forward 的输入,MultiHeadAttention(X) 和 FeedForward(X) 表示输出 (输出与输入 X 维度是一样的,所以可以相加)。

Add指 X+MultiHeadAttention(X),是一种残差连接,通常用于解决多层网络训练的问题,可以让网络只关注当前差异的部分,在 ResNet 中经常用到:

Norm指 Layer Normalization,通常用于 RNN 结构,Layer Normalization 会将每一层神经元的输入都转成均值方差都一样的,这样可以加快收敛。

5.2 Feed Forward

Feed Forward 层比较简单,是一个两层的全连接层,第一层的激活函数为 Relu,第二层不使用激活函数,对应的公式如下:

X是输入,Feed Forward 最终得到的输出矩阵的维度与X一致。

5.3 组成 Encoder

通过上面描述的 Multi-Head Attention, Feed Forward, Add & Norm 就可以构造出一个 Encoder block,Encoder block 接收输入矩阵 𝑋(𝑛×𝑑) ,并输出一个矩阵 𝑂(𝑛×𝑑) 。通过多个 Encoder block 叠加就可以组成 Encoder。

第一个 Encoder block 的输入为句子单词的表示向量矩阵,后续 Encoder block 的输入是前一个 Encoder block 的输出,最后一个 Encoder block 输出的矩阵就是编码信息矩阵 C,这一矩阵后续会用到 Decoder 中。

6 、Decoder

上图红色部分为 Transformer 的 Decoder block 结构,与 Encoder block 相似,但是存在一些区别:

  • 包含两个 Multi-Head Attention 层。

  • 第一个 Multi-Head Attention 层采用了 Masked 操作。

  • 第二个 Multi-Head Attention 层的K, V矩阵使用 Encoder 的编码信息矩阵C进行计算,而Q使用上一个 Decoder block 的输出计算。

  • 最后有一个 Softmax 层计算下一个翻译单词的概率。

6.1 第一个 Multi-Head Attention

解码器模块(Decoder block)的第一个多头注意力层(Multi-Head Attention)采用了掩码机制(Masked),这是因为翻译过程是按顺序进行的——必须先生成第i个词,才能预测第i+1个词。通过掩码操作,可以确保模型在预测第i个位置时,不会偷看到后续位置的信息。以汉英翻译"我有一只猫"→"I have a cat"为例:

下面的描述中使用了类似 Teacher Forcing 的概念,在 Decoder 的时候,是需要根据之前的翻译,求解当前最有可能的翻译,如下图所示。首先根据输入 “” 预测出第一个单词为 “I”,然后根据输入 “ I” 预测下一个单词 “have”。

Decoder 可以在训练的过程中使用 Teacher Forcing 并且并行化训练,即将正确的单词序列 ( I have a cat) 和对应输出 (I have a cat ) 传递到 Decoder。那么在预测第 i 个输出时,就要将第 i+1 之后的单词掩盖住,注意 Mask 操作是在 Self-Attention 的 Softmax 之前使用的,下面用 0 1 2 3 4 5 分别表示 “ I have a cat ”。

第一步: 是 Decoder 的输入矩阵和 Mask 矩阵,输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。在 Mask 可以发现单词 0 只能使用单词 0 的信息,而单词 1 可以使用单词 0, 1 的信息,即只能使用之前的信息。

第二步: 接下来的操作和之前的 Self-Attention 一样,通过输入矩阵X计算得到Q,K,V矩阵。然后计算Q和 𝐾𝑇 的乘积 𝑄𝐾𝑇 。

第三步: 在得到 𝑄𝐾𝑇 之后需要进行 Softmax,计算 attention score,我们在 Softmax 之前需要使用Mask矩阵遮挡住每一个单词之后的信息,遮挡操作如下:

得到 Mask 𝑄𝐾𝑇 之后在 Mask 𝑄𝐾𝑇上进行 Softmax,每一行的和都为 1。但是单词 0 在单词 1, 2, 3, 4 上的 attention score 都为 0。

第四步: 使用 Mask 𝑄𝐾𝑇与矩阵 V相乘,得到输出 Z,则单词 1 的输出向量 𝑍1 是只包含单词 1 信息的。

第五步: 通 过上述步骤就可以得到一个 Mask Self-Attention 的输出矩阵 𝑍𝑖 ,然后和 Encoder 类似,通过 Multi-Head Attention 拼接多个输出𝑍𝑖 然后计算得到第一个 Multi-Head Attention 的输出Z,Z与输入X维度一样。

6.2 第二个 Multi-Head Attention

在Decoder模块的第二个多头注意力层(Multi-Head Attention)中,其核心区别在于:该层的键矩阵(K)和值矩阵(V)并非来自前一个Decoder block的输出,而是直接取自Encoder的编码输出矩阵C。具体计算过程如下:

  1. 查询矩阵(Q)的来源:
  • 对于第一个Decoder block,使用输入矩阵X计算Q

  • 对于后续Decoder block,使用前一个Decoder block的输出Z计算Q

  1. 键值矩阵(K、V)的来源:
  • 始终使用Encoder的最终输出矩阵C计算

这种设计的优势在于:

  • 解码过程中每个位置的单词都能充分获取Encoder编码的完整源语言信息

  • 不同于第一个注意力层的掩码机制,这里不需要进行任何信息屏蔽

  • 后续的注意力计算流程与标准Self-Attention保持完全一致

通过这种架构,Transformer实现了编码端和解码端信息的高效融合,使得解码器在生成每个目标词时都能全面考虑源语句的所有特征。

6.3 Softmax 预测输出单词

Decoder block 最后的部分是利用 Softmax 预测下一个单词,在之前的网络层我们可以得到一个最终的输出 Z,因为 Mask 的存在,使得单词 0 的输出 Z0 只包含单词 0 的信息,如下:

Softmax 根据输出矩阵的每一行预测下一个单词:

这就是 Decoder block 的定义,与 Encoder 一样,Decoder 是由多个 Decoder block 组合而成。

7、 Transformer 总结

  • Transformer 与 RNN 不同,可以比较好地并行训练。

  • Transformer 本身是不能利用单词的顺序信息的,因此需要在输入中添加位置 Embedding,否则 Transformer 就是一个词袋模型了。

  • Transformer 的重点是 Self-Attention 结构,其中用到的 Q, K, V矩阵通过输出进行线性变换得到。

  • Transformer 中 Multi-Head Attention 中有多个 Self-Attention,可以捕获单词之间多种维度上的相关系数 attention score。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

以上全套大模型资料如何领取?

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值