抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

参数量通常是我们认识一个大模型时最先看到的数字。不过,知道模型有多少参数,还不足以判断它需要多少显存、一次生成又要做多少计算。以一个 8B 模型为例,用 BF16 保存权重大约需要 16 GB,但运行时还要容纳 KV Cache、中间激活和临时工作区,因此 16 GB 显存未必能完成推理。Mixtral 8×7B 则提供了另一个例子,它总共有约 47B 参数,每个 token 参与计算的参数却只有约 13B。

这些差别都可以从模型实际执行的运算中得到解释。参数量取决于模型包含哪些权重,计算量还与这些权重被使用的次数有关,而显存占用则要进一步考虑运行过程中同时保留了哪些张量。三者有共同的结构基础,也各自依赖不同的条件。

本文从一层 Transformer 的矩阵形状出发,逐步推导这三个量的估算方法,并用 Llama 和 Mixtral 的配置核对结果。我们关心的不只是公式本身,也包括公式中各项的来源,以及哪些实现细节会使实际结果偏离估算。文中的“B 参数”表示十亿个参数;容量使用 GiB 时,按 2302^{30} 字节计算。

搜索文章