Day5 学习日志:Transformer 与 GPT-3 参数量底层推演
日期:2026-03-19
定位:Transformer 核心架构 + GPT-3 (175B) 参数量精确推演
GPT-3 (175B) 参数量底层精确推演
大模型不是玄学。作为工程师,要从矩阵维度出发,看透这 1750 亿个参数是如何在 96 层 Decoder 中分布的。
核心配置清单 (Architecture)
- 隐藏层维度 (d_{model}):12288
- 总层数 (L):96 层
- 注意力头数 (n_{heads}):96 头
- 单头维度 (d_{head}):128(12288 / 96)
单层 Decoder 参数分布 (Per Layer)
每一层 Decoder 的参数主要由 Self-Attention 和 FFN 构成。参数量遵循:(12 \times d_{model}^2)。
1. Multi-Head Attention 模块(占比约 1/3)
- (W_Q, W_K, W_V):逻辑上 96 个头各 128 维,物理上拼成三个 (12288 \times 12288) 大矩阵。参数量:(3 \times 12288^2)。
- (W_O) 输出投影:将多头输出融合回 (d_{model})。参数量:(1 \times 12288^2)。
- 小计:(4 \times d_{model}^2 \approx 6.04) 亿参数。
2. FFN (Feed-Forward Network) 模块(占比约 2/3)
负责“知识存储”,是参数大户。
- (W_1)(升维):12288 → 4×12288 = 49152。参数量:(4 \times 12288^2)。
- (W_2)(降维):49152 → 12288。参数量:(4 \times 12288^2)。
- 小计:(8 \times d_{model}^2 \approx 12.08) 亿参数。
从单层到 175B 的汇总
- 单层总计:((4 + 8) \times 12288^2 \approx \mathbf{18.1 , 亿})。
- 96 层:(18.1 , B \times 96 \approx \mathbf{1737 , 亿})。
- 词嵌入:词表约 5 万 × 12288 (\approx \mathbf{6 , 亿})。
- 最终:1737 + 6 (\approx \mathbf{1743 , 亿})(即 175B)。
深度思考 (Engineering Insights)
- 为什么 FFN 是 Attention 的约 2 倍? Attention 负责“建立关联”,FFN 负责“处理与存储信息”;LLM 需要巨大空间记忆事实,所以 FFN 必须足够大。
- 参数量与显存:FP16 下 1 参数 ≈ 2 字节,1750 亿 × 2 ≈ 350 GB 仅权重,不含 KV Cache 与激活。
今日学习回顾
- 点乘的几何意义:向量方向一致性((\cos\theta))。
- QKV 维度:Q、K 必须相等才能点乘;V 工程上通常与 Q/K 对齐。
- LLM 生命周期:预训练(定参数)→ SFT(学格式)→ RLHF(定偏好)。
- 多头并行:大矩阵拼接后再 Reshape,而非真正“分开算”。