Transformer架构详解从Attention机制到模型原理
计算机只认识0和1。所以,要让机器理解“货拉拉拉不拉拉布拉多”这种句子,第一步就是把文字变成数字。最直接的办法是给每个字一个编号,比如Unicode编码。但问题在于,编号只是个“身份证号”,它本身不携带任何语义。光凭数字“12345”和“67890”,你无法判断这两个字在意思上有没有关联。
假设到了2050年,AI成了地球的主宰,而人类恰好发明了时光机。那么,请务必回到2017年,阻止那篇名为《Attention is All You Need》的论文发表。没有它,就不会有Transformer架构,自然也就没有后来的GPT、DeepSeek这些大模型了。
从翻译问题说起
“货拉拉拉不拉拉布拉多”,短短十个字里,“拉”字出现了六次,含“拉”量高达60%。人类一眼就能理解其含义,并自然地翻译成英文:Can Huolala carry a Labrador。关键在于“理解”,我们才能翻译。

但计算机理解起来就困难了。因为每个“拉”字,在不同的位置含义不同,尤其是中间的“拉不拉”。在中文里,“拉”可以指拉货,也可以指拉扯。对应到英文,可能是carry,也可能是drag或pull。必须结合前面的“货拉拉”和后面的“拉布拉多”,才能准确判断。那么,计算机该如何理解一句话里每个词的含义呢?
token 与向量
我们回到起点。要让计算机处理文本,必须先将其数字化。最朴素的方法——给每个字一个数字编号——行不通,因为它丢失了语义。我们需要一种既能数字化,又能承载语义的方案。
怎么办呢?首先,把句子切分成有意义的词块,每个词块称为一个token。比如这句话,可以被切分为“货拉拉”、“拉不拉”、“拉布拉多”三个token。
接着,想象一个二维坐标系:X轴代表“是否与交通相关”,Y轴代表“是否与动物相关”。那么,“货拉拉”会落在X轴正方向,“拉布拉多”会落在Y轴正方向。像“物流平台”、“网约车”这类词,在坐标系里会更靠近“货拉拉”;而“金毛”、“牧羊犬”则会更靠近“拉布拉多”。

但两个维度显然不够。比如,“货拉拉”、“物流平台”、“网约车”在二维空间里都和交通相关,挤在一起。如果加入第三个维度“是否运货”,就能区分开:“货拉拉”和“物流平台”偏向运货,“网约车”偏向运人。
随着维度不断增加,理论上,世界上所有已知词汇的token都能在这个高维坐标系中找到自己的专属位置。通过海量文本数据的训练,语义相近的词在空间中的位置会彼此靠近,语义无关的词则相距甚远。

词与词之间的关系甚至能用数学计算。例如,“国王”的坐标减去“男人”的坐标,再加上“女人”的坐标,得到的结果会非常接近“王后”的坐标。
至于“拉不拉”这种多义词,它在坐标系里最初只是一个模糊的平均位置。只有结合前后文的语境,它的位置才会被“拉”向正确的语义区域。
每个坐标维度都可以用一个数字表示,因此,每个token最终都可以用一组数字来定义。这种表示方式就是向量(Vector),在实践中也常被称为词嵌入(Embedding)。

但语言不仅有词义,还有顺序。“货拉拉拉不拉拉布拉多”和“拉布拉多拉不拉货拉拉”,意思天差地别。因此,模型还会为每个token加入位置信息,让向量同时包含“它是什么”和“它在什么位置”。
Q、K、V 是什么
知道了每个token对应的向量,我们就可以着手解决翻译的核心难题了:在翻译“拉不拉”这种多义词时,如何结合上下文,判断这个“拉”究竟是carry,还是drag?
这里有个关键洞察:每个词块除了字面意思,还有背后的隐含信息。比如“拉布拉多”,背后关联着“宠物”、“狗”等概念。
于是,我们可以把一句话抽象成一个“词块数据库”。数据库的查询键(Key)是词块本身,对应的值(Value)就是词块背后的含义。
那么,计算机在理解“拉不拉”时,应该重点关注句子中的哪些词呢?这个过程可以抽象为:拿着“拉不拉”这个词作为查询(Query),去词块数据库里遍历所有键(Key),看看哪个词对理解“拉不拉”的参考价值最大。

注意,这个过程涉及三个核心概念:查询(Query)、键(Key)、值(Value)。但直接拿token的原始向量去扮演这三个角色不够灵活,因为一个向量很难同时胜任三项工作。因此,模型会通过三个不同的权重矩阵(Wq, Wk, Wv)对每个token的向量进行变换,生成三个专门的向量,各司其职。

承担查询角色的,叫Q向量,代表“这个token想关注什么”,好比数据库的查询语句(SQL)。
承担键角色的,叫K向量,代表“这个token能提供什么信息”,好比数据库里的索引键。
承担值角色的,叫V向量,代表“这个token背后的真正含义”,好比索引键对应的具体数据值。
每个token经过这三重变换,都得到了自己专属的Q、K、V。

注意力是什么
有了每个token的Q、K、V,接下来看如何进行计算。
首先,每个token的Q向量会去“拜访”句子中所有token的K向量,通过点积计算两者的相关程度。

点积,本质上就是向量相乘。从数学上看,它在计算两个向量在空间中的指向是否一致,越同向,数值越大;从效果上看,数值越大,意味着两个token的相关性越高,越值得被重点参考。
以“拉不拉”这个token为例,遍历结束后,我们就得到了“拉不拉”对整个句子中所有token的关注程度分数。
此时,计算机会发现“拉不拉”和“货拉拉”之间的相关性分数很高。于是,“拉不拉”就会更关注“货拉拉”,后续“拉货”这一含义的权重就会被显著放大。
如果向量维度很大,点积的结果可能整体数值偏大,容易导致某个token的关注度被过度放大。为了让不同token之间的关注差异更平滑、更容易区分,模型会在点积之后除以一个数——通常是向量维度K的平方根(√dₖ)。这一步被称为缩放(Scale)。
接下来,模型会通过Softmax函数将这些关注度分数转换为一组权重。这样一来,“拉不拉”对所有token的关注权重之和为1,可以直观理解为“注意力的分配比例”。
最后,用这组权重对所有token的V向量进行加权求和。这就相当于,“拉不拉”知道了应该以多大的比例,从其他token那里提取哪些具体的语义信息。
最终得到的结果,就是“拉不拉”这个token融合了上下文信息之后的新表示,我们可以记作h2。同样,“货拉拉”和“拉布拉多”也会以相同的方式,得到各自的h1和h3。
这一整套计算流程,就是所谓的注意力机制(Attention Mechanism)。可以用一个经典公式来概括:
Attention(Q, K, V) = softmax(QKᵀ / √dₖ) · V
它的核心作用,是让每个token能够根据当前语境,自动决定应该重点参考句子中的哪些其他token。
怕大家还是觉得抽象,我们再来梳理一下:
Q·K点积:计算token之间的关注对象和关注强度。

缩放(Scale):防止点积结果过大,避免Softmax函数进入饱和区导致梯度消失,让模型训练更稳定。

Softmax:将关注强度转换为概率分布的注意力权重。

乘以V:用这些权重,从被关注的token中提取并融合具体的语义内容。

多头注意力
然而,只计算一次注意力是不够的。因为词与词之间的关系是多方面的:有的是语义关联(如“苹果”和“水果”),有的是语法依赖(如“主谓宾”),有的是情感呼应。单一角度的注意力很难捕捉全面。
因此,模型会并行地进行多次注意力计算,每次关注不同的关系侧面。这些并行计算的结果最终会被拼接(Concat)在一起,形成一个更全面的表示。这就是多头注意力(Multi-Head Attention)。

Add & Norm 是什么
通过多头注意力,我们得到了融合了丰富上下文信息的向量表示。
接着,模型会先把注意力的计算结果与这个token最初的输入向量相加。这一步叫做“加”(Add),也叫残差连接(Residual Connection)。它的作用是确保token自身最原始的信息不会被后续复杂的变换完全覆盖,相当于保留了一条“捷径”。
然后,为了让数值分布保持稳定,避免在深层网络中传播时出现过大或过小的值,模型会对相加后的结果进行一次标准化处理。这一步通常被称为“归一化”(Norm),比如层归一化(LayerNorm)。
这样,既保留了原有信息,又避免了数值在多层计算后失控。

前馈网络是什么
经过残差连接和归一化后,从输入到输出的映射关系本质上还是线性的。可以想象成,不同token向量的变换路径都是笔直的直线,这难以捕捉自然语言中复杂的、非线性的语义关联。
为了让模型具备更强的表达能力,需要引入非线性。模型会让向量通过一个前馈网络(Feed-Forward Network, FFN)。它的核心作用,是通过ReLU等激活函数,把“线性的映射路径”掰弯,变成非线性的曲线,从而能够拟合更复杂的语义模式。

随后,同样会再进行一次“加”和“归一化”操作。

编码器是什么
至此,多头注意力、Add & Norm、前馈网络、再一次的Add & Norm,共同构成了一个完整的编码层(Encoder Layer)。
一个编码层能让模型对整句话形成一次深度的上下文理解。将多个这样的编码层堆叠起来,模型对语义的理解就会像剥洋葱一样,逐层深入和精炼。
多个编码层堆叠在一起,就组成了一个编码器(Encoder)。
编码器的最终输出,是一组向量。这组向量是原句中各个词块,在经过多层上下文信息融合之后,形成的数字表现形式。它代表了计算机对输入文本的整体语义理解。

翻译原理
接下来,就要基于编码器输出的这份“中文理解”,开始生成英文了。
生成英文是一个词一个词进行的。首先,我们会放入一个固定的起始符号 ,它表示“英文翻译从这里开始”。模型会结合编码器输出的中文语义,预测最合理的第一个英文词。在我们的例子中,生成的是“Can”。接着,模型会把 和 “Can” 一起作为输入,预测下一个词“Huolala”,以此类推。每一步都是在已有生成结果的基础上,预测下一个最合理的词,就像玩成语接龙。

这个过程需要解决两个关键问题:
第一个问题,新生成的词如何与已经写下的英文内容自然衔接,保证语法和表达的连贯性?
好办,还是用注意力机制。毕竟那篇论文的核心思想就是“Attention is All You Need”。我们依然将正在生成的英文序列理解为一个“词块数据库”。
此时,查询(Q)是当前要预测单词的位置。键(K)和值(V)来自哪里?既然要保证英文自身的连贯,模型应该只关注已经生成出来的那部分英文。所以,K和V就来自已生成的英文词块数据库。这相当于在预测第n个词时,只允许它依赖前n-1个词的结果,确保生成过程是严格从左到右的。这就像把后面还没生成的部分“掩盖”起来,因此被称为带掩码的多头自注意力(Masked Multi-Head Self-Attention)。

第二个问题,在已经理解好的中文整体语义中,当前这一步翻译最应该参考原句的哪部分信息?
同样用注意力解决。查询(Q)仍然是当前要翻译的英文单词位置,而键(K)和值(V)这次则来自编码器输出的、代表中文理解的词块数据库。
例如,在已经生成“Can Huolala”之后,轮到翻译“拉不拉”时,由于在编码器的中文理解中,它与“运货”相关的信息关联更强,因此模型更可能将其翻译成“carry”,而不是“pull”或“drag”。这部分注意力被称为多头交叉注意力(Multi-Head Cross-Attention)。

解码器是什么
这两次注意力计算(掩码自注意力和交叉注意力)之后,输出结果同样会经过残差连接、归一化以及前馈网络等流程。每一步的作用与之前在编码器中处理中文时几乎一致,这里就不再赘述。
这些组件共同构成了一个解码层(Decoder Layer)。多个这样的解码层堆叠在一起,就形成了完整的解码器(Decoder)。每一层都在上一层输出的基础上进一步加工和精炼,使得生成的英文序列在语法、语义和与原文的对齐上更加准确。
最终,解码器输出的向量会通过一个词表(Vocabulary)转换层,变乘人类可读的英文单词输出。

Transformer是什么
编码器负责深度理解输入文本(如中文),解码器负责基于这份理解,自回归地生成输出文本(如英文)。两者协同工作,共同完成了机器翻译这类“序列到序列”的任务。
这就是Transformer的经典架构。
之所以说是“经典”,是因为并非所有任务都需要编码器和解码器同时存在。
如果任务只需要理解文本,而不需要生成(如文本分类、情感分析、命名实体识别),那么只使用编码器部分就够了。著名的BERT模型就是这种“编码器-only”架构的代表。
而像ChatGPT、DeepSeek这类大语言模型,它们直接将用户的输入问题交给解码器进行理解,然后一个词一个词地生成回答,省略了独立的编码器,演变成了“解码器-only”的架构。

当然,大模型同样能完成翻译任务。因此,前面详细讲解的“编码器+解码器”完整架构,在后续的发展中,可能更多应用于对参数量或计算资源有严格限制的小模型和特定场景。
现在,大家通了吗?
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
HermesAgent数据异常检测实战:K均值聚类算法详解
在时序数据异常检测任务中,直接应用经典K均值算法常面临诸多挑战:原始信号噪声干扰、聚类边界模糊,导致算法难以稳定识别真实离群模式。这些问题往往源于特征空间适配性、初始质心敏感性及距离度量方式等核心环节。 若您正面临类似困境,无需担忧。一套经过实践验证的优化方案,可系统性提升K均值在复杂时序场景下的鲁
国产DeepSeek V4能力强大价格实惠真香体验
四月底的AI行业迎来重磅消息,DeepSeek接连发布多项重大更新。4月24日,V4系列模型正式发布,包含V4-Pro和V4-Flash两个版本。次日(4月25日)晚间,V4-Pro即开启限时2 5折优惠。紧接着在4月26日,官方进一步宣布:全系列模型的输入缓存命中价格永久降至首发价的十分之一,且V
Claude代码助手使用入门与实战教程
Claude Code的诞生,标志着AI工具从“对话应答”迈入了“自主执行”的新纪元。简而言之,它能将您的自然语言指令,直接转化为计算机上的具体操作。其高级能力更在于,可以协调多个智能体,如同一个专业团队般并行处理复杂项目的不同模块。 Claude Code是一款在终端中运行的AI智能体工具。“终端
Perplexity AI 如何关闭图片生成功能
如果你在使用Perplexity AI时,希望它专注于文本对话而不再自动响应绘图指令,可以通过关闭后台的实验性图像生成功能来实现。该功能默认处于禁用状态,但若被意外或手动开启,AI在识别到特定关键词时便会尝试生成图像。按照以下步骤操作,即可轻松关闭此功能,让AI回归纯文本交互模式。 一、进入账户设置
Claude Opus 4.7与Mythos谁才是最强AI模型深度解析
近日,人工智能研究公司Anthropic悄然发布了一款名为Claude Mythos(神话)的预览版模型。熟悉Claude系列的用户可能对Opus、Sonnet等公开模型较为熟悉,但Mythos截然不同。它比当前最先进的Claude Opus 4 7更为特殊,其能力之强,以至于Anthropic目前
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

