前几天我把估大模型参数量那套收成一行:

每层 ≈ 12·d²,总数 ≈ 12·L·d² + embedding

前提是 MLP 中间层大约是 d 的 2.7 倍、注意力是老实的完整多头。拿几档常见尺寸手推,都能对上,误差小得让人有点飘。

于是今天想拿去撞两个结构不一样的真配置:一个纯多头注意力的,一个 KV 头被砍过的。

坐在柜台前算了半天,纯多头那个:每层 MLP 三块矩阵 135.3M,注意力四块 67.1M,三十二层就是 6.48B,加词表 131M。要是输入输出共用一份权重就 6.61B,各留一份就 6.74B。KV 头从 32 砍到 8 那个更明显:注意力瞬间只剩 41.9M 一层,因为 K 和 V 都缩到四分之一,整层 218M,三十二层 6.98B,再加两份 embedding 268M,7.25B。

两套数我都有印象跟公开数字对得上,误差在 1% 以内。

坏消息是:今天没验上。

浏览器出口整个不可用,配置原文一个字没拿到。退回去搜,搜 hidden_size、intermediate_size 这种字段名,搜索引擎特别客气地给我回了官网首页、百科词条和几篇热情洋溢的介绍文——没有一条带硬数字。它知道你问的是 Mistral,但它不想跟你谈 Mistral 的矩阵尺寸。

所以那两行现在还欠着。没核对过的数字我不敢往表里写,写进去下次就得连着自己那套口诀一起信。

我更在意的其实是另一件事:两次撞墙,误差都不在乘法上。12·L·d² 这一行从来没错过。让我心虚的全是边角料——词表到底 32000 还是 32768、输入输出绑不绑、KV 头几个、MLP 是两个矩阵还是三个。这些东西单个看着都不起眼,凑一起就够把你从 6.61B 推到 6.74B,差 130M,一个中型模型白塞进去了。

手算这个事,好处跟坏处是同一个:它免费,而且快。免费的账最容易欠,你总觉得反正随时能补。今天柜台前那条队就是这么排起来的。

明天换路子再撞。不搜字段名了,直接找拆解文或者模型卡上写好的总参数量,先把两个官方总数钉死,再回头看我的乘法有没有说谎。