Transformer架构:结构介绍
文章目录
- 一、Transformer的发展历程
- 二、经典Transformer的组成与数学原理
- 2.1 输入部分:词嵌入与位置编码
- 2.2 编码器:多头自注意力与前馈网络
- 2.3 解码器:掩码自注意力与跨注意力
- 2.4 输出部分:线性层与Softmax
- 2.5 小结
- 三、Transformer与RNN系列模型的对比
- 四、为什么主流LLM采用Transformer及解码器
- 4.1 Transformer适合LLM的核心优势
- 4.2 为何主要使用Transformer的解码器
- 总结
一、Transformer的发展历程
Transformer的诞生是自然语言处理(NLP)领域的里程碑事件,其发展脉络清晰展现了从“序列依赖”到“并行计算”的技术突破:
-
2017年:Transformer的诞生
谷歌团队在论文《Attention Is All You Need》中首次提出Transformer模型,彻底摒弃了RNN系列模型的递归结构,采用自注意力机制(Self-Attention) 作为核心,实现了序列数据的并行处理。这一创新解决了RNN难以捕捉长距离语义关联、训练效率低的痛点,在机器翻译任务上首次超越传统模型。 -
2018-2019年:预训练时代的爆发
基于Transformer的预训练模型成为主流:- BERT(2018):采用Transformer的编码器部分,通过“双向预训练”在11项NLP任务上刷新纪录,证明了Transformer在语义理解上的优势;
- GPT(2018-2019):基于Transformer的解码器部分,通过“自回归预训练”在文本生成任务上表现卓越,奠定了生成式语言模型的基础;
- XLNet、RoBERTa(2019):对Transformer的预训练策略优化,进一步提升模型性能,巩固了Transformer在NLP领域的统治地位。
-
2020年至今:大语言模型(LLM)的崛起
Transformer成为LLM的核心架构:GPT-3(1750亿参数)、ChatGPT、LLaMA等模型均以Transformer解码器为基础,通过“大规模参数+海量数据”实现通用语言能力,推动AI进入“生成式时代”。
二、经典Transformer的组成与数学原理
经典Transformer基于“编码器-解码器”架构,核心是通过自注意力机制实现并行计算和长距离语义建模。以下按“输入部分→编码器→解码器→输出部分”的顺序,详细解析各组成的数学原理与计算过程(以“中→英”翻译任务为例,如“我爱NLP”→“I Love NLP”)。
2.1 输入部分:词嵌入与位置编码
输入部分的核心是将离散文本转为连续向量,并注入词序信息,为后续处理提供基础。
-
词嵌入(Embedding)
-
作用:将离散的词(如“我”“爱”)映射为连续的低维向量,捕捉词的语义特征(如“爱”与“喜欢”的向量相似度高于“爱”与“恨”)。
-
数学原理:
设源语言词表大小为VsrcV_{\text{src}}Vsrc,目标语言词表大小为VtgtV_{\text{tgt}}Vtgt,词嵌入维度为dmodeld_{\text{model}}dmodel(通常取512)。通过嵌入矩阵Wembed∈RV×dmodelW_{\text{embed}} \in \mathbb{R}^{V \times d_{\text{model}}}Wembed∈RV×dmodel,将词的索引xxx(如“我”的索引为2)映射为向量:
embed(x)=Wembed[x]\text{embed}(x) = W_{\text{embed}}[x]embed(x)=Wembed[x] -
例子:
- 中文词表中,“我”的索引为2,嵌入矩阵WembedW_{\text{embed}}Wembed的第2行即为“我”的词向量:
embed("我")=[0.1,0.2,0.3,0.4]\text{embed}("我") = [0.1, 0.2, 0.3, 0.4]embed("我")=[0.1,0.2,0.3,0.4](简化dmodel=4d_{\text{model}}=4dmodel=4); - 同理,“爱”→[0.5,0.6,0.7,0.8][0.5, 0.6, 0.7, 0.8][0.5,0.6,0.7,0.8],“NLP”→[0.9,1.0,1.1,1.2][0.9, 1.0, 1.1, 1.2][0.9,1.0,1.1,1.2]。
- 中文词表中,“我”的索引为2,嵌入矩阵WembedW_{\text{embed}}Wembed的第2行即为“我”的词向量:
-
-
位置编码(Positional Encoding)
-
作用:Transformer无递归结构(区别于RNN),需手动注入词序信息(如“我爱NLP”与“NLP爱我”语义不同),且需捕捉“相对位置”(如第3词与第5词的距离)。
-
数学原理:
位置编码通过正弦余弦函数生成,利用其周期性实现上述目标:
PE(pos,2i)=sin(pos100002i/dmodel)PE(pos,2i+1)=cos(pos100002i/dmodel)\begin{align*} \text{PE}_{(pos, 2i)} &= \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) \\ \text{PE}_{(pos, 2i+1)} &= \cos\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) \end{align*} PE(pos,2i)PE(pos,2i+1)=sin(100002i/dmodelpos)=cos(100002i/dmodelpos) -
其中:
- pospospos为词在序列中的位置(从0开始);
- iii为向量维度索引(0≤i<dmodel/20 \leq i < d_{\text{model}}/20≤i<dmodel/2)。
-
-
核心优势:
- 周期性:sin(α+β)=sinαcosβ+cosαsinβ\sin(\alpha + \beta) = \sin\alpha\cos\beta + \cos\alpha\sin\betasin(α+β)=sinαcosβ+cosαsinβ,使PEpos+k\text{PE}_{pos+k}PEpos+k可表示为PEpos\text{PE}_{pos}PEpos的线性组合,方便模型捕捉相对位置;
- 无长度限制:三角函数不受序列长度约束,对超长文本(长于训练数据)仍能生成有效编码,增强泛化能力。
-
例子:
对“我爱NLP”(3个词,pos=0,1,2pos=0,1,2pos=0,1,2),dmodel=4d_{\text{model}}=4dmodel=4,计算位置编码:-
pos=0pos=0pos=0(第1词“我”):
i=0i=0i=0(偶数维度0):PE(0,0)=sin(0/100000/4)=sin(0)=0\text{PE}_{(0,0)} = \sin(0/10000^{0/4}) = \sin(0) = 0PE(0,0)=sin(0/100000/4)=sin(0)=0;
i=0i=0i=0(奇数维度1):PE(0,1)=cos(0)=1\text{PE}_{(0,1)} = \cos(0) = 1PE(0,1)=cos(0)=1;
i=1i=1i=1(偶数维度2):PE(0,2)=sin(0/100002/4)=sin(0)=0\text{PE}_{(0,2)} = \sin(0/10000^{2/4}) = \sin(0) = 0PE(0,2)=sin(0/100002/4)=sin(0)=0;
i=1i=1i=1(奇数维度3):PE(0,3)=cos(0)=1\text{PE}_{(0,3)} = \cos(0) = 1PE(0,3)=cos(0)=1;
得PE0=[0,1,0,1]\text{PE}_0 = [0, 1, 0, 1]PE0=[0,1,0,1]。 -
最终输入向量 = 词嵌入 + 位置编码:
“我”的输入:[0.1+0,0.2+1,0.3+0,0.4+1]=[0.1,1.2,0.3,1.4][0.1+0, 0.2+1, 0.3+0, 0.4+1] = [0.1, 1.2, 0.3, 1.4][0.1+0,0.2+1,0.3+0,0.4+1]=[0.1,1.2,0.3,1.4]。
-
2.2 编码器:多头自注意力与前馈网络
编码器将输入向量转换为源语言的“上下文向量”(融合所有词的语义关联),由NNN个相同的编码器层堆叠而成(原论文N=6N=6N=6)。
-
编码器层结构
每个编码器层包含两个子层,均带“残差连接”和“层归一化”(Add & Norm):- 多头自注意力子层:计算输入序列的自关联(如“爱”与“我”“NLP”的关联强度);
- 前馈网络子层:对每个词的向量独立进行非线性变换,增强模型表达能力。
-
多头自注意力(Multi-Head Attention)
- 作用:通过多个“注意力头”并行计算,在不同维度捕捉语义关联(如头1关注语法结构,头2关注语义相似度)。实验表明,同等计算量下,多头机制比单头更能提取细粒度特征。
-
数学原理:
步骤1:线性投影生成Q、K、V
将输入向量X∈Rn×dmodelX \in \mathbb{R}^{n \times d_{\text{model}}}X∈Rn×dmodel(nnn为序列长度)通过3个矩阵投影为Query(查询)、Key(键)、Value(值):
Q=XWQ,K=XWK,V=XWVQ = XW^Q, \quad K = XW^K, \quad V = XW^VQ=XWQ,K=XWK,V=XWV
其中WQ,WK,WV∈Rdmodel×dmodelW^Q, W^K, W^V \in \mathbb{R}^{d_{\text{model}} \times d_{\text{model}}}WQ,WK,WV∈Rdmodel×dmodel,Q,K,V∈Rn×dmodelQ, K, V \in \mathbb{R}^{n \times d_{\text{model}}}Q,K,V∈Rn×dmodel。步骤2:拆分注意力头
将Q,K,VQ, K, VQ,K,V按头数hhh(通常h=8h=8h=8)拆分,每个头维度为dk=dmodel/h=64d_k = d_{\text{model}}/h = 64dk=dmodel/h=64:
Q=[Q1;Q2;...;Qh],Qi∈Rn×dkQ = [Q_1; Q_2; ...; Q_h], \quad Q_i \in \mathbb{R}^{n \times d_k}Q=[Q1;Q2;...;Qh],Qi∈Rn×dk
(K,VK, VK,V同理)步骤3:Scaled Dot-Product Attention
每个头计算注意力权重:
Attention(Qi,Ki,Vi)=Softmax(QiKiTdk)Vi\text{Attention}(Q_i, K_i, V_i) = \text{Softmax}\left(\frac{Q_i K_i^T}{\sqrt{d_k}}\right) V_iAttention(Qi,Ki,Vi)=Softmax(dkQiKiT)Vi
其中:- QiKiT∈Rn×nQ_i K_i^T \in \mathbb{R}^{n \times n}QiKiT∈Rn×n:词与词的关联分数(值越大关联越强);
- dk\sqrt{d_k}dk:缩放因子,避免dkd_kdk过大导致分数过大,Softmax梯度消失;
- Softmax\text{Softmax}Softmax:将分数归一化为权重(和为1),再与ViV_iVi加权求和,得到该头的输出。
步骤4:拼接多头结果
将hhh个头的输出拼接,通过线性层映射回dmodeld_{\text{model}}dmodel维度:
MultiHead(X)=Concat(A1,A2,...,Ah)WO\text{MultiHead}(X) = \text{Concat}(A_1, A_2, ..., A_h) W^OMultiHead(X)=Concat(A1,A2,...,Ah)WO
其中Ai=Attention(Qi,Ki,Vi)A_i = \text{Attention}(Q_i, K_i, V_i)Ai=Attention(Qi,Ki,Vi),WO∈Rdmodel×dmodelW^O \in \mathbb{R}^{d_{\text{model}} \times d_{\text{model}}}WO∈Rdmodel×dmodel。 -
例子:
对“我爱NLP”(n=3n=3n=3),dmodel=4d_{\text{model}}=4dmodel=4,h=2h=2h=2(每个头dk=2d_k=2dk=2):- 输入X=[0.11.20.31.40.511.59990.79981.79500.914−0.891.941.74]X = \begin{bmatrix} 0.1 & 1.2 & 0.3 & 1.4 \\ 0.51 & 1.5999 & 0.7998 & 1.7950 \\ 0.914 & -0.89 & 1.94 & 1.74 \end{bmatrix}X=0.10.510.9141.21.5999−0.890.30.79981.941.41.79501.74(3行对应3个词);
- 头1计算“爱”与“我”的关联分数较高(≈0.85),头2计算“爱”与“NLP”的关联分数较高(≈0.9),实现多维度关联捕捉。
-
为什么需要多头?
单头注意力可能过度聚焦某类关联(如仅关注邻近词),而多头通过子空间划分强制模型学习多维度模式(如远距离语义、语法结构等),实验表明其效果显著优于单头(原论文对比验证)。 -
自注意力的Scaled机制
缩放因子dk\sqrt{d_k}dk的必要性:- 若Q,KQ, KQ,K的分量为独立同分布的标准正态变量(均值0,方差1),则QKTQK^TQKT的每个元素均值为0,方差为dkd_kdk(因QKT=∑i=1dkQiKiQK^T = \sum_{i=1}^{d_k} Q_iK_iQKT=∑i=1dkQiKi,方差叠加);
- 方差过大导致QKTQK^TQKT数值过大,Softmax输出接近one-hot分布(最大值垄断概率),反向传播时梯度矩阵接近零矩阵(梯度消失);
- 除以dk\sqrt{d_k}dk后,QKTQK^TQKT方差归一化为1,避免上述问题,确保训练稳定。
- 前馈网络(Feed Forward)
作用:单纯注意力机制仅捕捉关联,需通过非线性变换增强模型对复杂模式的拟合能力。
- 数学原理:
FFN(x)=max(0,xW1+b1)W2+b2\text{FFN}(x) = \max(0, xW_1 + b_1) W_2 + b_2FFN(x)=max(0,xW1+b1)W2+b2
其中:- W1∈Rdmodel×4dmodelW_1 \in \mathbb{R}^{d_{\text{model}} \times 4d_{\text{model}}}W1∈Rdmodel×4dmodel,W2∈R4dmodel×dmodelW_2 \in \mathbb{R}^{4d_{\text{model}} \times d_{\text{model}}}W2∈R4dmodel×dmodel(中间维度为4dmodel4d_{\text{model}}4dmodel,原版论文中dmodel=512d_{\text{model}}=512dmodel=512,4dmodel=20484d_{\text{model}}=20484dmodel=2048);
- max(0,⋅)\max(0, \cdot)max(0,⋅):ReLU激活函数,引入非线性。
- Add & Norm模块
- 作用:
- Add(残差连接):x+Sublayer(x)x + \text{Sublayer}(x)x+Sublayer(x),缓解深层网络的梯度消失问题,使信息能无损耗传递到深层,实验表明可显著提升模型表现;
- Norm(层归一化):LayerNorm(x+Sublayer(x))\text{LayerNorm}(x + \text{Sublayer}(x))LayerNorm(x+Sublayer(x)),对每层输出做标准化(均值为0,方差为1),避免参数过大/过小导致的训练不稳定(如学习率难以调整、收敛缓慢)。
2.3 解码器:掩码自注意力与跨注意力
解码器将编码器输出与目标语言序列结合,生成翻译结果,由NNN个相同的解码器层堆叠而成(通常N=6N=6N=6)。
-
解码器层结构
每个解码器层包含三个子层(均带残差连接和层归一化):- 掩码自注意力子层:计算目标序列的自关联,屏蔽“未来词”(确保生成顺序);
- 编码器-解码器注意力子层:结合编码器输出与解码器中间结果(如“Love”关注“爱”);
- 前馈网络子层:与编码器的前馈网络相同。
-
解码器的输入:训练与预测阶段的差异
解码器的输入在训练和预测阶段截然不同,核心原因是预测阶段无法获取真实标签,需依赖自身输出迭代生成。
-
训练阶段:
输入为目标语言真实标签序列的“左移版本”(如“我爱NLP”的目标翻译“I Love NLP”左移后为“SOS I Love”,其中“SOS”为起始符)。
实际实现中,通过一次性输入完整序列+掩码机制模拟“逐步生成”:掩码矩阵MMM将当前词之后的位置设为−∞-\infty−∞(如生成第2词时,屏蔽第3词及以后),确保模型只能关注“已生成部分”。例:目标序列为“I Love NLP”,训练输入为“SOS I Love”,掩码确保“Love”只能关注“SOS I”,无法提前看到“NLP”。
-
预测阶段:
输入为模型自身生成的历史序列,从起始符“SOS”开始,逐词迭代:- t=1t=1t=1:输入“SOS”,输出第1词(如“I”);
- t=2t=2t=2:输入“SOS I”,输出第2词(如“Love”);
- t=3t=3t=3:输入“SOS I Love”,输出第3词(如“NLP”);
- 直到生成结束符“EOS”,停止迭代。
这种“自回归”模式确保生成顺序符合语言逻辑,但计算效率低于训练阶段(无法并行)。
- 掩码自注意力(Masked Self-Attention)
-
作用:强制模型遵循“因果生成顺序”(先有前文,再有后文),避免利用“未来信息”作弊。
-
数学原理:
在Scaled Dot-Product Attention中加入掩码矩阵M∈Rn×nM \in \mathbb{R}^{n \times n}M∈Rn×n,其中Mi,j=−∞M_{i,j}=-\inftyMi,j=−∞(j>ij>ij>i,屏蔽未来词),Mi,j=0M_{i,j}=0Mi,j=0(j≤ij \leq ij≤i,允许关注过去词):
MaskedAttention(Q,K,V)=Softmax(QKT+Mdk)V\text{MaskedAttention}(Q, K, V) = \text{Softmax}\left(\frac{QK^T + M}{\sqrt{d_k}}\right) VMaskedAttention(Q,K,V)=Softmax(dkQKT+M)V -
例子:
生成“III LoveLoveLove NLPNLPNLP”(n=3n=3n=3)时,掩码矩阵:
M=[0−∞−∞00−∞000]M = \begin{bmatrix} 0 & -\infty & -\infty \\ 0 & 0 & -\infty \\ 0 & 0 & 0 \end{bmatrix}M=000−∞00−∞−∞0- 生成第2词“Love”时,QKT+MQK^T + MQKT+M中第2行第3列(“Love”对“NLP”)为−∞-\infty−∞,Softmax后权重为0,实现“屏蔽未来词”。
- 编码器-解码器注意力
-
作用:使解码器精准对齐源语言与目标语言的语义(如翻译中“Love”需绑定源语言的“爱”),是跨模态关联的核心。
-
数学原理:
与多头自注意力结构相同,但QQQ来自解码器掩码自注意力的输出,KKK和VVV来自编码器的最终输出(Q≠K=VQ \neq K=VQ=K=V):
CrossAttention(Qdec,Kenc,Venc)=MultiHead(Qdec,Kenc,Venc)\text{CrossAttention}(Q_{\text{dec}}, K_{\text{enc}}, V_{\text{enc}}) = \text{MultiHead}(Q_{\text{dec}}, K_{\text{enc}}, V_{\text{enc}})CrossAttention(Qdec,Kenc,Venc)=MultiHead(Qdec,Kenc,Venc) -
例子:
- 解码器生成“Love”时,QdecQ_{\text{dec}}Qdec为“Love”的中间向量;
- Kenc,VencK_{\text{enc}}, V_{\text{enc}}Kenc,Venc为编码器对“我爱NLP”的输出(融合了“爱”的上下文信息);
- 注意力计算后,“Love”对“爱”的权重最高(≈0.8),实现跨语言语义绑定。
- 编码器-解码器注意力
-
作用:使解码器关注源语言中与当前生成词相关的词(如翻译中“Love”需重点关注源语言的“爱”),实现跨语言语义对齐。
-
数学原理:
与多头自注意力类似,但QQQ来自解码器掩码自注意力的输出,KKK和VVV来自编码器的输出:
CrossAttention(Qdec,Kenc,Venc)=MultiHead(Qdec,Kenc,Venc)\text{CrossAttention}(Q_{\text{dec}}, K_{\text{enc}}, V_{\text{enc}}) = \text{MultiHead}(Q_{\text{dec}}, K_{\text{enc}}, V_{\text{enc}})CrossAttention(Qdec,Kenc,Venc)=MultiHead(Qdec,Kenc,Venc) -
例子:
- 解码器生成“Love”时,QdecQ_{\text{dec}}Qdec为“Love”的向量;
- Kenc,VencK_{\text{enc}}, V_{\text{enc}}Kenc,Venc为编码器对“我爱NLP”的输出;
- 注意力权重计算后,“Love”对“爱”的权重最高(≈0.8),实现跨语言关联。
2.4 输出部分:线性层与Softmax
输出部分将解码器的最终输出转换为目标语言的词概率分布。
- 线性层
- 作用:将解码器输出的dmodeld_{\text{model}}dmodel维向量映射到目标词表维度VtgtV_{\text{tgt}}Vtgt:
logits=HWout\text{logits} = H W_{\text{out}}logits=HWout
其中H∈Rn×dmodelH \in \mathbb{R}^{n \times d_{\text{model}}}H∈Rn×dmodel是解码器输出,Wout∈Rdmodel×VtgtW_{\text{out}} \in \mathbb{R}^{d_{\text{model}} \times V_{\text{tgt}}}Wout∈Rdmodel×Vtgt。
- Softmax
作用:将logits转换为概率分布(和为1),取概率最高的词作为输出:
prob=Softmax(logits),y^=argmax(prob)\text{prob} = \text{Softmax}(\text{logits}), \quad \hat{y} = \arg\max(\text{prob})prob=Softmax(logits),y^=argmax(prob)
- 例子:
解码器输出“Love”的向量h=[0.3,0.5,0.2,0.6]h = [0.3, 0.5, 0.2, 0.6]h=[0.3,0.5,0.2,0.6],WoutW_{\text{out}}Wout映射后logits = [1.2,3.5,0.8][1.2, 3.5, 0.8][1.2,3.5,0.8](对应词表“Love”“Like”“Hate”);
Softmax后prob = [0.12,0.85,0.03][0.12, 0.85, 0.03][0.12,0.85,0.03],$\hat{y} = $“Love”。
2.5 小结
Transformer通过输入部分的“词嵌入+位置编码”奠定语义和词序基础;编码器的“多头自注意力”捕捉源语言内部关联,“前馈网络”增强非线性表达;解码器的“掩码自注意力”确保生成顺序,“跨注意力”实现跨语言对齐;最终通过输出部分生成目标序列。
这种结构彻底摆脱了RNN的序列依赖,实现并行计算,为长文本处理(如文档翻译、摘要生成)和大语言模型(LLM)的发展奠定了核心架构基础。
三、Transformer与RNN系列模型的对比
Transformer的出现颠覆了以LSTM/GRU为代表的RNN系列模型,核心差异体现在并行性和长距离依赖捕捉上:
对比维度 | RNN系列(LSTM/GRU) | Transformer | 效果差异 |
---|---|---|---|
计算方式 | 序列式处理(词1→词2→…→词n),无法并行。 | 并行处理(所有词同时输入),训练效率高。 | Transformer训练速度是RNN的5-10倍,适合大规模数据。 |
语义关联捕捉 | 依赖递归结构,长距离依赖(如句首与句尾词)易丢失。 | 自注意力机制直接计算任意词对的关联,不受距离限制。 | 在长文本任务(如1000词以上文档翻译)中,Transformer准确率比RNN高15%-20%。 |
结构复杂度 | 结构简单(单条递归链),可解释性强。 | 结构复杂(多头注意力+前馈网络),计算成本高。 | Transformer需要更多计算资源,但在语义理解、生成任务上表现远超RNN。 |
适用场景 | 短序列任务(如句子分类、情感分析)。 | 长序列、复杂语义任务(如机器翻译、文本生成)。 | 工业界NLP任务(如翻译、摘要)中,Transformer已完全替代RNN。 |
四、为什么主流LLM采用Transformer及解码器
大语言模型(如GPT系列、LLaMA、ChatGPT)均以Transformer为核心,且主要使用其解码器部分,原因如下:
4.1 Transformer适合LLM的核心优势
-
并行训练能力:
LLM训练数据量可达万亿词级,Transformer的并行计算架构(无需等待前一词处理)能充分利用GPU集群,大幅缩短训练时间(相比RNN,训练效率提升10倍以上)。 -
长距离语义建模:
自注意力机制可直接计算任意两个词的关联(如“文档第1段与第10段的呼应”),而LLM需要处理超长上下文(如GPT-4支持128k tokens),Transformer是唯一能高效建模这种关联的架构。 -
可扩展性:
Transformer的“堆叠层”设计支持参数规模无限扩展(从亿级到万亿级),而RNN递归结构会导致梯度消失/爆炸,无法支撑大规模参数。
4.2 为何主要使用Transformer的解码器
LLM的核心任务是“文本生成”(如对话、写作),而Transformer解码器的设计天然适配这一需求:
-
自回归生成逻辑:
解码器的“掩码自注意力”确保生成下一词时,只能关注“已生成词”(屏蔽未来词),符合人类语言生成习惯(如说一句话时,不会提前泄露后面的词)。 -
生成连贯性:
解码器通过“上一词→下一词”的依赖建模,生成的文本更连贯(如“我今天想去____”,解码器会优先预测“公园”“电影”等合理词汇),而编码器更擅长“理解”而非“生成”。 -
工程实现简洁:
仅使用解码器可简化模型结构(无需编码器-解码器交互),降低万亿级参数模型的训练难度。例如GPT系列仅用解码器,却能实现多轮对话、代码生成等复杂任务。
总结
Transformer通过自注意力机制和并行架构,彻底改变了NLP领域的技术路线。从机器翻译到LLM,其核心优势在于高效建模长距离语义、支持大规模并行训练。而解码器的自回归设计,使其成为生成式AI的“标配”架构,推动了ChatGPT等革命性产品的诞生。未来,Transformer的改进(如稀疏注意力、动态计算)将进一步释放其在AI领域的潜力。