云镜收藏

稍后阅读

清单保存在当前浏览器,方便下次回来继续阅读。

清单还是空的

在笔记卡片或正文页点击“加入稍后阅读”即可收藏。

展开章节与本页目录
十四章问道录01机器学习与深度学习基础02Tokenizer 与表示学习03Transformer 与注意力04模型架构与 Scaling05预训练数据与优化06分布式训练07SFT 与参数高效微调08对齐与推理能力09推理与服务优化10RAG 与检索系统11Agent 与工具调用12评测、安全与幻觉13多模态大模型14编程与系统设计题本章问题01Self-Attention 的完整计算过程是什么?02Attention 为什么除以根号 d_k?03多头注意力相比单头有什么作用?04Causal Mask 与 Padding Mask 有何区别?05Self-Attention 与 Cross-Attention 有何区别?06Transformer 的时间和空间复杂度怎样分析?07RoPE 的核心原理是什么?08绝对位置编码、ALiBi 与 RoPE 如何比较?09MQA、GQA 与 MHA 的区别是什么?10FFN 为什么先升维再降维?11Pre-LN 与 Post-LN 有什么训练差异?12KV Cache 的原理是什么?13训练阶段和自回归推理的 Attention 有何不同?14局部、滑动窗口与块稀疏注意力解决什么?15长上下文“支持 128K”应该怎样验证?16Attention 是否等于模型的解释?

第 03 章 · 大模型算法岗

Transformer 与注意力

从缩放点积注意力走到 RoPE、GQA、Mask、长上下文与复杂度,回答 Transformer 最核心的追问。

16 道核心题校订于 2026年8月31日
TransformerAttentionRoPEGQA

Self-Attention 的完整计算过程是什么?

30 秒口述版

输入分别线性投影为 Q、K、V,计算缩放点积、加 mask、softmax 得到权重,再对 V 加权求和并做输出投影。

原理与推导

Q 表示当前查询,K 决定匹配,V 提供被汇聚内容;多头只是并行使用不同投影子空间。

公式、代码或工程案例

写出 Attention(Q,K,V)=softmax(QKᵀ/√dₖ)V,并逐项说明张量形状。

高频追问

  • 为什么 K 和 V 可以缓存而 Q 不缓存?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把注意力权重直接等同于可靠的因果解释。

权威来源


Attention 为什么除以根号 d_k?

30 秒口述版

QK 点积方差会随维度 d_k 增大,除以 √d_k 可把尺度拉回稳定区,避免 softmax 过早饱和。

原理与推导

若 Q、K 分量独立且单位方差,点积方差约为 d_k;缩放后方差约为 1。

公式、代码或工程案例

从随机变量方差推导缩放项,并联系 softmax 梯度。

高频追问

  • 能否学习一个温度参数?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要说它只是“防止数值太大”,关键是控制分布方差与梯度。

权威来源


多头注意力相比单头有什么作用?

30 秒口述版

多头允许模型在不同表示子空间并行学习位置、语义和句法等关系,再拼接融合。

原理与推导

固定 d_model 时增加头数不会按头数倍增主投影参数,但会减小每头维度并改变内核效率。

公式、代码或工程案例

比较 h 个 d_head=d_model/h 的头与一个大头的表达约束。

高频追问

  • 注意力头越多越好吗?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要宣称每个头都有稳定、可解释的固定功能。

权威来源


Causal Mask 与 Padding Mask 有何区别?

30 秒口述版

Causal mask 阻止当前位置看到未来 token,padding mask 排除无效填充;两者作用原因不同但可合并到 attention logits。

原理与推导

训练时错误 mask 会泄漏答案或让有效 token 被遮蔽;现代内核常使用布尔 mask 或结构化 causal 参数。

公式、代码或工程案例

画出 4×4 下三角可见矩阵,并说明 batch padding 如何广播。

高频追问

  • 推理单 token 解码还需要显式 causal mask 吗?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把 mask 加在 softmax 之后,那无法正确归一化。

权威来源


Self-Attention 与 Cross-Attention 有何区别?

30 秒口述版

Self-attention 的 Q/K/V 来自同一序列;cross-attention 的 Q 来自当前序列,K/V 来自另一编码序列或模态。

原理与推导

前者建模内部依赖,后者实现条件信息对齐;decoder-only 模型也可通过拼接上下文只用 self-attention。

公式、代码或工程案例

以 encoder-decoder 翻译和视觉语言模型说明 K/V 来源。

高频追问

  • 为什么 decoder-only 也能做条件生成?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把 causal 与 cross-attention 混为同一维度的分类。

权威来源


Transformer 的时间和空间复杂度怎样分析?

30 秒口述版

标准注意力核心 QKᵀ 对序列长度 n 是 O(n²d),注意力矩阵空间 O(n²);线性投影和 FFN 通常是 O(nd²)。

原理与推导

短序列大隐藏维时 FFN/投影可能主导 FLOPs,长序列时二次注意力与 KV cache 更突出。

公式、代码或工程案例

分别代入 n、d、层数 L、batch B 说明训练和解码成本。

高频追问

  • 为什么 FlashAttention 不改变理论 FLOPs 却更快?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要只写 O(n²) 而忽略 d、层数和训练/推理差异。

权威来源


RoPE 的核心原理是什么?

30 秒口述版

RoPE 按位置对 Q、K 的二维通道对施加旋转,使点积自然依赖相对位置差,同时保留绝对位置信息的相位。

原理与推导

