Transformer 参数量
Transformer 参数量估算器,输入层数、维度等估算主体与嵌入参数量,用于模型规模评估与显存预估。
🏋️ Transformer Parameter Estimator
Estimate the parameter count of a Transformer from layer count, hidden size and vocabulary, separating body and embedding parameters.
📐 计算公式 / 原理
主体参数 ≈ 12·L·d²;嵌入参数 ≈ vocab × d
每层含 Q/K/V/O 四个 d×d 矩阵(4d²)与两层 FFN(通常 4d 宽,共 8d²),合计 12d²,乘层数 L 即得主体规模;词表嵌入另计 vocab×d(若解绑则输出层再加一份)。实际模型还有 LayerNorm 等小量参数,估算值略偏小。
📐 计算公式与说明
近似 12·L·d²(含注意力与 FFN)
实际随具体架构大幅浮动。
📚 深度解析:Transformer 参数量
💡 常见使用场景
- 标准 Transformer 每层参数量≈12·L·d²(L 层数、d 模型维度),含自注意力与 FFN。
- token 嵌入≈V·d(V 词表大小),位置编码若可学习再加 d 或 V·d。
- 总参数量用于显存与算力预算,是模型规模评估的核心指标。
参数量估算
L=12, d=768, V=50000:每层≈12×768²≈7.08M,12 层≈85M;嵌入 50000×768≈38.4M;合计≈123M(典型 BERT-base 量级)。
❓ 常见问题(FAQ)
- 为什么 FFN 占参数最多?
- 标准 FFN 内部维度常 4d,其两层权重约 8d²,而注意力 Q/K/V/O 共 4d²,故 FFN 占每层约 2/3 参数;这也是大模型压缩的重点。
- 词表越大参数越多吗?
- 是。嵌入层≈V·d 随词表线性增长;为控参数量常用子词分词限制 V,或用因子分解嵌入降低维度开销。