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 结构的核心逻辑。

相关推荐
std787944 分钟前
Intel Arrow Lake Refresh迎来DDR5‑7200 CUDIMM支持,提升内存兼容性
人工智能
小喵要摸鱼1 小时前
【卷积神经网络】卷积层、池化层、全连接层
人工智能·深度学习·cnn
YJlio2 小时前
[编程达人挑战赛] 用 PowerShell 写了一个“电脑一键初始化脚本”:从混乱到可复制的开发环境
数据库·人工智能·电脑
RoboWizard2 小时前
PCIe 5.0 SSD有无独立缓存对性能影响大吗?Kingston FURY Renegade G5!
人工智能·缓存·电脑·金士顿
霍格沃兹测试开发学社-小明3 小时前
测试左移2.0:在开发周期前端筑起质量防线
前端·javascript·网络·人工智能·测试工具·easyui
懒麻蛇3 小时前
从矩阵相关到矩阵回归:曼特尔检验与 MRQAP
人工智能·线性代数·矩阵·数据挖掘·回归
xwill*3 小时前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
网安INF3 小时前
机器学习入门:深入理解线性回归
人工智能·机器学习·线性回归
陈奕昆3 小时前
n8n实战营Day2课时2:Loop+Merge节点进阶·Excel批量校验实操
人工智能·python·excel·n8n