旋转矩阵满足 RmTRn=RnmR_m^TR_n=R_{n-m},因此注意力分数可表达相对距离;它应作用于 Q、K 而不是 V。

公式、代码或工程案例

用二维旋转矩阵解释位置 m 与 n 的点积只依赖 n-m。

高频追问

  • RoPE 为什么有外推困难?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要说 RoPE 直接给 token embedding 加一个位置向量。

权威来源


绝对位置编码、ALiBi 与 RoPE 如何比较?

30 秒口述版

绝对编码把位置加入表示;ALiBi 给注意力分数加入随距离变化的线性偏置;RoPE 旋转 Q/K。

原理与推导

三者在参数量、相对关系表达、外推行为和内核兼容性上不同,没有脱离训练配方的绝对优胜者。

公式、代码或工程案例

从“加到 hidden state、logits 或 Q/K”三个位置对比。

高频追问

  • 长上下文扩展时为什么不能只改 max length?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把训练长度外表现好等同于真正理解长上下文。

权威来源


MQA、GQA 与 MHA 的区别是什么?

30 秒口述版

MHA 每个查询头有独立 K/V 头;MQA 所有查询头共享一组 K/V;GQA 让若干查询头共享一组 K/V。

原理与推导

共享减少 KV cache 和内存带宽,GQA 通常在质量与吞吐之间取得折中。

公式、代码或工程案例

KV cache 规模近似与 KV 头数成正比,比较 h_q、h_kv 的比例。

高频追问

  • 从 MHA 转 GQA 能否直接平均 K/V 权重?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要说 GQA 会等比例减少所有计算,Q 与输出投影仍在。

权威来源


FFN 为什么先升维再降维?

30 秒口述版

FFN 在每个 token 位置独立执行非线性通道混合,升维提供更大的特征容量,降维回到残差主干维度。

原理与推导

注意力负责 token 间通信,FFN 负责通道内变换;SwiGLU 等门控结构会改变中间维与参数预算。

公式、代码或工程案例

比较 ReLU/GELU FFN 与 SwiGLU 的矩阵数量和参数量。

高频追问

  • 为什么现代模型中 FFN 参数常多于 Attention?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把 FFN 说成跨 token 操作。

权威来源


Pre-LN 与 Post-LN 有什么训练差异?

30 秒口述版

Pre-LN 在子层前归一化,残差主路更直接,深层训练通常更稳定;Post-LN 在残差相加后归一化,对初始化和 warmup 更敏感。

原理与推导

两者改变梯度路径和层间表示尺度;稳定性与最终效果需结合具体架构判断。

公式、代码或工程案例

写出 x+F(LN(x)) 与 LN(x+F(x)) 两个式子。

高频追问

  • DeepNorm、Sandwich Norm 解决什么问题?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把 Pre-LN 说成一定更高上限。

权威来源


KV Cache 的原理是什么?

30 秒口述版

自回归解码时历史 token 的 K/V 不会变化,因此缓存每层 K/V,只为新 token 计算 Q/K/V,避免重复前缀计算。

原理与推导

它把每步注意力从重复计算历史投影变为读取缓存,但缓存随层数、序列、batch 和 KV 头增长。

公式、代码或工程案例

给出 cache≈2×L×tokens×h_kv×d_head×bytes 的估算式。

高频追问

  • 为什么 prompt prefill 仍能并行?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要说 KV cache 消除了注意力的全部线性增长。

权威来源


训练阶段和自回归推理的 Attention 有何不同?

30 秒口述版

训练用 teacher forcing 一次并行处理所有位置并应用 causal mask;推理逐 token 生成,通过 KV cache 复用历史。

原理与推导

prefill 更偏计算密集,decode 常受内存带宽和并发调度限制,优化目标并不相同。

公式、代码或工程案例

分别分析 TTFT 与 TPOT 受哪些阶段影响。

高频追问

  • 连续批处理为何能提高吞吐?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要用训练 FLOPs 直接推断在线解码延迟。

权威来源


局部、滑动窗口与块稀疏注意力解决什么?

30 秒口述版

它们限制每个 token 可见范围或连接模式,把长序列的二次成本降为近线性或稀疏成本。

原理与推导

代价是远距离信息可能无法直接交互,需要全局 token、跨层传播或混合全局层补足。

公式、代码或工程案例

若窗口 w 固定,局部注意力约为 O(nwd)。

高频追问

  • 怎样选择窗口大小?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把稀疏连接误说成所有任务上都无损。

权威来源


长上下文“支持 128K”应该怎样验证?

30 秒口述版

不仅要能输入 128K,还要评估检索、跨段推理、位置鲁棒性、首尾偏置、延迟和显存。

原理与推导

needle 测试只能验证简单定位,应增加多针、干扰、组合推理及真实长文任务。

公式、代码或工程案例

报告不同位置、长度与干扰强度下的准确率曲线。

高频追问

  • Lost in the Middle 说明了什么?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要把不报错当成有效上下文能力。

权威来源


Attention 是否等于模型的解释?

30 秒口述版

注意力权重展示模型在一次前向中的信息混合比例,但并不自动构成因果解释或特征重要性证明。

原理与推导

不同参数可产生相近输出却有不同注意力分布,残差和 FFN 也参与决策。

公式、代码或工程案例

结合消融、梯度归因和反事实测试交叉验证。

高频追问

  • 怎样验证某个头是否真正必要?
  • 这个结论在规模、数据或硬件条件变化时,边界会怎样改变?

易错点

不要用一张热力图直接下业务或安全结论。

权威来源