ai大模型参数数量怎么算:按Transformer拆块统计并避开重复计数
公告:铁柱资源网为用户提供最新的原创技术教程,还有电脑技巧以及其他日常信息 游戏资讯等 让我们的生活更加精彩有乐趣!铁柱网原先域名:qq8m.com,部分地区打不开,新域名:qq8m.com,qq8m.com,qq8m.com重要的事情说三遍
铁柱资源网零五网/教育资料ai大模型参数数量怎么算:按Transformer拆块统计并避开重复计数

ai大模型参数数量怎么算:按Transformer拆块统计并避开重复计数

ai大模型参数数量怎么算:按Transformer拆块统计并避开重复计数

2026-11-03 19:32:37 · 未来漫剧资产图

大模型参数数量通常按模型所有可学习张量中的标量元素逐个相加:总参数 = 词嵌入 + 每层(注意力 + 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 和输出头是否带偏置,要看具体配置
Transformer单层剖面示意图:注意力、前馈网络、归一化与输出头

一个可复算的算例:32层、隐藏4096、8个KV头

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

这个算例的价值在于过程可复核:改动层数、隐藏维度、KV头数或是否共享词嵌入,都能按同一公式替换。不要把这个假设配置当成某个真实模型的官方参数表;真实模型还可能有额外偏置、位置嵌入、专家层或并行结构。

  • 词嵌入:32000×4096=131,072,000
  • 每层注意力:Q与O各4096×4096,K与V各4096×1024,合计41,943,040
  • 每层MLP:3×4096×11008=135,266,304
  • 每层两个RMSNorm:2×4096=8,192;每层合计177,217,536
  • 32层合计:177,217,536×32=5,670,961,152
  • 加词嵌入131,072,000与最终RMSNorm 4,096,总数约5,802,037,248,即约58.0亿参数;若输出头不共享,再加131,072,000

四个最容易算错的地方:GQA、MoE、共享权重与偏置

GQA或MQA 不是把 K、V 仍按 h×h 算,而是按实际 KV 宽度算;否则会把参数量高估。MoE 则要分开总参数与激活参数:总参数统计所有专家和共享层,激活参数只计每个Token实际经过的共享部分与选中的Top-k专家,路由器参数另算。

共享权重常见于词嵌入与输出头绑定,统计总量时只保留一份;若模型卡分别列出两项,需要确认是否已去重。偏置和归一化变体同样影响结果:带偏置的LayerNorm、带线性偏置的注意力或MLP,都会增加长度等于输出维度的参数;只带权重的RMSNorm则少一半。

  • 看到4h²就套用:先确认是不是标准MHA
  • 把全部专家相加得到总参数,把Top-k路径相加得到激活参数,两者不能混报
  • 词嵌入和LM Head共享时,只算V×h一次
  • RoPE通常无位置嵌入参数,可学习绝对位置嵌入则有
  • 量化后的字节数、优化器状态和KV Cache不是模型参数量

从算出的参数量到显存估算:只做单位换算,不混淆训练与推理

参数量只回答“有多少个可学习数值”,不直接等于显存占用。推理时权重大致按“参数量×每参数字节数”估算,例如FP16约2字节/参数、INT8约1字节/参数,再叠加运行时缓冲和KV Cache;训练还要保存梯度、优化器状态和中间激活,通常远高于权重本身。

核对第三方数字时,先找模型配置中的词表大小、隐藏维度、层数、中间维度、注意力头数、KV头数、是否共享词嵌入和归一化类型,再按公式重算。若对方只给一个总数而没说总参数、激活参数或是否含输出头,先把它当作口径不明,不要直接拿来做显存或成本比较。

  • 推理权重显存粗估:参数量×每参数字节数,另留缓冲
  • 训练显存不能只按权重字节数乘倍数,要按具体并行策略和优化器
  • 比较两个模型时统一口径:总参数或激活参数、是否共享、是否含偏置

关键词:大模型参数量计算、Transformer参数量、GQA参数计算、MoE总参数与激活参数、模型参数量公式、大模型显存估算

点击这里复制本文地址 以上内容由铁柱网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,版权违规,投诉请联系我们,谢谢!


扫码关注“铁柱网”微信公众号
更多精彩,等你来撩

有好的文章或资源希望【铁柱网】帮助分享推广,猛戳这里我要投稿

支持Ctrl+Enter提交
qrcode

铁柱资源网 © All Rights Reserved.  

嘿,欢迎咨询