← 返回书架人工智能 · 交互式 Wiki
模型工程/Transformer 演化资料与边界
模型结构进阶专题讲解

ARCHITECTURE / EVOLUTION

Transformer 演化:结构、目标与执行方式

原始 Transformer 已经给出 attention、残差、FFN 和层级堆叠。后续变化主要围绕:归一化放在哪、 位置怎么表达、激活与 FFN 怎么算、KV 怎么省、容量怎么稀疏化,以及训练和推理系统怎样利用 GPU。

01

一条结构演化时间线

按采用趋势归组,非每项技术的首发年份:SwiGLU 为 2020、RMSNorm 为 2019、RoPE 为 2021、FlashAttention 为 2022;稀疏 MoE 也早于 2023。这些技术在不同时期被组合采用。

2017 · ORIGINAL TRANSFORMER

Encoder-decoder + post-norm

用 self-attention 替代循环结构,让序列内所有位置并行交互。原始模型仍包含 encoder 与 decoder,使用正弦位置编码、ReLU FFN 和 post-layer-norm。

对齐 / 目标

机器翻译:encoder 编码源语言,decoder 因果生成目标语言。

Attention

MHA;每个 query 位置看完整 source 或已生成 target。

Norm / 残差

每个子层输出后做 LayerNorm;残差帮助深层训练。

位置

正弦/余弦位置编码,注入顺序信息。

FFN / 激活

两层 MLP + ReLU;通常 4d 宽,参数量约 2·d·d_ff。

推理 / 容量

decoder 自回归生成;MHA 的 KV 与 head 数同规模。

解决了什么

长距离依赖可并行建模,训练比 RNN 更充分利用硬件。

新增代价

注意力成本随上下文长度二次增长;自回归 decode 每步仍需逐 token。

02

结构、目标和系统分别怎样改进

按结构、目标和系统分类,可以追踪每种方法改变了哪些计算或训练条件。

STRUCTURE

改变权重与计算图

Pre-LN、RMSNorm、SwiGLU、RoPE、GQA/MQA、MoE、滑窗/稀疏 attention。它们改变 block 的矩阵、位置处理或路由。

会改变计算关系;参数量或形状未必变化,例如部分 Norm 布局调整。
OBJECTIVE

改变数据与损失

BERT 的 masked LM、GPT 的 causal LM、T5 的 span denoising、SFT/DPO 都改变“模型看见什么、为什么被惩罚”。

不一定改变 block 结构,但改变学到的分布。
SYSTEM

改变执行与内存访问

FlashAttention、KV Cache、Paged Attention、连续批处理、量化、投机解码。多数不改变数学结果或只改变数值精度。

重点优化延迟、吞吐和显存占用。
03

现代 decoder 的几个关键零件

这些模块分别影响稳定性、位置表示、表达能力和计算成本,可以组合使用。

Pre-LN / RMSNorm:先稳定监督,再进入子层

Post-LN 在每个子层相加后归一化,深层训练可能更依赖 warmup;Pre-LN 在 attention/MLP 前归一化,更常用于现代 decoder。RMSNorm 不减均值,只用均方根缩放,计算更省;替换后的质量和稳定性需要在完整训练设置中验证。

残差:为跨层计算保留直接路径

每个 block 都在 residual stream 上加回 x。Attention 与 MLP 将学到的增量加回主干表示。残差给梯度提供短路径,尤其是深层网络;Pre-LN 与残差共同影响数值稳定性。

RoPE:把相对位置写进 Q/K 的旋转

旋转位置编码对 query/key 的不同位置维度施加角度,使点积自然表达相对位移。它不再依赖把位置向量直接加到 token embedding;长上下文外推仍受训练长度、频率设置与 attention 模式影响。

SwiGLU:门控表达与三组投影

列向量约定下:FFN(x) = W_down[SiLU(W_gate x) ⊙ (W_up x)]。三张矩阵共约 3·d·d_ff 个参数;同 d_ff 比两投影 FFN 多,但常把中间宽度从 4d 调成约 8d/3,使参数量相近。门控的收益需用等预算实验判断。

GQA / MQA:共享 KV head,减少缓存和读取

MHA 每个 query head 都有独立 K/V;GQA 让多个 query heads 共享一组 KV heads;MQA 只保留一组 K/V。训练时仍是 attention,推理时 KV Cache 显著变小、memory bandwidth 压力降低,但可能牺牲部分表达力。

MoE:总参数变大,每 token 只激活少量专家

Router 为每个 token 选 top-k experts。总权重需要存放在内存里,但每 token 计算只走选中专家;还要付 all-to-all、负载均衡、容量与路由稳定性的系统成本。选型时需同时计算专家容量和这些系统开销。

FlashAttention:通常不改网络结构

它用片上 SRAM 分块和在线 softmax,减少与 HBM 之间的数据搬运,避免保存完整 attention 矩阵。数学上计算精确 attention(有限精度舍入可能不同),标准全注意力的算术量仍随序列长度二次增长。

04

Encoder、Decoder 与 MoE 的结构差别

同样叫 Transformer,encoder、decoder、目标函数和 attention 访问方式可能完全不同。

类型典型结构能看到什么适合 / 后果
Encoder-only双向 self-attention,常输出每 token 状态整段输入上下文分类、匹配、masked LM;不能直接按因果顺序逐词生成
Decoder-onlycausal attention,下一 token 预测只看过去与当前生成、对话、现代 LLM 主力;prefill + decode 推理
Encoder-decoder编码源序列,再在 decoder 中 cross-attendencoder 看全输入,decoder 因果生成翻译、摘要;两个阶段和两套 attention
Dense decoder每 token 经过同一 MLP全参数参与该 token行为可预测、调优成熟;总参数 = 每 token 激活参数
MoE decoderrouter 选 top-k experts每个 token 只看选中 experts提高总容量/激活比;显存、通信和负载均衡更复杂

NEXT / COUNT THE WEIGHTS

把一层拆开:Q/K/V、残差、SwiGLU 与 MoE 各有多少参数?

进入权重解剖 →

适用范围与一手资料

时间线按采用趋势分段,非全部技术首发年。结构变化、目标变化和 kernel 优化可能同时发生,不能将组合收益归因于单一部件。

公式与机制的原始依据 · 6 项
知识目录
搜索知识库