跳到主内容

参数量是怎么数出来的?从矩阵尺寸算总账

2026-10-18 发布 来源:我告诉你AI导航 阅读

大模型官方页面上写着 7B、70B、671B,这些数字就是参数量:模型里所有权重矩阵中可调节数值的总和。它不是估出来的,而是把每一层的矩阵尺寸逐项相乘再累加出的总账。看懂这份账本,你就能核对一个模型的规模宣传是否对得上,也能解释为什...

大模型官方页面上写着 7B、70B、671B,这些数字就是参数量:模型里所有权重矩阵中可调节数值的总和。它不是估出来的,而是把每一层的矩阵尺寸逐项相乘再累加出的总账。看懂这份账本,你就能核对一个模型的规模宣传是否对得上,也能解释为什么有些模型标称参数很大、发布文件却没那么大。

总账从哪里开始数

数参数的输入是一份架构配置:隐藏维度、层数、词表大小、前馈层宽度。拿着配置把每层矩阵的行数乘以列数,再乘以层数,逐项相加,得到总参数量。出账通常分三块:词嵌入矩阵、注意力模块、前馈网络。

三块账各算各的,量级和对账口径都不相同。

组成部分算法量级对账时注意
词嵌入矩阵词表大小 × 隐藏维度词表 10 万、隐藏维度 4096 时约 4 亿参数算不算嵌入层,各家口径不一
注意力模块四个投影矩阵各为隐藏维度 × 隐藏维度,相加再乘层数随层数线性增长头数翻倍不增加参数
前馈网络隐藏维度 × 前馈宽度 × 2 × 层数隐藏维度 4096 时一层约 9000 万,约占全部参数三分之二稠密模型里的大头
MoE 专家前馈每位专家都是一整套完整的前馈矩阵,逐位累加路由器本身参数很少最容易漏掉的一笔账

词嵌入矩阵的尺寸是词表大小乘以隐藏维度。词表 10 万、隐藏维度 4096 的模型,仅这一块就约 4 亿参数。可带走的判断:分词器把词表做得越大,嵌入层越占地方——词表怎么被切出来,见 字节级分词 的拆解。

一层注意力里的账目

注意力模块有四个主要投影矩阵:Q、K、V 和输出投影,每个都是隐藏维度乘以隐藏维度。四个相加再乘以总层数,就是注意力部分的总账。这里有个常见误会:多头注意力不会增加参数,它只是把一个大矩阵按头切开并行计算,矩阵总尺寸不变。

所以听到「头数翻倍参数翻倍」的说法,多半是把计算组织方式误解成了矩阵规模。参数由隐藏维度决定,头的数量只决定切成几份来算。

前馈层为什么占大头

前馈网络由两个矩阵组成,先把隐藏维度放大到约四倍,再缩回来。以隐藏维度 4096 为例,前馈宽度通常在一万上下(各家取值不同,以官方技术报告为准),两个矩阵一层就约 9000 万参数,明显超过注意力部分。经验判断:多数稠密模型里,前馈层要吃掉全部参数的三分之二左右。

这解释了为什么同样是几十亿参数,不同模型的账目结构并不相同:有的加宽前馈层换推理能力,有的把预算留给更长的上下文。想知道某家模型的具体配置,技术报告比新闻稿可靠。

为什么 7B 不是一个精确数

7B 是取整后的口径。实际总账按矩阵逐项加出来可能是 6.74B,四舍五入成 7B。另外「算不算嵌入层」「算不算路由器」各家口径不一,对比两个模型前要先对齐口径。在同一个 模型家族 里,不同尺寸变体遵循同一套记账规则,只是各层宽度不同,这也是家族内参数量能按倍数排开的原因。

还有一笔容易漏掉的账:MoE 结构的模型,路由器本身参数很少,但每位专家都是完整的前馈层,总账要把所有专家加进去,机制见 MoE 路由 的拆解。

参数量速查清单

  • 嵌入层:词表大小 × 隐藏维度
  • 注意力:隐藏维度 × 隐藏维度 × 4 × 层数
  • 前馈:隐藏维度 × 前馈宽度 × 2 × 层数
  • MoE:再累加每位专家的前馈矩阵
  • 对账前先确认口径是否包含嵌入层

核对一份模型卡时按这五行逐项加一遍,与标称值差距超过一成,多半是口径没对齐。

参数量是账面数字,实际显存占用还要看存储精度:同一个 7B 模型,16 位存放约 14GB,压到 4 位只要几个 GB,压缩的机制见 量化取整。在 ModelScope 这类平台上,同一模型常挂着多个精度的版本,下载前对一眼参数量与文件体积是否匹配。Kimi、豆包这类助手背后模型的账本,同样能用这套方法粗估。

关于参数量再多问三句

  • 参数量翻倍,显存占用也会翻倍吗?:大致如此但不严格。显存里还装着缓存和中间计算结果,长对话时这部分增长比参数本身更快。
  • 7B 和 8B 的模型谁更强?:不能只看它。账面接近时,训练数据质量与架构细节的影响往往更大,以实测表现为准。
  • 嵌入层占总账一成算多吗?:小模型词表相对大,占比超过一成很常见;大模型里会被摊薄。判断前先确认词表大小。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]