Skip to content

Attention 与 Transformer 极简一问一答

定位| Attention 与 Transformer 一分钟速答页。每章固定 10 题,只保留结论、机制、边界与验证关键词;单个回答控制在 10~60 秒。

1. 怎么使用

本页重点| L1 概念 → L2 边界 → L3 原理 → L4 实现 → L5 工程 → L6 架构 → L7 复盘 → 误区、验证、证据强化。不会展开时,再进入正式主题或专项题库。

图:Attention 与 Transformer 十题极简脑图

替代文本: Attention 与 Transformer从 L1 概念和 L2 边界,依次进入 L3 原理、L4 实现、L5 工程、L6 架构与 L7 项目复盘,再用误区、最小自测和证据边界三题强化。

图表加载中…

读图结论: 掌握 Attention 与 Transformer 不能停在定义;先顺着七层链路说清机制与工程,再用误区、自测和证据边界确认没有虚假掌握。

2. 极简一问一答

Q001|Attention 与 Transformer 的本质分别是什么?

Attention 是用 Query 与 Key 的相关性计算权重,再对 Value 加权聚合的信息路由机制。Transformer 以 Attention 混合跨位置信息,还依靠逐位置 FFN、残差、归一化和位置机制组成可训练的序列架构。

Q002|Self-Attention、Causal Attention 和 Cross-Attention 有何区别?

Self-Attention 的 Q/K/V 来自同一序列;Causal Self-Attention 仍来自同一序列,但对位置 i 屏蔽所有未来 j>i;Cross-Attention 的 Q 来自目标序列,K/V 来自外部或源序列。区别在信息来源与可见性,不在是否使用相同公式。

Q003|为什么 Scaled Dot-Product Attention 要除以 sqrt(d_h)

每头计算 S=QKᵀ/sqrt(d_h)+M,再令 A=softmax(S, dim=-1)O=AV。若 Q、K 各维近似独立、零均值且单位方差,点积方差约随头维 d_h 增长;除以 sqrt(d_h) 可稳定 Logit 尺度,避免 Softmax 过度饱和和梯度变小。

Q004|多头 Attention 的张量怎样变化,Mask 如何正确应用?

输入投影后先为 [B,n,d],按 h 个头重排成 [B,h,n,d_h],分数为 [B,h,n,n],沿最后的 Key 维 Softmax,聚合后拼接回 [B,n,d] 并做输出投影。Causal Mask 屏蔽未来 Key,Padding Mask 屏蔽无效 Key;结果再进入残差、LayerNorm 与逐位置 FFN,具体 Pre-LN/Post-LN 顺序依架构。

Q005|标准 Attention 的复杂度如何拆解,长输入 OOM 怎样排查?

Q/K/V 与输出投影约为 O(Bnd²),分数和聚合约为 O(Bn²d),朴素注意力矩阵内存约为 O(Bhn²),FFN 约为 O(Bndd_ff);主导项依 nd 和实现而变。FlashAttention 通过分块和 IO-aware 计算减少中间写读与显存,不改变标准精确 Attention 的渐进计算定义。

Q006|长上下文应怎样选择 Attention 优化或 RAG?

FlashAttention 保持精确全局 Attention 定义,主要优化 IO 和中间存储;滑窗或块稀疏减少部分远距离直接交互,但会引入模式与质量代价;RAG 从外部语料筛选相关证据以缩短输入,却依赖召回质量。选择应基于是否需要全局依赖、上下文规模、硬件、延迟和固定质量评测,而非只看最大窗口。

Q007|如何为代码审查助手设计 Decoder-only 推理链路?

这是源文档中的示例项目:Tokenizer 产生 ID 与 Padding Mask,Prefill 对完整 Prompt 做因果 Self-Attention,Decode 复用每层 K/V;入口先做 Token 预算,优化内核只在支持的设备、dtype、形状和 Mask 上启用,并与正确性基线比较。仓库没有真实服务和压测,不能声称 TTFT、吞吐、显存节省或固定加速倍数。

Q008|这个专题最常见的误区是什么?

常见误区有三类:把 Transformer 等同 Self-Attention,或认为权重最高位置就是唯一解释;Softmax 沿 Query 维,Mask 主对角线或未来方向反了,或把 Pre-LN 说成唯一结构;把优化内核、稀疏模式与检索视为等价替代,或只用宣传倍数决策。

Q009|怎样做最小自测?

最小自测分三步:从 [B,n,d] 手推到 [B,h,n,n],再回到 [B,n,d];用单位方差假设解释 sqrt(d_h);写 Causal 与 Padding Mask 真值测试,并制造全屏蔽行。

Q010|回答这个专题时,证据边界是什么?

标准 Attention 的序列相关核心项为平方复杂度;FlashAttention 优化 IO 与中间存储,不得说成普遍改变渐进计算复杂度。

3. 总结

一句话记忆: Attention 是用 Query 与 Key 的相关性计算权重,再对 Value 加权聚合的信息路由机制。

  • Attention 是用 Query 与 Key 的相关性计算权重,再对 Value 加权聚合的信息路由机制。
  • Q/K/V 与输出投影约为 O(Bnd²),分数和聚合约为 O(Bn²d),朴素注意力矩阵内存约为 O(Bhn²),FFN 约为 O(Bndd_ff)。
  • 常见误区有三类:把 Transformer 等同 Self-Attention,或认为权重最高位置就是唯一解释。
  • 标准 Attention 的序列相关核心项为平方复杂度。