#一、基础与 Transformer 架构

#代表笔试题

  1. Transformer 的核心组成模块有哪些?
  2. Self-Attention 的时间复杂度和空间复杂度分别是什么?
  3. 为什么 Self-Attention 里要除以 sqrt(d_k)
  4. Encoder-only、Decoder-only、Encoder-Decoder 分别适合什么任务?
  5. Multi-Head Attention 相比单头注意力的优势是什么?
  6. 为什么现在大语言模型大多采用 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)

    答:因为 QK 的每一维都会参与内积,当维度 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 架构?”。

#代表面试题

  1. 你一步一步讲一下 Self-Attention 是怎么计算的,从输入到输出都说清楚。
  2. 为什么 LLM 时代 Decoder-only 压过了 Encoder-Decoder?它付出了什么代价?
  3. Pre-Norm 和 Post-Norm 有什么区别?为什么现代大模型更偏向 Pre-Norm?
  4. 如果上下文特别长,Attention 复杂度会成为什么瓶颈?有哪些替代思路?
  5. MHA、MQA、GQA 在效果和推理成本上的 trade-off 是什么?
  6. 你如何向不懂深度学习的人解释“注意力机制”到底在做什么?

#就地速答

  • 问:为什么 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 非线性变换 -> 残差与归一化稳定训练 -> 输出概率分布