Transformer 核心机制与面试高频

本章聚焦 Transformer 四大核心机制:Attention、Self-Attention、Multi-Head 与 位置编码。面试中不仅考察原理推导,更关注为什么这样设计以及工程落地时的取舍。掌握 3 张问答卡片 + 1 个实战项目,即可覆盖 90% 高频考点。

Transformer 核心机制 面试回答框架 Attention 本质 Self-Attention Multi-Head 位置编码 追问:变体 / 工程优化 分层递进:定义 → 技术拆解 → 原理深化 → 工程追问

1. 请解释 Scaled Dot-Product Attention 的计算过程

考察点公式推导理解、缩放因子作用、Mask 机制
回答框架公式 → 三步计算(相似度、归一化、加权求和)→ 缩放因子 → 可选 Mask
示例回答Attention(Q,K,V)=softmax(QK^T/√d)V。Q与K点积得相似度,缩放后 softmax 归一化,再加权求和。√d 防止梯度消失,使 softmax 梯度平稳。
可能追问为什么用点积而不是加性注意力?缩放因子为什么取 √d?Mask 怎么用?
避坑提醒不要只说“算相似度”而不提缩放因子;忘记解释 sqrt(d) 的来源会被质疑数学基础。

2. 为什么 Transformer 需要 Multi-Head Attention?

考察点模型容量、注意力多样性、多头与单头的差异
回答框架动机 → 分组投影 → 独立运行 → 拼接融合 → 实际收益
示例回答单头注意力关注单一模式。多头将 Q/K/V 线性投影到 h 个子空间,并行计算注意力,拼接后再次投影。每个头捕捉不同语义子空间,提升模型表达能力。
可能追问头数 h 如何选择?多头降维后参数总量?有没有理论分析多头的必要性?
避坑提醒避免只说“并行”而不提“不同表示空间”;不要忽略拼接后的线性层(Proj)。

3. 位置编码为什么是必要的?简述 Sinusoidal 位置编码

考察点位置信息重要性、三角编码设计、相对位置直觉
回答框架Self-Attention 无位置感 → 编码方式 → 频率/偏移设置 → 相对位置表达
示例回答PE(pos,2i)=sin(pos/10000^{2i/d}),PE(pos,2i+1)=cos(...)。不同维度不同频率,使模型能通过线性变换表达相对位置,且无需训练,可外推至更长序列。
可能追问可学习位置编码与三角编码对比?RoPE 与 ALIBI 改进思路?位置编码能否被替代?
避坑提醒不要只说“加位置向量”;必须解释相对位置的数学特性,否则面试官会追问 RoPE。

📌 项目案例:长文本摘要生成系统(基于 BERT+)

业务背景

电商评论自动摘要,每日新增 50 万条评论,需实时生成 2~3 句摘要。

规模指标

日处理 50 万条,摘要长度 < 100 字,ROUGE-L 0.38,模型参数量 350M

技术栈

Pytorch + Transformers + BART + TensorRT + ONNX

核心难点

  • 长文本 > 512 截断导致摘要缺失关键信息
  • 摘要控重词与事实一致性(Hallucination)
  • 推理延迟要求 < 200ms / 条

面试高频追问

  • 如何解决位置编码外推问题?
  • Multi-Head 注意力头裁剪对效果影响?
  • 长文本分段后 Self-Attention 如何拼接?

💡 可迁移回答话术

“面对长文本位置编码外推问题,我们在 BART 基础上引入 ALIBI 相对位置偏置,零额外参数使推理长度从 512 扩展到 2048,ROUGE-L 提升 1.2 个点。同时,我们对 Multi-Head 进行重要性分析,裁剪掉 30% 低贡献头,推理速度提升 40% 而效果仅下降 0.3。”