大模型参数数量通常按模型所有可学习张量中的标量元素逐个相加:总参数 = 词嵌入 + 每层(注意力 + MLP + 归一化)× 层数 + 最终归一化 + 输出头;若词嵌入与输出头共享权重只算一次。计算时要区分总参数与激活参数、可训练参数,不要把Token数、浮点运算次数或文件字节数当成参数量。
先定口径:数的是可学习标量,不是文件字节或Token数
参数数量的基本单位是一个可学习标量。一个形状为 m×n 的权重矩阵贡献 m×n 个参数;长度为 n 的偏置或归一化向量贡献 n 个。把模型里所有这类张量的元素数相乘后相加,就是常说的参数量。7B 表示约70亿个参数,不是70亿个Token,也不是70亿次浮点运算。
同一模型可能有三套数字:总参数、可训练参数、每Token激活参数。全量预训练时通常三者接近;冻结部分层、只训练适配器,或使用MoE时就会分开。比较模型时先问清口径,再看是否把词嵌入与输出头共享权重只算一次。
- 权重矩阵:参数量=行数×列数
- 偏置、缩放和归一化向量:参数量=向量长度
- 共享张量:只计一次,不要重复加
- 存储大小≠参数量:FP16约2字节/参数,INT8约1字节/参数,另有元数据和运行时开销

按Transformer逐块套公式:嵌入、注意力、MLP、归一化、输出头
以常见的仅有解码器的Transformer为例,设隐藏维度为 h、层数为 N、词表大小为 V。总参数可写成:总参数 = 词嵌入 + N×每层参数 + 最终归一化 + 输出头。每层参数 = 注意力 + MLP + 该层归一化;若有线性偏置、位置嵌入或其他模块,再逐项追加。
标准多头注意力(MHA)的四个投影矩阵各为 h×h,权重合计 4h²;若每层还有四个长度为 h 的偏置,再加 4h。分组查询注意力(GQA)把 K、V 的宽度缩小为 kv_dim,通常等于 KV头数×每头维度,此时注意力权重为 2h² + 2h×kv_dim。
MLP 的算法取决于结构。普通两层前馈若中间维度为 4h,两个权重矩阵合计 8h²;SwiGLU 等门控结构常用三个 h×i 矩阵,合计 3h×i。归一化也要按实际类型算:LayerNorm 常有权重和偏置两个长度 h 的向量,即 2h;只带缩放权重的 RMSNorm 是 h。
- 词嵌入:V×h;若使用可学习绝对位置嵌入,再加最大位置数×h;RoPE 通常不增加位置参数
- 输出头:未共享时 h×V;与词嵌入共享时通常不再重复计
- 每层归一化数量按架构数,不要默认固定为两个
- 偏置项容易被忽略:线性层、LayerNorm 和输出头是否带偏置,要看具体配置

一个可复算的算例:32层、隐藏4096、8个KV头
假设一个教学用模型:V=32000,h=4096,N=32,SwiGLU 中间维度 i=11008,KV头数8、每头维度128,因此 kv_dim=1024;使用 RMSNorm、词嵌入与输出头共享、线性层不带偏置。按上面的口径逐步算:


