Transformer 的技术层面

我们已经知道,在大模型推理与训练过程中,所有数据的处理都以**向量(Vector)**形式进行。从整体来看,Transformer 会将整个上下文的信息不断融合进每一个 token 的隐藏状态中,而用于预测下一个词的,是 最后一个 token 经过多层注意力与 MLP 后的隐藏向量(hidden state)

下面我们从模型的入口开始------向量的形成(Embedding),再到核心的 Attention、MLP,最后到解码器,完整理解一句话是如何被"理解"并生成下一词的。


一、编码层(Embedding + 位置编码)

当句子进入模型后,会被分割成一个一个的 token(词或子词)

这些 token 本质上是词表中的索引(例如 0~5w 的数字)。

Transformer 的"编码层"实际上不是 Encoder 模块,而是:

css 复制代码
Token Embedding  
+ Position Embedding / Encoding

例如 GPT-3 中,Embedding 会将每个 token 映射到一个 12288 维向量。同时,模型还会加入"位置编码",让模型区分句子顺序(例如知道"你吃苹果" ≠ "苹果吃你")。

此时的每个 token 只是一个独立向量,它还不知道上下文,也不知道左边是什么右边是什么。接下来就交给注意力机制。


二、注意力机制(Attention)

经过 Embedding 后,每个 token 的向量都会并行地计算三种投影:

  • Q(Query) :我在寻找什么信息?
  • K(Key) :别人如何根据我来判断是否应该关注我?
  • V(Value) :如果别人关注我,我愿意提供什么内容特征?

这三者来自三组独立的矩阵:

ini 复制代码
q = xW_Q
k = xW_K
v = xW_V

Attention 的核心是:

Q 与 K 的相似度决定"关注的权重",
V 决定"被拿走的内容"。

数学表现为:

αij=softmax(qi⋅kjdk)\alpha_{ij} = softmax\left(\frac{q_i \cdot k_j}{\sqrt{d_k}}\right)αij​=softmax(dk​​qi​⋅kj​​) outi=∑jαijvjout_i = \sum_j \alpha_{ij} v_jouti​=j∑​αij​vj​

这意味着:

  • token i 会根据 Q 与所有 token 的 K 的相似度决定"看谁多,看谁少";
  • 得到的权重再与 V 加权求和,形成每个 token 融合上下文后的语义表示。

因此,一个"苹果"会在上下文的帮助下从:

复制代码
"苹果"

变成:

复制代码
"被小朋友咬了一口的红富士苹果"

它获得了上下文赋予的语义补充。


三、多头注意力(Multi-Head Attention)

为了让模型从不同角度观察句子(如句法、语义、实体、关系等),Transformer 并不是只做一次 QKV,而是:

同一层内部使用多组(如 GPT-3 的 96 组)Q/K/V 并行计算注意力。

每一组叫做一个 head(注意力头)

流程:

bash 复制代码
输入向量 → 96 套 W_Q/W_K/W_V → 得到 96 套 q/k/v  
→ 96 次独立的 Attention  
→ concat 拼接  
→ 再线性融合回到原维度

你可以理解为:

多头注意力 = 单层内部的 96 个"不同视角"同时读懂一句话。

但这一整套操作仍然被视为 一次 Attention 层


四、MLP(前馈网络 / 多层感知机)

Attention 让 token 得到了上下文信息,但语义仍需要进一步非线性变换与特征组合------这正是 MLP 的作用。

一句话总结:

Attention 负责"信息流动与上下文理解",
MLP 负责"特征增强、非线性表达与高阶抽象"。

例如:

  • "塔" 经过 Attention 后知道上下文指的是"埃菲尔铁塔";
  • MLP 会进一步加强它的特征,如"铁做的、高、有结构特征"等。

MLP 结构通常是:

复制代码
d_model → d_ff(扩大数倍)→ d_model

通过两次线性变换 + 激活函数(如 GELU),使 token 的语义表达更丰富。


五、多层 Transformer(Layer Stack)

Transformer 的基本结构单元是 一个 block

复制代码
(1)多头注意力  
(2)残差 + LayerNorm  
(3)MLP  
(4)残差 + LayerNorm

GPT-3 175B 具有 96 层这样的 block,层层堆叠,每一层都使 token 的隐藏状态更抽象、更全局、更高阶。

因此:

多头 = 同一层内部的横向并行
多层 = 模型纵向的深度堆叠

两者不是一回事。


六、解码器(线性层 + Softmax)

Transformer 最终会使用"最后一个 token 的隐藏状态"来预测下一词。

流程:

  1. 线性层(Linear)
    将 hidden state(如 12288 维)映射到词表维度(如 50k 维),得到 logits(生猛分数)。
  2. Softmax
    把 logits 转成概率分布,表示每个词作为下一 token 的可能性。

最终:

css 复制代码
P(苹果) = 0.72  
P(香蕉) = 0.10  
P(葡萄) = 0.05  
...

之后由推理策略(greedy/top-k/top-p 等)选择下一词。


七、最终总结

Transformer 的完整流程可以总结为:

  1. 文本 → token → Embedding + 位置编码
  2. 多头注意力让每个 token 与所有其他 token 交换信息
  3. MLP 进一步抽象特征
  4. 多层 block 堆叠形成深度理解
  5. 最后一个 token 的隐藏状态经线性层 + softmax 得到下一词概率
  6. 推理策略选出下一个 token

这就是 Transformer 结构的核心逻辑。

相关推荐
黑客思维者7 分钟前
机器学习001:从“让机器学会思考”到生活中的智能魔法
人工智能·机器学习·生活
ayingmeizi16320 分钟前
电子及通信设备制造业CRM解决方案,AI赋能线索+商机+销售+服务,助力企业降本增效与价值升级
人工智能·crm·数智化
也许是_22 分钟前
大模型应用技术之 Spring AI 2.0 变更说明
java·人工智能·spring
黑客思维者32 分钟前
机器学习006:监督学习【回归算法】(概论)--教AI从历史中预测未来
人工智能·学习·机器学习·监督学习·回归算法
高洁0137 分钟前
DNN案例一步步构建深层神经网络(二)
人工智能·python·深度学习·算法·机器学习
合方圆~小文1 小时前
4G定焦球机摄像头综合介绍产品指南
数据结构·数据库·人工智能
Coding茶水间1 小时前
基于深度学习的螺栓螺母检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
yiersansiwu123d1 小时前
AI全球善治的困境突破与中国方案的实践路径
人工智能
老蒋新思维1 小时前
反脆弱性设计:创始人IP与AI智能体如何构建愈动荡愈强大的知识商业|创客匠人
人工智能·网络协议·tcp/ip·算法·机器学习·创始人ip·创客匠人