精选·模型与微调基础

把 Transformer 架构讲清楚:每个模块在工程上意味着什么

91学AI·2026/7/13·6 阅读

考察点

Transformer 是模型侧面试的入场题,几乎必问。面试官不想听你背结构图,而是想确认你是否理解每个模块「为什么存在」,追问会往三个方向走:残差和 LayerNorm 的工程动机、FFN 为什么占参数大头、注意力复杂度对应用层意味着什么。答出「结构如何影响我在应用层的成本和设计」,比背公式更加分。

参考答案

整体骨架

原始论文里的 Transformer 是 Encoder-Decoder 结构,用在机器翻译上。今天主流大模型(GPT、LLaMA、Qwen 系列)是 Decoder-only,但基本构件没变:输入文本先被 Tokenizer 切成 token 序列,每个 token 查 Embedding 表变成向量,然后依次经过 N 个结构相同的 Block,最后接一个线性层(LM Head)把向量映射回词表上的概率分布,预测下一个 token。

每个 Block 里就两件事:一个多头自注意力(Multi-Head Self-Attention),一个前馈网络(FFN),各自外面包着残差连接和 LayerNorm。理解这两个组件的分工,就理解了整个架构。

两个核心组件的分工

Self-Attention 负责「信息混合」。每个位置拿自己的 Query 去和所有位置的 Key 算相似度,用 Softmax 归一化成权重,再对 Value 加权求和。一句话概括:让每个 token 根据上下文动态决定该从哪些 token 吸收多少信息。多头机制是把向量切成几份独立做注意力,不同的头会学到不同的关注模式——有的盯语法依赖,有的盯指代关系,工程上你可以把它理解为多路并行的特征提取器。

FFN 负责「信息加工」,就是两层全连接加一个激活函数(现在主流是 SwiGLU 这类门控激活)。它的参数量约占整个模型的三分之二,研究界普遍认为模型的「知识」主要存储在 FFN 的权重里,注意力更像是信息路由。这个分工对应用工程师有实际意义:很多微调、量化实验发现 FFN 对量化更敏感,注意力部分相对耐压。

残差与 LayerNorm:让深网络可训练

几十层甚至上百层的网络直接堆是训不动的,梯度会消失或爆炸。残差连接(输出 = 输入 + 子层计算结果)给梯度留了一条直通高速公路,LayerNorm 则把每层输入的数值分布稳住。现在主流模型用 Pre-Norm(Norm 放在子层之前),比原始论文的 Post-Norm 训练更稳定,深模型不容易训崩。工程上还有个细节:多数新模型用 RMSNorm 代替 LayerNorm,省掉减均值那一步,快一点且效果不掉。

为什么它干掉了 RNN

RNN 按时间步串行计算,序列多长就得算多少步,GPU 的并行能力完全用不上;而且长距离信息要一步步往后传,传到后面早衰减没了。注意力是矩阵运算,整段序列并行算,任意两个位置的交互只隔一层。训练效率和对长上下文的建模能力,这两点直接决定了 Transformer 的胜局。

给应用工程师的三个推论

  • 注意力计算量随序列长度平方增长(O(n²·d)),所以长上下文贵:8K 和 128K 上下文不是 16 倍关系,推理成本涨得更陡。
  • 自回归生成时每步都要重算前面所有 Key/Value,KV Cache 把它们缓存下来,这是所有推理框架(vLLM 等)的核心优化,也是显存占用大头。
  • 架构是标准的,意味着应用层可以用同一套推理、量化、部署工具链服务所有主流模型,选型的自由度很大。

可能的追问

  • 去掉 Key 只用 QV 行不行?不行,Q 和 K 匹配计算的是「谁和谁相关」的度量,去掉 K 等于每个位置只拿自己和自己比,注意力退化成固定的自我加权,失去上下文建模能力。
  • FFN 为什么不用 ReLU 了?门控激活(SwiGLU)多了一个门控分支做逐元素调制,梯度流动更顺,同等参数下效果更好,代价是激活参数变多,主流模型普遍接受这个账。
  • 注意力权重可视化偏了怎么办?注意力权重不完全等于可解释性,多头里有些头本来就是「平均分布」的兜底头,排查模型行为不能只盯注意力图。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.