Transformer Decoder-Only架构梳理

一. GPT-2 Decode-Only 架构概览

GPT-2 核心特点:

GPT-2 采用纯 Decoder 架构,与 BERT 的 Encoder 架构不同。核心创新在于使用 因果掩码(Causal Masking),确保模型在生成第 t 个词时只能看到前 t-1 个词,从而实现自回归生成。

二. Masked Multi Self Attention QKV计算流程

1. 投影计算 (Q, K, V Projection)

计算步骤:

  1. 输入嵌入:输入嵌入 X(维度为 Batch × SequenceLength × EmbeddingDimension)
  2. 权重矩阵:三个可学习的权重矩阵 W^Q、W^K、W^V,维度均为 D × D
  3. 生成 Q、K、V:输入嵌入分别与三个权重矩阵相乘
ini 复制代码
Q = X · W^Q
K = X · W^K
V = X · W^V

# W^Q, W^K, W^V: 模型的可学习参数
flowchart LR A[输入 X] --> B[W^Q] A --> C[W^K] A --> D[W^V] B --> E[Q] C --> F[K] D --> G[V] style A fill:#3498db,color:#fff style B fill:#f39c12,color:#fff style C fill:#f39c12,color:#fff style D fill:#f39c12,color:#fff style E fill:#9b59b6,color:#fff style F fill:#9b59b6,color:#fff style G fill:#9b59b6,color:#fff

📊 2. 计算注意力得分 (Attention Scores)

注意力得分的作用:

Scores= Q⋅KT dk \text{Scores} = \frac{Q \cdot K^T}{\sqrt{d_k}} Scores=dk Q⋅KT

通过点积计算当前词与其他词之间的相关性,值越大表示相关性越强。

3. 因果掩码 (Causal Masking)

因果掩码的作用:

这是 GPT-2 区别于 BERT 等编码器架构的关键步骤。为了确保模型在预测第 t 个词时只能"看到"前 t-1 个词,需要应用一个 上三角掩码矩阵

掩码操作:

操作 说明
创建掩码矩阵 创建一个与 Scores 同尺寸的下三角矩阵
填充上三角 将上三角部分(对角线以上)填充为 -∞
SoftMax 执行 SoftMax 后,这些位置的概率变为 0
scss 复制代码
AttentionWeights = softmax( (Q · K^T) / sqrt(d_k) + Mask )

# Mask: 上三角掩码矩阵,对角线以上填充为 -∞

掩码可视化(N=4):

4. 输出生成

最终,利用注意力权重对 Value 进行加权求和:

ini 复制代码
Output = AttentionWeights · V

三. Attention QKV 计算流程总结

完整六步流程:

  1. 定义 Q、K、V 权重矩阵:三个矩阵是可学习的权重参数,维度是 D × D(D 等于向量维度)
  2. 输入向量 X:输入维度为 N × D(N 等于输入序列长度,D 等于向量维度)
  3. 计算 Q、K、V 矩阵:输入向量 X 分别与 Q、K、V 权重矩阵相乘,得到新的 Q、K、V 矩阵,维度均为 N × D
  4. 计算 Attention 得分矩阵:Q 与 K 的转置相乘,生成得分矩阵,维度为 N × N,表示每个位置对其他位置的关注度
  5. 归一化处理(含掩码):除以 sqrt(d_k),添加因果掩码,然后进行 SoftMax
  6. 融合上下文信息:归一化后的注意力得分矩阵与 V 矩阵相乘,输出融合了上下文信息的新矩阵,维度为 N × D

📈 矩阵维度变化表

步骤 操作 矩阵名称 维度
1 输入 X N×DN \times D N×D
2 投影 Qw、Kw、Vw D×DD \times D D×D
3 计算 Q, K, V Q, K, V N×DN \times D N×D
4 计算得分 Q×KTQ \times K^T Q×KT N×NN \times N N×N
5 注意力加权(含掩码) Softmax(Score+Mask)\text{Softmax}(\text{Score} + \text{Mask}) Softmax(Score+Mask) N×NN \times N N×N
6 融合输出 Attention×VAttention \times V Attention×V N×DN \times D N×D

四. 核心要点总结

Decode-Only 架构特点

  • 纯 Decoder:只使用解码器结构,不使用编码器
  • 因果掩码:确保自回归生成,防止信息泄露
  • 自回归生成:逐词生成,每个词依赖于之前生成的词
  • KV 缓存:优化生成效率,避免重复计算

注意力机制的核心

概念 作用
Q(Query) 当前词要"找什么"
K(Key) 其他词"有什么"
V(Value) 其他词的"具体内容"
因果掩码 只允许关注前面的词

📚 关键概念

概念 英文 作用
因果掩码 Causal Masking 防止模型看到未来的词
自回归 Autoregressive 逐词生成,依赖之前的输出
KV 缓存 KV Cache 缓存中间结果,提升生成效率
缩放因子 Scaling Factor 防止点积过大导致梯度消失
注意力头 Attention Head 并行计算不同的注意力模式
相关推荐
阳光是sunny12 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端
冬奇Lab13 小时前
每日一个开源项目(第148篇):obsidian-skills - Obsidian CEO 亲写的 AI Agent 格式规范,让 Agent 不再破坏你的 Vault
人工智能·开源·资讯
ethantan13 小时前
AI Agent 组成:像人一样思考的智能体
人工智能·程序员·架构
冬奇Lab13 小时前
Workflow 系列(05):评测体系——三层测试结构与 Trace 追踪
人工智能·工作流引擎
ethantan14 小时前
一篇讲解AI Agent 组成:像人一样思考的智能体
人工智能·后端·程序员
Cosolar16 小时前
vLLM 生产级部署完全指南
人工智能·后端·架构
CodePlayer竟然被占用了16 小时前
被美国政府封杀18天,Claude Fable 5 回来了——但代价是什么?
人工智能
IT_陈寒16 小时前
垃圾回收器选错了,我的Java服务内存炸了
前端·人工智能·后端
smartpi17 小时前
SmartPi GPIO 脉冲与回复语执行时序指南
人工智能
阿里云大数据AI技术17 小时前
PAI支持一键部署GLM-5.2,Coding能力比肩Claude Opus 4.8
人工智能