#一、基础与 Transformer 架构
#代表笔试题
- Transformer 的核心组成模块有哪些?
- Self-Attention 的时间复杂度和空间复杂度分别是什么?
- 为什么 Self-Attention 里要除以
sqrt(d_k)? - Encoder-only、Decoder-only、Encoder-Decoder 分别适合什么任务?
- Multi-Head Attention 相比单头注意力的优势是什么?
- 为什么现在大语言模型大多采用 Decoder-only 架构?
#就地速答
- 问:Transformer 的核心组成模块有哪些?
答:典型 Transformer 可以拆成 7 个核心部件:输入 embedding、位置编码、多头注意力、前馈网络(FFN)、残差连接、归一化层,以及最后把隐藏状态映射回词表的输出头。面试时不要只背名字,更要顺着数据流讲:token 先被映射成向量,再叠加位置信息进入多层 Transformer block,每个 block 里先做注意力聚合上下文,再做 FFN 做非线性变换,同时用残差和归一化保证深层训练稳定,最后输出到 logits 做预测。详见后文“### 1. Transformer 的核心组成模块有哪些?”。
- 问:Self-Attention 的时间复杂度和空间复杂度分别是什么?
答:对长度为
n的序列,标准 self-attention 最贵的部分是计算QK^T,因为它要让每个 token 和其余 token 两两做一次相关性打分,所以时间复杂度通常看作O(n^2);对应的注意力矩阵本身也是n x n,因此中间激活的空间复杂度也常看作O(n^2)。详见后文“### 2. Self-Attention 的时间复杂度和空间复杂度分别是什么?”。 - 问:为什么 Self-Attention 里要除以
sqrt(d_k)?答:因为
Q和K的每一维都会参与内积,当维度d_k变大时,点积结果的方差也会随之变大。如果不做缩放,送进 softmax 的值很容易绝对值过大,最后出现两个问题:一是分布过于尖锐,模型几乎只盯住某几个位置;二是 softmax 进入饱和区后梯度变差,训练更不稳定。详见后文“### 3. 为什么 Self-Attention 里要除以sqrt(d_k)?”。 - 问:Encoder-only、Decoder-only、Encoder-Decoder 分别适合什么任务?
答:
Encoder-only更适合理解类任务,例如分类、匹配、抽取;Decoder-only更适合对话、写作、代码补全这类自回归生成;Encoder-Decoder更适合翻译、摘要等条件生成任务。详见后文“### 4. Encoder-only、Decoder-only、Encoder-Decoder 分别适合什么任务?”。 - 问:Multi-Head Attention 相比单头注意力的优势是什么?
答:多头注意力的核心价值是“并行看不同关系”。单头注意力相当于只用一种打分方式去看上下文,而多头注意力会先把隐藏维度切到多个子空间,每个 head 在自己的子空间里独立计算注意力,所以有的 head 可能更关注局部语法,有的更关注长程指代,有的更关注位置模式或特殊分隔符。详见后文“### 5. Multi-Head Attention 相比单头注意力的优势是什么?”。
- 问:为什么现在大语言模型大多采用 Decoder-only 架构?
答:因为大语言模型主流目标是 next-token prediction,而 Decoder-only 恰好就是最自然的自回归架构:训练时按前文预测下一个 token,推理时也按同样方式逐 token 生成,训练目标和部署方式高度统一。这样做的好处是数据构造简单,几乎所有纯文本都能直接拿来训练,而且对话、写作、代码补全、Agent 规划这类任务都能统一成“继续生成”。详见后文“### 6. 为什么现在大语言模型大多采用 Decoder-only 架构?”。
#代表面试题
- 你一步一步讲一下 Self-Attention 是怎么计算的,从输入到输出都说清楚。
- 为什么 LLM 时代 Decoder-only 压过了 Encoder-Decoder?它付出了什么代价?
- Pre-Norm 和 Post-Norm 有什么区别?为什么现代大模型更偏向 Pre-Norm?
- 如果上下文特别长,Attention 复杂度会成为什么瓶颈?有哪些替代思路?
- MHA、MQA、GQA 在效果和推理成本上的 trade-off 是什么?
- 你如何向不懂深度学习的人解释“注意力机制”到底在做什么?
#就地速答
- 问:为什么 LLM 时代 Decoder-only 压过了 Encoder-Decoder?它付出了什么代价?
答:
Decoder-only在 LLM 时代胜出,核心是它把“预训练、指令微调、在线推理”三件事统一成了同一种 token 续写范式。团队不需要为翻译、摘要、问答、对话分别设计完全不同的训练接口,几乎所有数据都能转成 prompt -> continuation 的形式,规模化效率非常高。详见后文“### 8. 为什么 LLM 时代 Decoder-only 压过了 Encoder-Decoder?它付出了什么代价?”。 - 问:Pre-Norm 和 Post-Norm 有什么区别?为什么现代大模型更偏向 Pre-Norm?
答:Pre-Norm 和 Post-Norm 的区别,表面看只是 LayerNorm 放在子层前还是子层后,但背后是训练稳定性差异。Pre-Norm 是先归一化、再进入 attention 或 FFN,再走残差;Post-Norm 则是子层输出和残差相加后再做归一化。详见后文“### 9. Pre-Norm 和 Post-Norm 有什么区别?为什么现代大模型更偏向 Pre-Norm?”。
- 问:如果上下文特别长,Attention 复杂度会成为什么瓶颈?有哪些替代思路?
答:当上下文特别长时,attention 会同时变成计算瓶颈、显存瓶颈和带宽瓶颈。原因是每个 token 都要和大量历史 token 做交互,
QK^T计算量迅速增长,中间注意力矩阵也会占很多显存,推理时KV cache又会继续放大压力。详见后文“### 10. 如果上下文特别长,Attention 复杂度会成为什么瓶颈?有哪些替代思路?”。 - 问:MHA、MQA、GQA 在效果和推理成本上的 trade-off 是什么?
答:这三者本质上是在权衡“表达能力”和“推理缓存成本”。
MHA里每个 query head 都有自己独立的K/V,表达最充分,效果通常最好,但KV cache也最大。MQA把很多 query head 对应到同一组K/V,显存和带宽最省,推理会很友好,但因为共享过强,质量有时掉得比较明显。详见后文“### 11. MHA、MQA、GQA 在效果和推理成本上的 trade-off 是什么?”。 - 问:你如何向不懂深度学习的人解释“注意力机制”到底在做什么?
答:可以把注意力机制理解成“动态查资料”。模型在处理当前这个词时,不会对前文一视同仁,而是会临时决定:哪些词和我现在最相关,应该多看一点;哪些词关系不大,可以少看一点。这个“看多看少”的权重,就是注意力分数。详见后文“### 12. 你如何向不懂深度学习的人解释“注意力机制”到底在做什么?”。
#这一块真正考什么
- 是否理解 Transformer 不是“背模块名称”,而是理解信息如何流动。
- 是否知道 LLM 的主流架构选择背后的工程原因,而不是只会说“大家都这么做”。
#作答抓手
回答架构题时,最好固定成这条链:输入表示 -> 位置信息 -> 注意力聚合 -> FFN 非线性变换 -> 残差与归一化稳定训练 -> 输出概率分布。