M4-018M4: Sequences & TransformersTransformer Architecture AnatomyHard
Mastery:
Transformer Architecture Anatomy: 解释 Transformer 中的参数分布与显存分布。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 参数上 FFN 约占 2/3、注意力约 1/3;训练显存中优化器状态与激活远大于参数本身。
📌 Key Takeaways
- •每层参数 ≈ 12d²(MHA 4d² + FFN 8d²)
- •训练显存 = 参数 + 梯度 + 优化器状态(≈16Ψ 字节)+ 激活
- •激活显存 ∝ 层数 × 序列长度 × 维度
📐 Mathematical Derivations
数学机理:<strong>参数分布</strong>——每个 Transformer block 的参数量为:<strong>MHA</strong>:W^Q、W^K、W^V、W^O 各 d×d,共 <strong>4d²</strong>;<strong>FFN</strong>:W₁(d×4d)+W₂(4d×d)=<strong>8d²</strong>;故每层约 <strong>12d²</strong>,L 层总计 ≈12d²L(加 embedding 与输出层)。<strong>FFN 占 2/3、注意力占 1/3</strong>——这解释了'MoE 把 FFN 换成专家'(改动的正是参数主体)与'FFN 是知识存储地'。<strong>训练显存分布</strong>——(1) <strong>参数</strong>:FP16/BF16 下 2Ψ 字节;(2) <strong>梯度</strong>:2Ψ;(3) <strong>优化器状态</strong>:Adam 的 m、v 各 4Ψ(FP32)+ FP32 master 权重 4Ψ = <strong>12Ψ</strong>;(4) <strong>激活</strong>:需保存各层中间结果用于反向,量级 ∝ L×B×S×d(层数 × batch × 序列长度 × 维度),对长序列可达数十 GB。故<strong>总显存 ≈ 16Ψ + 激活</strong>(16 = 2 参数 + 2 梯度 + 12 优化器)。以 7B 模型为例:16×7G ≈ 112 GB(不含激活),这就是'7B 模型需多卡训练'的原因;而推理只需 2Ψ ≈ 14 GB(BF16),故'训练显存 ≫ 推理显存'。<strong>优化方向对应三个瓶颈</strong>:优化器状态 → ZeRO/8-bit Adam;参数/梯度 → 分片(FSDP/ZeRO-3);激活 → 梯度检查点、Flash Attention、序列并行。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'16Ψ'的实用价值</strong>——面试中能快速算出'X B 模型训练需多少显存'是硬功夫;记住'16Ψ + 激活'这一公式即可。② <strong>激活的主导性</strong>——当序列长度 L 很大时(如 32k),激活显存可超过参数显存;这是长上下文训练的核心障碍,故需要检查点 + Flash Attention + 序列并行组合。③ <strong>参数量估算的工程意义</strong>——'12d²L'使你能从超参(d、L)反推参数量,验证模型配置(如 d=4096、L=32 → 12×4096²×32 ≈ 6.4B)。④ <strong>与 scaling law 的连接</strong>——参数量、数据量、计算量(≈6×参数量×token 数)三者的 scaling 关系是模型设计的指导;计算量公式 C≈6ND 是面试常考点。⑤ <strong>推理显存与 KV cache</strong>——推理的显存 = 权重 + KV cache;长上下文 + 大 batch 时 KV cache 成为主导(见 KV cache 相关题)。⑥ <strong>面试要点</strong>——被问'一个 7B 模型训练要多少显存',应给出'<strong>16Ψ + 激活</strong>'并逐项拆解(参数/梯度/优化器/激活);被问'参数在哪',答'<strong>FFN 占 2/3</strong>'。这种'能算账'的回答在系统类面试中极具区分度。
⚠️ Common Interview Pitfalls
- ✕把训练显存等同于参数量(优化器状态是大头)
- ✕忽略激活显存随序列长度的增长
🎯 Interviewer Follow-ups
- ?为什么激活显存可能超过参数显存?
- ?如何估算一个 7B 模型的训练显存需求?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.