LLM模型的参数量估计
LLM参数量越大,学习能力越强,也越难训练。这里参考网络资料,尝试估计LLM模型的参数量。
目前LLM主要由L个transformer层组成,先估计transformer参数量,然后总体估计LLM参数量。
1 transformer
每个transformer层分为两部分: 自注意力块和MLP块,这里分别估计他们的参数量,然后整体估计transformer的参数量。
1.1 自注意力
自注意力块参数有q、k、v的权重矩阵Wq、Wk、Wv和对应的偏置,输出权重矩阵Wo和偏置。
这4个权重矩阵的形状未[h, h],4个偏置参数的形状为[h]。
因此,自注意力块的参数量如下
1.2 MLP
MLP目前主要由两个线性层组成。
第一个线性层先将维度从h映射到4h,对应权重矩阵W1为[h, 4h],偏置形状为[4h];
第二个线性层再将维度从4h映射到h,对应权重矩阵W2为[4h, h],偏置形状为[h]。
因此,MLP的参数亮如下
1.3 归一化
自注意力和MLP块各有一个归一化层(Layer Normalization)。每个归一化层包含了两个可训练的模型参数:缩放参数γ和平移参数β,形状均为[h]。2个归一化层的参数量为4h。
1.4 transformer
综合以上估计,因此每个transformer层的参数量估计如下
2 其他参数
LLM除transformer层外,还有词嵌入层参数和位置编码参数。
2.1 词嵌入层
词向量维度通常等于隐藏层维度h,词嵌入矩阵的参数量为Vh,V为此词表长度,通常在5万量级。
最后输出层权重矩阵,通常与词嵌入矩阵参数共享。
2.2 位置编码
如果采用可训练式的位置编码,会有一些可训练参数,但数量比较少。
如果采用相对位置编码,如RoPE,则不包含可训练的模型参数。
所以这部分可忽略。
3 LLM参数总计
综合以上分析,L层transformer的LLM可训练参数量估计如下。
当隐藏层较大时,即h较大,可以或略13h和Vh项,模型参数量近似为
reference
---
分析transformer模型的参数量、计算量、中间激活、KV cache
https://zhuanlan.zhihu.com/p/624740065